很久以前的一次意外发现,记录一下。
a) 发现
ps aux无意间发现有个进程在cat resolv.conf,由于是新机器,我也没有加脚本,一会ifconfig 一会cat resolv.conf,觉得奇怪,四处看了下,没有发现是哪个进程在运行,systemctl -l|grep running在看的时候发现cron,觉得会不会是cron有我不知道的任务,果然,cat /etc/crontab发现最后一行
1 | /3 * * * * root /etc/cron.hourly/gcc.sh |
cat一下
1 | $ cat /etc/cron.hourly/gcc.sh |
b) 处理
通过关键词 cron gcc libudev的google搜索,确定这是一个病毒程序,会随机生成一个10位字符的进程,不停向外发包,鬼知道我怎么没有发现流量有异常
1 | $ file /lib/libudev.so |
竟然是一个32位ELF程序
top查看到有一个名字奇怪的进程就是它了,我的是叫efpyfexmrl
1 | $ top -p 6818 |
在crontab下把最后一行删掉后,设置无法修改crontab,防止再次出现gcc.sh
1 | rm -f /etc/cron.hourly/gcc.sh ; chattr +i /etc/crontab |
这时不能直接kill进程,不然会再次生成新进程
1 | $ kill -STOP 6818 |
删除rc.d init.d下相关文件
1 | $ find /etc/ -name "*efpyfexmrl*"|xargs rm -f |
删除/usr/bin下程序并且检查有没有最近出现的可疑程序
1 | rm -f /usr/bin/efpyfexmrl |
现在删除掉元凶/lib/libudev.so,并kill掉之前的进程
1 | $ rm -f /lib/libudev.so* |
最后,自觉这次事故的元凶还是弱口令,赶紧重新设置了一个新的密码,千万不能存在侥幸心理,太吓人了
c) 总结
这次的事情,完全是误打误撞解决掉的,发现问题定位没有方向,连top都没有第一时间想到,必须引以为戒,不可大意
d) 参考
感谢两位大大的文章,让我解决了这个问题