一、前言
本周发现服务器很卡,明明什么实验也没跑(GPU是空的),然后重启后使用top指令后发现在自己账号下有个进程占用了所有的的cpu资源,尝试使用kill命令终止该进程后发现几秒钟进程又重启了,资源一直处于耗尽状态,至此发现该进程是恶意进程,网上搜索后发现是一个挖矿的程序。知道问题所在,那就好办了。
二、解决办法
想法:先删除源程序,然后删除脚本,然后删除定时任务,最后kill所有的恶意进程(因为直接kill后会进程还会重启)。
1. 阻断挖矿程序链接外网服务。
查看/etc/hosts的内容是否被恶意篡改
查看发现该文件增加了下述两行代码,将其删除:
在/etc/hosts里增加一条
127.0.0.1 g.upxmr.com
阻断挖矿程序链接外网下载可执行文件,除非把服务器网断了。
2.删除定时任务及文件
使用 crontab -l 查看当前用户的定时程序,然后确认是恶意的定时程序,使用 crontab -r删除。
一般情况使用crontab -l是看不到的挖矿的程序,需要查看/etc/crontab。但是本处使用crontab –l发现了挖矿脚本所在位置,删除后再确认/etc/crontab文件内容无修改。
正常的/etc/crontab文件内容如下:
3.Kill掉所有的挖矿程序。
三、后续
长时间观察发现CPU的资源占用并未升高,说明问题是初步解决了,但是根源还没找到,因为我们的服务都是部署在内网的,挖矿程序是从哪个入口侵入的还有待排查。
1.IP登录排查
登录日志查看:
last -f /var/log/wtmp
last -f /var/log/wtmp.1
结合.bash/bash指令的创建日期查找到当天登录的用户信息,然后结合登录的IP分析,就能知道是内部人员盗用还是被外面的人当矿机了。当然也不排除是内部人员将登录IP替换的可能性。然后通过IP可分析是从哪里入侵的了。