Menu
Linux系统下病毒清除方法之随机10字符病毒清除
Linux系统下病毒清除方法之随机10字符病毒清除,随机10字符病毒的特征是在/usr/bin下面自动生成多个进程文件,文件名以10个英文字母随机命名,该病毒主要用于服务器向外发包
服务器不停向外发包,网络流量跑高且CPU使用率间断性达到2000%。通过xshell工具远程登录后发现有随机字符串进程,kill掉后会重新生成新的字符串进程。删除源文件也会重新生成,主进程不变,总是产生几个辅助进程,这说明主进程会快速产生几个子进程,然后这些进程之间相互检测,一旦检测到病毒主体被删除或更改,就会再产生一个新的字符串进程。
随机10字符病毒
一、病毒原理剖析
1、使用ps -ef | grep '字符串'命令是无法检测到,查阅crond相关日志,发现实际执行的内容为/lib/libudev.so。使用crontab命令检测
[root@k8s-node-2 ~]# crontab -l no crontab for root [root@k8s-node-2 ~]# 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
 
系统级任务存放在/etc/crontab下,一般不会去编辑,用户级任务crontab -e/var/spool/cron/username里创建一个crontab文件
[root@k8s-node-2 ~]# cat /etc/cron.hourly/gcc.sh #!/bin/sh  for i in `cat /proc/net/dev|grep :|awk -F: {'print $1'}`; do ifconfig $i up& done PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/X11R6/bin cp "/lib/libkill.so" "/lib/libkill.so.6" "/lib/libkill.so.6"
分析gcc.sh文件,基本能看出它的原理: 
/lib/libkill.so是病原体,通过cron.sh每隔3min自动检测一次,如果木马程序不存在,就从病原体复制一份儿到/lib/libkill.so.6 
副本/lib/libkill.so.6执行,生成一个随机命名的程序,丢到/usr/bin//boot等目录 
同时修改了自启动配置chkconfig –add xxx,同时修改自启动项/etc/rc.local
二、解决办法
1)使用top命令查看病毒pid为18722,不要直接kill掉程序,否则会再产生,而是停止其运行
kill -stop 18722
2)删除相关病毒文件
rm -rf /etc/cron.hourly/gcc.sh find /etc -name '*ronlhpaqim*' | xargs rm -f rm -f /usr/bin/ronlhpaqim
3)查看/usr/bin最近变动的记录,如果是病毒一并刪除,其他可疑的目录也一样
ls -lt /usr/bin | head
4)删除病毒本体
rm -f /lib/libkill.so.6 /lib/libudev.so
三、总结 
1)/proc里面的东西是可以更改的;
2)留意/etc/crontab/etc/cron.*下的几个任务目录 
3)木马程序的出现且是root账号下,应该是redis漏洞或etcd存储仓库引起
四、写在最后
随机10字符病毒清除不是重点多点是修复系统漏洞,是脚本木马不能再被上传到系统,主要修复思路如下
1.加强SSH防御,如非必要关闭SSH端口,非要开启必须修改默认22端口,并限制密码尝试登陆次数,详见
centos7优化ssh客户端登录安全的配置
2.关闭不必要的端口,开启修通防火墙,将常用端口80,3306等加入防火墙例外
3.加固linux操作系统,使用linux安全软件,这里推荐
ClamAV,具体安装详见linux安全软件ClamAV编译安装和使用