轉自:http://support.huawei.com/ecommunity/bbs/10270116.htmlhtml
故障表現:nginx 登錄服務器執行sar –n DEV,查得向外流量輸出達到120Mbit/s多,cacti顯示佔滿總出口流量web
故障判斷:apache
故障排查:服務器
還有***病毒在top裏面表現爲隨機的10位字母的進程,看/proc裏面的信息,則爲ls,cd之類常見的命令。殺死該進程後,會再隨機產生一個新的進程,刪除這些***文件後,會再從新生成新的***文件。由此能夠判斷,***病毒會自動修復,多個進程之間會互相保護,一旦刪除和被殺,當即從新啓動和複製。ide
/boot 中有隨機的10位字母的進程執行文件,且有部分系統命令被替換 /bin 中有隨機的10位字母的進程執行文件,且有部分系統命令被替換 /sbin 中有隨機的10位字母的進程執行文件,且有部分系統命令被替換 /usr/bin 中有隨機的10位字母的進程執行文件,且有部分系統命令被替換 /usr/sbin 中有隨機的10位字母的進程執行文件,且有部分系統命令被替換 /u02/apache-tomcat-6.0.41/bin 中有L26_1000的異常程序 /etc/init.d 中有隨機的10位字母的進程執行文件 /etc/rc.d/rc[0-6]d 中有隨機的10位字母的進程執行文件 /etc/rc.local ***已被寫入啓動項 /etc/crontab ***已被寫入crontab中,每3分鐘執行一次 /etc/cron.hourly ***已被寫入cron每小時執行的腳本中
gnome-terminal ls -a route -n netstat -antop ifconfig sh cd /etc bash who cat resolv.conf ps -ef cat resolv.conf 2) ps -AfH,顯示爲以上的命令,可是ppid(父id)爲1,則爲init,因此這個應該是跟某個服務相關的。 ps-AfH root 17796 1 0 11:54 ? 00:00:00 route -n root 18008 1 0 11:55 ? 00:00:00 netstat -antop root 18011 1 0 11:55 ? 00:00:00 ifconfig root 18014 1 0 11:55 ? 00:00:00 sh root 18015 1 0 11:55 ? 00:00:00 cd /etc root 18016 1 0 11:55 ? 00:00:00 bash root 18028 1 0 11:55 ? 00:00:00 who root 18031 1 0 11:55 ? 00:00:00 cat resolv.conf root 18033 1 0 11:55 ? 00:00:00 ps -ef
用pstree能夠看到真實的名字: |-irqbalance--pid=/var/run/irqbalance.pid |-jbguikdekd |-jbguikdekd |-jbguikdekd |-jbguikdekd |-mingetty/dev/tty2 |-mingetty/dev/tty3 |-mingetty/dev/tty4 |-mingetty/dev/tty5 |-mingetty/dev/tty6
3)憑經驗檢查crontab,經查找在/etc/cron.hourly/裏面寫入如下內容: #cat /etc/cron.hourly/kill.sh #!/bin/sh PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/X11R6/bin fori in `cat /proc/net/dev|grep :|awk -F: {'print $1'}`; do ifconfig $i up&done cp/lib/libudev.so /lib/libudev.so.6 /lib/libudev.so.6
從這個地方能夠看到病毒本體:/lib/libudev.so,這個文件看起來應該是一個庫文件,可是用file查看,這個文件則爲一個可執行文件,請注意下面的兩個文件,一個爲executable(可執行的),另外一個則爲正常的共享庫(shared object): #file libudev.so libudev.so:ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), statically linked,for GNU/Linux 2.6.9, not stripped
正常的庫文件應該爲: #file libutil-2.12.so libutil-2.12.so:ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked(uses shared libs), for GNU/Linux 2.6.18, not stripped
把這個文件取消可執行權限,可是病毒故障依舊。
4) 由於這個病毒不斷自我啓動,而且父進程號爲1,因此應該和init有關,因此查看/etc/init.d,發現裏面果真有啓動項,刪除之。在/etc/rc.d/rc3.d/裏面,也有相似的好幾個啓動項,一併刪除。 刪除後,發現仍然不能殺死,殺死後立刻重建一個新的,用lsof 查看: #lsof -R | grep "/usr/bin" top 9512 9478 root txt REG 253,0 63856 421158 /usr/bin/top fhmlrqtqv17161 1 root txt REG 253,0 625729 393335/usr/bin/fhmlrqtqvz fgqnvqzzc17226 1 root txt REG 253,0 625740 393427/usr/bin/fgqnvqzzck (deleted) fgqnvqzzc17229 1 root txt REG 253,0 625740 393427/usr/bin/fgqnvqzzck (deleted) fgqnvqzzc17232 1 root txt REG 253,0 625740 393427/usr/bin/fgqnvqzzck (deleted) fgqnvqzzc17233 1 root txt REG 253,0 625740 393427/usr/bin/fgqnvqzzck (deleted) fgqnvqzzc17234 1 root txt REG 253,0 625740 393427/usr/bin/fgqnvqzzck (deleted) # lsof -R fhmlrqtqv17161 1 root cwd DIR 253,0 4096 2 / fhmlrqtqv17161 1 root rtd DIR 253,0 4096 2 / fhmlrqtqv17161 1 root txt REG 253,0 625729 393335/usr/bin/fhmlrqtqvz fhmlrqtqv17161 1 root 0u CHR 1,3 0t0 4023 /dev/null fhmlrqtqv17161 1 root 1u CHR 1,3 0t0 4023 /dev/null fhmlrqtqv17161 1 root 2u CHR 1,3 0t0 4023 /dev/null fhmlrqtqv17161 1 root 3u IPv4 50163 0t0 UDP *:57331 ynmsjtlpw17272 1 root cwd DIR 253,0 4096 2 / ynmsjtlpw17272 1 root rtd DIR 253,0 4096 2 / ynmsjtlpw17272 1 root txt REG 253,0 625751 393426 /usr/bin/ynmsjtlpwp (deleted) ynmsjtlpw17272 1 root 0u CHR 1,3 0t0 4023 /dev/null ynmsjtlpw17272 1 root 1u CHR 1,3 0t0 4023 /dev/null ynmsjtlpw17272 1 root 2u CHR 1,3 0t0 4023 /dev/null ynmsjtlpw17275 1 root cwd DIR 253,0 4096 2 / ynmsjtlpw17275 1 root rtd DIR 253,0 4096 2 /
5)lsof再次查看: 再次快速重複查看:# lsof -R | grep "/usr/bin",發現主進程不變,老是產生幾個輔進程,而且一直處於dedeted狀態,這說明主進程會快速產生幾個子進程,而後這些進程之間相互檢測,一旦檢測到病毒主體被刪除或更改,就會再產生一個。
故障解決: 1、將被感染的文件路徑列表中的***文件設置成000權限,即chmod 000,確保再也不執行 2、刪除/etc/rc.local,/etc/crontab,/etc/cron.hourly裏面的***程序配置,保證不自動啓動; 3、刪除將被感染的文件路徑列表中的***文件 四、殺掉全部***進程。 5、鎖定將被感染的文件路徑列表中的目錄不可更改:如chattr +i /usr/bin這樣保證新產生的病毒寫不到裏面去。 6、ps –ef再次檢查,發現***進程後,重複以上步驟 7、當前已被我鎖定的目錄和文件以下: ----i-------- /etc/cron.hourly ----i--------/etc/crontab ----i--------/etc/rc.local ----i--------/etc/init.d ----i-------- /u02/apache-tomcat-6.0.41 ----i-----I-- /u02/apache-tomcat-6.0.41/bin ----i--------/u02/apache-tomcat-6.0.41/webapps ----i--------/bin ----i--------/boot ----i-----I-- /usr/sbin ----i-----I--/usr//bin |