前言
上传文件的时候发现总是失败,查看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: 5180110Engine version: 0.99.2Scanned directories: 29655Scanned files: 167613Infected files: 9Total errors: 22919Data scanned: 8238.96 MBData 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/crontabSHELL=/bin/bashPATH=/sbin:/bin:/usr/sbin:/usr/binMAILTO=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 | headtotal 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
到目前为止,还没看到新的病毒产生。杀毒完成。
参考
- , linuxdiyf, 2016
- ,Linux公社,2013
- , 2012
- ,csdn,2016