记一次Xmrig挖矿木马排查过程

问题现象

Linux 服务器收到报警信息,主机 CPU 跑满。

自动创建运行 Docker 容器 xmrig, 导致其他运行中容器被迫停止。

问题原因

通过 top 命令可以看到有一个 xmrig 进程占用了99%的 CPU。

经定位,该进程是一个挖矿木马程序,通过上述截图可以看到进程对应的 PID 为 2647,根据进程 ID 查询一下产生进程的程序路径:

ll /proc/2647/exe

查看进程:

尝试处理

首先停掉该 Docker 容器,并删除其对应镜像。

1. 查看计划任务

Linux 系统中默认创建了计划任务后会在 /var/spool/cron 目录下创建对应用户的计划任务脚本,查询一下系统中是否有异常的计划任务脚本程序:

ls /var/spool/cron

删除异常任务其配置项。如果当前系统之前并未配置过计划任务,可以直接删除计划脚本目录即可:

rm -rf /var/spool/cron/* 

2. 查看密钥认证文件

删除木马创建的密钥认证文件,如果当前系统之前并未配置过密钥认证,可以直接清空认证存放目录:

rm -rf /root/.ssh/* 

如果有配置过密钥认证,需要删除指定的黑客创建的认证文件即可。

3. 修复 SSH 配置项

一般默认脚本中进行修改的 PermitRootLogin、RSAAuthentication、PubkeyAuthentication 为开启状态,需要修改的是密钥认证文件名,建议修改成默认值  AuthorizedKeysFile .ssh/authorized_keys  即可。修改完成后重启 sshd 服务,使配置生效即可。

4. 查看开机启动脚本

执行  systemctl list-unit-files  发现可疑程序:

进入 /etc/systemd/system/ 目录找到并查看该脚本:

该脚本执行了 /xm 脚本,并且总是会重启服务。如果此程序不进行清除,即使删除了 Docker 容器并杀死了对应的进程,过一会还是会执行重新创建 Docker 容器,又导致服务器异常。

因此,先停止启动脚本配置项:

systemctl disable name.service

删除脚本:

rm -rf /etc/systemd/system/xm.service
rm -rf /xm

以上修复完成后可以等待一会再次进行一下观察,看看是否还会在根目录下创建新的 xm 程序,以及是否还有新的 xmrig 进程产生。

原文地址:https://www.cnblogs.com/tangxuliang/p/9496614.html