服務器不停的向外發包,且CPU持續100%,遠程登錄后查看發現有一長度為10的隨機字符串進程,kill掉,會重新生成另外長度為10的字符串進程。刪除文件也會重復生成,非常痛苦。查閱crond相關日志,發現實際執行的內容為/lib/libudev.so ,以此為關鍵字進行查詢,找到如下內容:
1.1 工具/原料
- Linux系統
- 病毒文件libudev.so
1.2 方法/步驟
1.網絡流量暴增,使用?top?觀察有至少一個?10?個隨機字母組成的程序執行,佔用大量?CPU?使用率。刪除這些程序,馬上又產生新的程序。
2.檢查?cat /etc/crontab?發現定時任務?每三分鐘執行一個腳本gcc.sh
?
*/3 * * * * root /etc/cron.hourly/gcc.sh
?
查看病毒程式?gcc.sh,可以看到病毒本體是?/lib/libudev.so。
?
[root@deyu?~]#?cat?/etc/cron.hourly/gcc.sh
#!/bin/sh
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/X11R6/bin
for?i?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
?
刪除上一行例行工作?gcc.sh,并設定?/etc/crontab無法變動,否則馬上又會產生新的文件。
?
[root@deyu?~]#?rm?-f?/etc/cron.hourly/gcc.sh?&&?chattr?+i?/etc/crontab
?
?
使用?top?查看病毒為?mtyxkeaofa,id?為 16621,不要直接殺掉程序,否則會再次產生新的文件,而是停止其運行。
?
[root@deyu?~]#?kill?-STOP?16621
?
刪除?/etc/init.d?內的檔案。
?
[root@deyu?~]#?find?/etc?-name?'*mtyxkeaofa*'?|?xargs?rm?-f
?
刪除?/usr/bin?內的檔案。
?
[root@deyu?~]#?rm?-f?/usr/bin/mtyxkeaofa
?
查看?/usr/bin?最近變動的檔案,如果是病毒也一併刪除,其他可疑的目錄也一樣。
?
[root@deyu?~]#?ls?-lt?/usr/bin?|?head
?
現在殺掉病毒程序,就不會再產生。
?
[root@deyu?~]#?pkill?mtyxkeaofa
?
刪除病毒本體。
[root@deyu?~]#?rm?-f?/lib/libudev.so
?
使用此方法?可以完全清除此病毒。
1.3 注意事項
- /proc里面的東西是可以更改的;
- lsof還比較忠誠,不直接讀取/proc里面的信息,ps看到的就不一定真實,top看到的進程還是正確的。 附:find -o參數就是邏輯運算的or