
核心要点(TL;DR)
- 挖矿木马常导致CPU占用飙升,首先用top和ps定位异常进程。
- 检查crontab、systemd服务、启动脚本等持久化机制,清除后门。
- 使用chkrootkit、rkhunter等工具辅助检测rootkit,但需结合手动排查。
- 清理后务必修改所有密码、更新补丁,并部署AegisX等防护工具防止复发。
痛点引入:CPU飙升,业务卡顿,谁在偷跑?
凌晨收到告警:服务器CPU持续100%,SSH登录缓慢,网站响应超时。登录服务器执行top,发现一个名为kdevtmpfsi的进程占用超过300% CPU——这是典型的挖矿木马症状。挖矿木马不仅消耗资源,还常伴随后门、数据窃取风险。本文提供一套从发现到清理的完整实战流程,包含具体命令与检查清单,助你快速恢复业务并加固系统。
第一步:定位异常进程与网络连接
登录服务器后,首先使用top按CPU排序(按P键),记录可疑进程的PID和路径。常见挖矿进程名:kdevtmpfsi、kinsing、xmrig、sysupdate等。接着用ps aux | grep 查看完整命令行,注意路径是否为/tmp、/dev/shm等临时目录。然后检查网络连接:netstat -antp或ss -antp,观察是否有进程连接矿池地址(如pool.minexmr.com)。也可用lsof -p 查看进程打开的文件和网络连接。
第二步:检测持久化后门与隐藏账户
攻击者通常会留下持久化机制,确保重启后木马仍能运行。必须检查以下位置:
- 定时任务:
crontab -l查看当前用户任务;cat /etc/crontab;ls /etc/cron.*;cat /var/spool/cron/*。注意可疑的下载命令(curl、wget)。 - 系统服务:
systemctl list-unit-files --type=service,检查近期创建的服务文件;ls /etc/systemd/system/。 - 启动脚本:
cat /etc/rc.local;ls /etc/init.d/;cat /etc/profile和~/.bashrc是否被追加恶意命令。 - SSH后门:检查
~/.ssh/authorized_keys是否有陌生公钥;cat /etc/passwd查看是否有UID为0的异常账户;awk -F: '==0{print }' /etc/passwd。 - 动态链接库劫持:
cat /etc/ld.so.preload(正常应为空),若有内容则可能是恶意so文件。
第三步:彻底清除挖矿程序与后门
确认恶意进程后,先kill -9 终止进程,但不要急着重启,否则可能触发重新下载。接着删除恶意文件:rm -rf /tmp/kdevtmpfsi(根据实际路径)。然后清除持久化项:编辑crontab删除恶意任务;禁用并删除恶意服务文件(systemctl disable 并rm /etc/systemd/system/);恢复被篡改的启动脚本。对于/etc/ld.so.preload,直接清空文件内容。完成后重启服务器(reboot),再次用top和netstat确认无异常进程和外联。
第四步:加固系统与防护建议
清理后必须修复入侵入口,否则可能再次被黑。建议:
- 更新系统和软件补丁:
yum update或apt upgrade。 - 修改所有用户密码(包括root、数据库、应用账户),并启用SSH密钥登录,禁用密码登录。
- 检查Web应用是否存在漏洞(如上传漏洞、RCE),删除可疑webshell文件。
- 部署主机安全防护工具,如AegisX,可实时监控恶意进程、文件篡改和网络异常,并提供一键隔离功能,有效防止挖矿木马复发。
检查清单与对比表格
以下为快速自查清单,建议逐项核对:
| 检查项 | 命令/位置 | 正常状态 |
|---|---|---|
| CPU占用 | top | 无持续>90%的陌生进程 |
| 网络连接 | ss -antp | 无矿池或陌生IP外联 |
| 定时任务 | crontab -l, /etc/cron.* | 无未知下载或执行命令 |
| 系统服务 | systemctl list-unit-files | 无陌生服务 |
| 启动脚本 | /etc/rc.local, /etc/profile | 无异常追加内容 |
| SSH后门 | ~/.ssh/authorized_keys | 仅含已知公钥 |
| 动态链接库 | /etc/ld.so.preload | 文件为空或不存在 |
行动建议
挖矿木马清理重在彻底,切勿只杀进程了事。建议按照上述步骤系统排查,并借助AegisX等工具建立持续防护。日常运维中,定期检查日志、限制端口暴露、使用强密码策略,可大幅降低被入侵风险。若发现数据泄露迹象,请立即隔离服务器并联系专业安全团队。
常见问题(FAQ)
服务器CPU占用突然100%,是不是中了挖矿木马?
很有可能。挖矿木马会占用大量CPU资源进行加密货币挖掘,导致CPU持续高位。但其他恶意程序或正常业务也可能导致高负载。建议先用top命令查看占用最高的进程,若发现陌生进程且路径可疑,再进一步排查。
如何检测服务器上是否隐藏了挖矿木马?
可以从以下几个方面检测:1) 使用top、ps aux找出异常进程;2) 检查网络连接,用netstat或ss查看可疑外联;3) 检查crontab、systemd服务、init.d等持久化位置;4) 使用find查找近期修改的可疑文件;5) 运行chkrootkit、rkhunter等工具扫描。
发现挖矿木马后,直接删除进程和文件就可以了吗?
不够。挖矿木马通常留有后门和持久化机制,简单删除可能触发重新下载。必须彻底检查所有持久化项(如cron、服务、启动脚本),清除相关文件,并修复入侵漏洞(如弱密码、未打补丁)。最后修改所有密码,重启系统确认清理干净。
清理挖矿木马后,如何防止再次被植入?
建议采取以下措施:1) 更新系统及软件补丁;2) 使用强密码并启用SSH密钥登录;3) 安装安全防护软件如AegisX进行实时监控;4) 定期检查日志和异常进程;5) 限制不必要的端口暴露;6) 对Web应用进行安全审计,防止webshell上传。
有哪些工具可以帮助排查挖矿木马?
常用工具包括:top/htop(进程监控)、netstat/ss(网络连接)、lsof(打开文件)、chkrootkit和rkhunter(rootkit检测)、clamav(病毒扫描)、auditd(系统审计)。此外,AegisX提供入侵检测和恶意进程监控功能,可辅助快速定位威胁。