Linux系統隨機10字符病毒的清除

Linux系統隨機10字符病毒的清除

轉自:http://support.huawei.com/ecommunity/bbs/10270116.html

故障表現:

登陸服務器執行sar –n DEV,查得向外流量輸出達到120Mbit/s多,cacti顯示佔滿總出口流量

 

故障判斷:

  1. 關閉所有對外應用服務,即tomcatnginxvsftp,但關閉之後發現流量依然非常高

  2. 使用Ps –efnetstat -ntplua檢查可疑進程和端口,發現有進可疑進程netstat ps lsof等系統命令跑在/usr/bin/dpkgd目錄裏,而原系統命令已失效,得知系統已中***病毒程序

 

故障排查:

  1. 用其他服務器上相同系統版本的命令替換回netstat ps lsof等系統命令

  2. 憑經驗查看tomcat的目錄內容是否存在***程序,發現果然有L26_1000的異常程序存在,但刪除之後,立馬又重新生成。

還有***病毒在top裏面表現爲隨機的10位字母的進程,看/proc裏面的信息,則爲lscd之類常見的命令。殺死該進程後,會再隨機產生一個新的進程,刪除這些***文件後,會再重新生成新的***文件。由此可以判斷,***病毒會自動修復,多個進程之間會互相保護,一旦刪除和被殺,立即重新啓動和複製。

  1. 被感染的文件路徑列表:

/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每小時執行的腳本中

  1. ***程序處理時的具體表徵:

  2. 1)/proc/_pid/cmdline裏面都是僞造的信息,ps顯示的內容也一樣,基本上爲下面一些常見的命令,混淆管理員眼光查詢線索,覈驗這一個,可以嘗試把who等不常見的命令禁用執行權限,但隨後卻會發現該命令不停地出現在ps -Af裏面:

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、刪除將被感染的文件路徑列表中的***文件

4、殺掉所有***進程。

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


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章