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