天天看點

随機字母病毒

現象:

一個随機字母命名的程序,吃掉大量的cpu和網絡帶寬。如圖:

随機字母病毒

Lsof可以看到病毒的IP  59.36.97.141 東莞的IP

殺死後,立刻新生一個随機字母的程序,繼續作惡,如圖:

随機字母病毒

原因可能有兩個:有另外一個程序在守護着它,或者系統服務有相關設定。

1、尋找守護病毒的程序

Pstree可以看到這樣的程序其實有兩個,同樣是10個随機字母的程序

一個表現異常設為A,一個隐藏在背後設為B。

2、看看系統服務設定:

看了下crontab,   發現有個3分鐘就執行一個的腳本,結果順藤摸瓜,發現一個僞裝成庫的程式,file它,發現它真實個可執行檔案,ps了下,發現沒有這個名字的程序,估計是改了名字,隐藏起來,它跟B有什麼關系?然後順手就把那個庫檔案libudev.so删掉,TMD,居然發現跟A一樣,立即重生了,這裡想會不會它們是互相守護的。試試同時殺掉它們,發現還是不行。

随機字母病毒
随機字母病毒
随機字母病毒

再看看init.d   結果發現了/usr/bin/A就是A的本地,之前pwdx是查不出A的路徑的,估計是修改/proc/pid裡面的資訊。   rcX.d裡面的也有指向init.d的連結檔案,/etc/rc.d/rc<0-6>.d、/etc/rc<0-6>.d都有。

看了上面的資訊,得到解決辦法:

Kill.sh:

s90="S90${1}"

k90="K90${1}"

rm -f /etc/rc0.d/${k90}  /etc/rc4.d/${s90} /etc/rc5.d/${s90}/etc/rc6.d/${k90} /etc/rc1.d/${s90} /etc/rc2.d/${s90} /etc/rc3.d/${s90}

rm -f /etc/rc.d/rc0.d/${k90}  /etc/rc.d/rc4.d/${s90} /etc/rc.d/rc5.d/${s90}/etc/rc.d/rc6.d/${k90} /etc/rc.d/rc1.d/${s90} /etc/rc.d/rc2.d/${s90}/etc/rc.d/rc3.d/${s90}

#去掉crontab裡的3分鐘執行一次的那項

rm -f /etc/cron.hourly/gcc.sh

#阻止再新生病毒程式

chmod 000 /usr/bin/${1} && chattr+i /usr/bin

chmod 000 /bin/${1} && chattr +i/bin

chmod 000 /sbin/${1} && chattr +i/sbin

chmod 000 /usr/sbin/${1} && chattr+i /usr/sbin

chmod 000 /usr/local/bin/${1} &&chattr +i /usr/local/bin

chmod 000 /usr/local/sbin/${1} &&chattr +i /usr/local/sbin

chmod 000 /usr/X11R6/bin/${1} &&chattr +i /usr/X11R6/bin

chmod 000 /tmp/${1} && chattr +i/tmp

#殺死病毒

kill -9 ${2}

rm -f /lib/libudev.so*

殺掉後,再執行recovery.sh

chattr -i /usr/bin

chattr -i /bin

chattr -i /sbin

chattr -i /usr/sbin

chattr -i /usr/local/bin

chattr -i /usr/local/sbin

chattr -i /usr/X11R6/bin

chattr -i /tmp

反思:

病毒是什麼時候,怎樣進來的?

病毒的一些特性,對伺服器開發還是有啟發意義的