记一次服务器被挖矿的排查过程:xmrig挖矿病毒
【阿里云】尊敬的aliyun988825: 经检测您的阿里云服务(ECS实例)i-0jl8awxohyxkaxz5存在挖矿活动。根据相关法规、政策的规定,请您于2023-07-18 00时前完成挖矿问题整改,否则您的服务将被关停,详情请查看邮件或阿里云站内消息通知。 若您有其他问题,可登陆阿里云官网在线咨询
在阿里云租了一个服务器,早上接到机器人电话说服务器被挖矿,啊啊啊烦死了,矿狗怎么还活着啊。 2023.07.11 记录。
一、发现
先搜了下网上有没有相似经历的,发现B站有个up主发了视频 记一次服务器被挖矿的经历和排查 。简单看了下他的视频,有个比较清晰的思路了。 使用命令查看当前进程
ps -a
发现有一些奇怪的进程,但又不确定是哪个。 阿里云网站上监控服务器资源显示突然被占用了很多资源。
top:查询
通过CPU使用量找一下,查询当前的进程使用资源状况。
top
top以全屏交互式的界面显示进程排名,及时跟踪包括CPU、内存等系统资源占用情况,默认情况下每三秒刷新一次,其作用基本类似于Windows系统中的任务管理器。 可以看到进程xmrig占用了大量CPU资源,百度也可以搜到xmrig是个挖矿病毒。
二、排查
百度了一下,好麻烦,安全意识不够强吧。 先查询xmrig病毒的文件地址
ls -l /proc/进程ID/exe
> lrwxrwxrwx 1 root root 0 Jul 11 13:04 /proc/3934534/exe -> /root/.cfg/xmrig
查到隐藏的地址,cd命令进不去,找不到地址也无法删除。后来发现是一个重定向的地址。用另一个语句查询
find / -name xmrig
> /var/lib/docker/overlay2/860d7d30e33967a65150a3f93c5994a9077e1906e0f9ccda73ee1008803b92f1/merged/root/.cfg/xmrig
> /var/lib/docker/overlay2/860d7d30e33967a65150a3f93c5994a9077e1906e0f9ccda73ee1008803b92f1/diff/root/.cfg/xmrig
找到两条病毒的信息,进入到文件夹下发现是开的docker容器,原来是容器内被病毒入侵了。 前两天开了一个docker容器搭建python环境,将容器ssh通过openssh映射到公网端口上了,密码设的比较简单(123456),so被攻击了。这个是将docker容器端口开放出来的博客 pycharm远程连接服务器docker容器内python环境 。
到这里其实我可以直接将docker容器删了重新启动一个就行了,看了网上的教程,练练手。 矿狗还把我服务器密码给改了(虽然只是docker容器),好气!
三、清除
依旧查询xmrig病毒的文件地址
top
> PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
> 11347 root 20 0 2440420 2.0g 4012 S 201.0 14.0 2399:29 xmrig
ls -l /proc/11347/exe
> lrwxrwxrwx 1 root root 0 Jul 11 07:18 /proc/11347/exe -> /root/.cfg/xmrig
这次通过cd进入文件可以看到多个病毒文件
cd /root/.cfg/
ls
> bios.txt ps xmrig
其中bios.txt是三个ip(172.18.0.1-3)。 直接将整个病毒的文件夹删除
rm -rf /root/.cfg
杀死进程
kill -9 11347
至此病毒清理完毕了,服务器恢复正常。
这里我没遇到定时任务的问题,因为病毒一般来说都比较顽固,在其他问题中介绍下。
四、其他问题
其他博客提到了有定时任务的问题,粘在这里参考吧。
1.定时任务crontab
通过 crontab -l 发现没有定时任务,但是会重新启动 cd /etc/ 查看crontab文件发现有隐藏的定时任务 通过rm删除文件时 rm -rf /etc/crontab ,没有权限
chattr -ia /etc/crontab
rm -rf /etc/crontab
删除后在./etc目录下多看几个crontab文件,发现病毒备份了多个定时任务,只要不是自己的定时任务 直接删文件就好了
2.定时任务2
5.删除定时任务 rm -rf /var/spool/cron 6.删除ssh认证信息 rm -rf ./ssh/ 7.原因,有可能是redis等程序导致, 8.尽量使用内网链接,不要暴露端口号或者外网地址
3.禁用root远程登录
禁用 root 远程登录的方法(用其它用户su过去):
sudo vi /etc/ssh/sshd_config
关闭 root 远程登录 Find PermitRootLogin and set to no:
PermitRootLogin no
重启 ssh 服务
sudo service ssh restart
参考内容
Linux服务器清除xmrig挖矿病毒详细教程 Linux服务器xmrig病毒处理 无意间发现我的一台云服用器中了矿机xmrig的毒,哎!! Xmrig挖矿木马排查过程,xmrig占用大量CPU