舍友在宿舍喊着,我的这个云主机好卡啊,难受啊!我让他用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权限始终存在,保险起见最后选择重装系统了
推荐阅读
- 云原生微服务技术趋势解读
- 韵达基于云原生的业务中台建设 | 实战派
- python|8. 文件系统——文件的删除、移动、复制过程以及链接文件
- 运维|如何限制IP 通过 SSH连接服务器
- 运维|Linux 禁止用户或 IP通过 SSH 登录
- linux|apt update和apt upgrade命令 - 有什么区别()
- 服务器|用旧手机搭建服务器并实现内网穿透不需要root(本人亲测很多次最简单的一个)
- GitHub|7 款可替代 top 命令的工具
- Linux系统网络编程|Linux系统(权限管理)
- 企业实战|Linux 五种IO模型详细图解