挖矿木马(Cryptomining Malware)是近年来 Linux 服务器面临的最常见威胁之一。攻击者通过入侵 Web 应用、利用弱口令或未修复的漏洞,将挖矿程序植入服务器,消耗大量 CPU 与带宽资源。本文从实际应急响应经验出发,梳理 Linux 挖矿木马的典型特征,并给出系统化的清理与加固思路。
一、挖矿木马的常见入侵途径
在讨论特征之前,有必要先了解攻击者通常如何进入服务器:
- Web 应用漏洞利用:如 ThinkPHP、Struts2、Log4j 等组件的远程命令执行漏洞,是挖矿木马最主流的入口。
- SSH 弱口令爆破:攻击者使用字典对 22 端口进行暴力破解,成功后直接植入挖矿程序。
- Redis 未授权访问:未设置密码且暴露在公网的 Redis,常被写入 SSH 公钥或计划任务。
- Nacos、Docker API 等中间件未授权:这类服务一旦暴露,同样会被利用。
- 供应链投毒:例如恶意 npm 包、PyPI 包在安装时下载挖矿程序。
二、典型特征识别
1. CPU 与负载异常
最直观的表现是服务器 CPU 使用率长期接近 100%,top 或 htop 中可以看到陌生进程占用大量算力。常见进程名会被伪装成 kworker、systemd、dbus、redis-server 等系统进程,但实际路径往往位于 /tmp、/dev/shm、/var/tmp 等目录。
2. 异常网络连接
使用 netstat -antp 或 ss -antp 可以观察到进程与外网矿池 IP 的持久连接,常见端口包括 3333、4444、5555、7777、8080 等。矿池域名通常为 pool.minexmr.com、xmr.pool.minergate.com 等。
3. 计划任务与自启动项
攻击者通常会在以下位置写入持久化配置:
/var/spool/cron/下的用户 crontab/etc/crontab与/etc/cron.d//etc/rc.local、/etc/init.d/~/.bashrc、~/.profile- systemd 服务单元
/etc/systemd/system/
4. 文件与命令被篡改
ps、top、netstat、ls等命令被替换为过滤了恶意进程的版本。/etc/ld.so.preload被写入恶意动态库,实现隐藏进程与文件。- SSH 公钥被追加到
~/.ssh/authorized_keys,实现免密登录后门。 - 系统关键文件被添加 immutable 属性(
chattr +i),导致无法直接删除。
5. 异常账号与登录记录
检查 /etc/passwd 中是否新增 UID 为 0 的账号,last、lastlog、/var/log/secure 中是否存在异常 IP 的登录记录。
三、清理思路与操作步骤
清理挖矿木马的核心原则是:先断网、再取证、后清理、最终加固。切勿在未断网的情况下直接删除文件,否则可能触发攻击者的二次感染脚本。
第一步:隔离与取证
# 断开外网连接,仅保留管理通道
iptables -A OUTPUT -m owner --uid-owner root -j DROP
# 或直接下线网卡
ifdown eth0
保存现场信息:ps auxf、ss -antp、crontab -l、ls -la /tmp /dev/shm 的输出,便于后续分析。
第二步:定位恶意进程与文件
# 查看高 CPU 进程及其可执行文件路径
top -c
ls -l /proc/<PID>/exe
ls -l /proc/<PID>/cwd
# 检查预加载劫持
cat /etc/ld.so.preload
# 检查计划任务
crontab -l
ls -la /etc/cron.d/ /var/spool/cron/
第三步:终止进程并清除文件
# 解除 immutable 属性
chattr -i /path/to/malware
# 结束进程
kill -9 <PID>
# 删除恶意文件与目录
rm -rf /tmp/<malware> /dev/shm/<malware>
# 清空被篡改的 crontab 与 ld.so.preload
> /etc/ld.so.preload
第四步:修复被篡改的系统命令
若发现 ps、netstat 等命令被替换,应从同版本系统的干净机器或安装包中重新安装:
# CentOS
yum reinstall procps-ng net-tools coreutils
# Ubuntu/Debian
apt install --reinstall procps net-tools coreutils
第五步:清除后门与账号
- 删除
~/.ssh/authorized_keys中未知公钥。 - 删除
/etc/passwd中新增的异常账号。 - 修改所有系统账号密码,尤其是 root 与业务账号。
四、加固建议
清理完成后,必须进行系统性加固,避免再次被入侵:
- 及时打补丁:关注 Web 中间件、框架、Redis、Nacos 等组件的安全更新。
- 限制外网暴露面:数据库、Redis、Docker API 等不应直接暴露公网,通过安全组或防火墙限制来源 IP。
- SSH 加固:禁用 root 直接登录与密码认证,改用密钥登录,修改默认端口,部署 fail2ban。
- 最小权限原则:Web 服务以低权限用户运行,禁止其写入
/etc、/root等敏感目录。 - 部署主机安全 Agent:如 Wazuh、osquery、云厂商的 HIDS,实时监控异常进程与文件变更。
- 日志集中化:将系统日志、Web 日志接入 SIEM 或 ELK,便于事后溯源。
- 定期巡检:通过脚本定期检查 CPU 使用率、计划任务、SSH 公钥与关键文件哈希。
五、结语
Linux 挖矿木马虽然危害直接,但其行为特征相对明显。掌握进程、网络、计划任务、预加载库这几个关键排查点,配合规范的应急流程,大多数场景都能在较短时间内完成清理。更重要的是建立常态化的安全加固与监控机制,将风险控制在入侵之前。安全不是一次性的工作,而是持续的运营过程。
未经允许不得转载:任鹏个人博客 » Linux 挖矿木马常见特征与清理思路


朋友圈点赞图在线生成源码