前言
上傳文件的時候發現總是失敗,查看top發現有個進程一直cpu占用80%以上,而且名稱還是隨機數。kill之后,一會兒又重新生成了。突然發現居然沒有在服務端殺毒的經歷。在此處補齊。
安裝clamav
http://www.linuxdiyf.com/linux/18635.html
http://www.linuxidc.com/Linux/2013-09/90021.htm
http://www.linuxidc.com/Linux/2013-08/88981.htm
掃描
clamscan -r /usr/bin -l /home/clamav.log --remove
- -r表示文件夾遞歸
- /usr/bin是病毒掃描目錄
- -l 是小寫的L,后面是日志文件
- --remove是刪除掉病毒,但如果害怕誤刪除應該--move.不過我就直接刪除了。
結果:
----------- SCAN SUMMARY -----------
Known viruses: 5180110
Engine version: 0.99.2
Scanned directories: 29655
Scanned files: 167613
Infected files: 9
Total errors: 22919
Data scanned: 8238.96 MB
Data read: 11093.36 MB (ratio 0.74:1)
Time: 1264.429 sec (21 m 4 s)
然后查看日志:
[root@121 bin]# more /home/clamav.log | grep Removed
/usr/bin/cnndpyizhj: Removed.
/usr/bin/nrklkyfekn: Removed.
/usr/bin/gdyyzgtmlj: Removed.
/usr/bin/ledzqwnycy: Removed.
/usr/bin/idtzyjxhxe: Removed.
/usr/bin/ikeabglldp: Removed.
/usr/bin/qbfqilhtiw: Removed.
/usr/bin/chwrmovzsx: Removed.
/usr/lib/libudev.so: Removed.
看到幾個病毒文件給刪除。然后病毒原體libudev.so也刪除。還以為皆大歡喜,可以睡覺了。誰知道過了沒多久,又看到病毒肆虐了。第一次這么仇恨病毒。於是百度 libudev.so找到很多隨機10字母病毒的文章。按照順序刪除文件,效果還不錯。
問題
上傳文件到服務器,發現總是卡着。以為是網路問題,結果表明是系統繁忙。罪魁禍首是一個隨機英文10字母的病毒。會在/etc/init.d下生成啟動文件,會在/usr/bin/xxxx下生成xxxx文件。kill后會重新生成新的進程和文件。所以,必須找到病毒原體。
解決
首先,查看定時任務。
crontab -l
沒有任何任務。
[root@121 init.d]# cat /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
# For details see man 4 crontabs
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed
*/3 * * * * root /etc/cron.hourly/gcc.sh
發現一個gcc腳本,不是我們創建的,顯然是病毒。查看發現原來在執行一個叫做libudev.so的腳本。

刪除病毒
我手動刪除了crontab里的任務,但發現很快又被創建了。所以必須停止掉進程。參考的幾篇文章在最后,采用了如下做法:
- kill -stop {pid} #查看top的pid,停止它而不是-9
- chmod 000 /usr/bin/xxxxxxx && chattr +i /usr/bin 最后一個鎖定目錄,不允許添加。不允許添加很重要
- cd /etc/init.d 然后刪除不認識的啟動項目
- 刪除gcc.sh
- 刪除crontab任務
- 刪除 /lib/libude.so /lib/libudev.so.6
- 刪除產生的文件
- 最后再刪除一遍crontab里重新生成的任務
[root@121 bin]# ls -lt | head
total 205196
-rwxr-xr-x. 1 root root 0 Dec 3 17:57 mtexjsonvz
-rwxr-xr-x. 1 root root 4096 Dec 3 17:30 jqgcppiqrt
-rwxr-xr-x. 1 root root 0 Dec 3 17:18 nchnwflgyw
-rwxr-xr-x. 1 root root 0 Dec 3 17:11 orymfmjitf
-rwxr-xr-x. 1 root root 4096 Dec 3 17:07 sbzqxjzvyk
-rwxr-xr-x. 1 root root 4096 Dec 3 17:04 mmmyfojril
-rwxr-xr-x. 1 root root 4096 Dec 3 16:48 dfkcgwfuff
-rwxr-xr-x. 1 root root 0 Dec 3 16:43 psuiwjkapn
-rwxr-xr-x. 1 root root 36864 Dec 3 16:43 lnovkdrabl
[root@121 bin]# rm -rf mtexjsonvz jqgcppiqrt nchnwflgyw orymfmjitf sbzqxjzvyk mmmyfojril dfkcgwfuff psuiwjkapn lnovkdrabl
過一會,看看會不會產生信息的進程。如果沒事了就解鎖/usr/bin:
chattr -i /usr/bin
到目前為止,還沒看到新的病毒產生。殺毒完成。
參考
- Centos7安裝殺毒軟件ClamAV, linuxdiyf, 2016
- 完全開源的殺病毒軟件ClamAV,Linux公社,2013
- (總結)Linux的chattr與lsattr命令詳解, 2012
- [原創]Linux下隨機10字符病毒的清除
- Linux下隨機10字符病毒的清除,csdn,2016
