代码改变世界

记一次反挖矿病毒。。。

2021-01-19 19:32  丨o聽乄雨o丨  阅读(567)  评论(0编辑  收藏  举报

这两天实验室电脑中度了,无故被占用50%cpu挖矿,且运行任何程序都会killed。

运行原理类似于,自动网上下载挖矿程序,然后rm删除程序,让你无从找到程序,有时候还会用ld.so.preload伪装,使你看不到占用资源的挖矿程序名称,在试了各种办法后,最有效的如下:

一、杜绝恶意IP访问

执行netstat查询外部ip,

1 $ netstat -ant

发现来自于荷兰的一个ip:

1 45.153.184.134

禁用ip:

1 $ iptables -I INPUT -s  45.153.0.0/16 -j DROP
2 # 保存规则
3 $ iptables-save > /etc/sysconfig/iptables
4 # 使规则生效
5 $ iptables -L

这样就禁止了此ip的访问。

 

有时,黑客会利用自启动程序在开机时对iptables进行修改,所以需要事先对iptables进行清空,在此,记录下重写iptables的过程。

清除所有规则:

1 $ iptables -F
2 $ iptables -X
3 $ iptables -Z

添加一些常用端口:

 1 #允许本地回环接口(即运行本机访问本机)
 2 $ iptables -A INPUT -i lo -j ACCEPT
 3 # 允许已建立的或相关连的通行
 4 $ iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
 5 #允许所有本机向外的访问
 6 $ iptables -A OUTPUT -j ACCEPT
 7 # 允许访问22,21,20,80端口
 8 $ iptables -A INPUT -p tcp --dport 22 -j ACCEPT
 9 $ iptables -A INPUT -p tcp --dport 21 -j ACCEPT
10 $ iptables -A INPUT -p tcp --dport 20 -j ACCEPT
11 $ iptables -A INPUT -p tcp --dport 80 -j ACCEPT
12 # 允许127.0.0.1
13 $ iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
14 $ iptables -A OUTPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEP
15 #
16 $ iptables -A OUTPUT -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT
17 $ iptables -A OUTPUT  -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT
18 #允许ping
19 $ iptables -A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
20 #运行自己指定的网段
21 $ iptables -A INPUT -p tcp -s 172.16.0.0/16 --dport 22 -j ACCEPT
22 #禁止其他未允许的规则访问
23 $ iptables -A INPUT -j REJECT  #(注意:如果22端口未加入允许规则,SSH链接会直接断开。)
24 $ iptables -A FORWARD -j REJECT

查看网络通信,查找异常IP:

1 $ netstat -ant 或者 netstat -antp

禁止挖矿网段:

1 $ iptables -I INPUT -s 198.251.0.0/16 -j DROP
2 $ iptables -I INPUT -s 45.153.0.0/16 -j DROP
3 $ iptables -I INPUT -s 54.38.193.170 -j DROP

只允许内网网段:

1 $ iptables -A INPUT -p tcp -s 172.16.0.0/16 --dport 22 -j ACCEPT

到此,规则就重写完成,记得保存规则生效:

1 $ iptables-save > /etc/sysconfig/iptables
2 $ iptables -L

设置iptables开机启动:

1 $ chkconfig --level 345 iptables on
2 $service iptables save

 

二、删除挖矿病毒源程序

可以参考https://blog.csdn.net/weixin_45284355/article/details/110728620 这篇博客,跟我遇到的问题几乎一样。

在 /bin/ 下找到 sysdrr 挖矿源病毒程序,并删除!

同时也可以使用 find / -name sysdrr 全盘查找源病毒程序,并删除!

在 /etc/cron.monthly/ ,  /etc/cron.weekly/ ,  /etc/cron.daily/ ,  /etc/cron.hourly/ 这些定时目录里找到sync程序并删除!

用 crontab -l 查看定时任务并删除所有异常定时任务。

上述sysdrr和sync直接删除不了,就需要先用 chattr -R -i /bin/sysdrr 和 chattr -R -i /bin/sync ,在用 rm -f 删除!

这样就解决了挖矿病毒的问题。

 

至此,我们就成功啦!!