云主机被挖矿病毒感染的处理过程

舍友在宿舍喊着,我的这个云主机好卡啊,难受啊!我让他用top命令看一下CPU占用。
一看吓一跳,一个叫做sysupdate的进程占据了绝大部分的CPU资源。CPU使用率接近100%。
看来肯定是被当矿机了。
云主机被挖矿病毒感染的处理过程
文章图片

清除过程 这个病毒还不是算很变态,很多挖矿病毒,使用top命令都看不到挖矿程序的进程。
基本可以确定这个占据绝大部分cpu资源的进程sysupdate,就是挖矿程序了,我们需要先找到他。
使用命令:
ps -aux | grep sysupdate
查看病毒的PID号。
使用kill -9的方法杀死对应的PID,但是发现很快又会重新启动
使用find / -name sysupdate发现病毒脚本在tmp下(病毒样本可以私信我)
直接rm -rf sysupdate会提示没有权限删除,作为linux下的超级用户,root有权限删除任何文件,一定是对文件加了只读权限
基于经验,应该是病毒使用了chattr +i的命令。所以只要先执行chattr -i sysupdate,然后就可以正常删除了。
然后…很快就又被创建出来了。应该是有守护进程什么的。
这种情况我首先想到了是不是有什么计划任务,果不其然,上图
使用crontab –l和cat /var/spool/cron/root
云主机被挖矿病毒感染的处理过程
文章图片

云主机被挖矿病毒感染的处理过程
文章图片

云主机被挖矿病毒感染的处理过程
文章图片

这个计划任务会定时去这个网址下载脚本并执行,直接删除计划任务一会还会自动生成
所以先要关掉crond,防止在清除过程中又开始下载脚本
ststemctl stop crond
然后清空计划任务
找到了这个定时执行的源头,我们来简单分析一下。这个脚本主要内容如下
云主机被挖矿病毒感染的处理过程
文章图片

在/etc下下载了config.json(挖矿配置)、sysupdate(XMR挖矿软件)、update.sh(本脚本)、networkservice(scanner 扫描并入侵其他的主机)、sysguard(watchdog 用于监控并保证病毒的正常运行以及更新)并保证他们以root权限运行。
云主机被挖矿病毒感染的处理过程
文章图片

干掉别的挖矿病毒(见kill_miner_proc函数)。
云主机被挖矿病毒感染的处理过程
文章图片

创建/root/.ssh/authorized_keys,添加病毒作者自己的公钥,保证其可以使用SSH登录到服务器,算是个后门吧。
云主机被挖矿病毒感染的处理过程
文章图片

【云主机被挖矿病毒感染的处理过程】然后就是添加定时任务,为文件添加chattr +i,修改IPTABLES,清楚日志,关闭SELinux等等。
云主机被挖矿病毒感染的处理过程
文章图片

修复 1.rm –rf /var/spool/cron/root或者 crontab -r删除定时任务。
2.kill命令将相关进程干掉,用chattr -i和rm命令,将上述/tmp下的文件全部删除。
3./root/.ssh/authorized_keys也修复,删除不认识的密钥。
4.恢复IPTABLES、SELinux,看自己的需求。
5…删除用户列表中陌生的帐号
云主机被挖矿病毒感染的处理过程
文章图片

6.修改ssh默认端口号,我怀疑是被暴力破解密码进来的,所以可以使用一些工具限制ssh密码错误次数,超过次数就直接用IPTABLES丢弃了,封了他的ip,可以使用fail2ban工具。
结尾 由于这次因为权限系统被改,目录和文件上都多了一个I(非小写的i)权限,造成始终无法删除病毒文件,并且这个I权限始终存在,保险起见最后选择重装系统了

    推荐阅读