Linux 挖矿木马常见特征与清理思路

挖矿木马(Cryptomining Malware)是近年来 Linux 服务器面临的最常见威胁之一。攻击者通过入侵 Web 应用、利用弱口令或未修复的漏洞,将挖矿程序植入服务器,消耗大量 CPU 与带宽资源。本文从实际应急响应经验出发,梳理 Linux 挖矿木马的典型特征,并给出系统化的清理与加固思路。

一、挖矿木马的常见入侵途径

在讨论特征之前,有必要先了解攻击者通常如何进入服务器:

  • Web 应用漏洞利用:如 ThinkPHP、Struts2、Log4j 等组件的远程命令执行漏洞,是挖矿木马最主流的入口。
  • SSH 弱口令爆破:攻击者使用字典对 22 端口进行暴力破解,成功后直接植入挖矿程序。
  • Redis 未授权访问:未设置密码且暴露在公网的 Redis,常被写入 SSH 公钥或计划任务。
  • Nacos、Docker API 等中间件未授权:这类服务一旦暴露,同样会被利用。
  • 供应链投毒:例如恶意 npm 包、PyPI 包在安装时下载挖矿程序。

二、典型特征识别

1. CPU 与负载异常

最直观的表现是服务器 CPU 使用率长期接近 100%,tophtop 中可以看到陌生进程占用大量算力。常见进程名会被伪装成 kworkersystemddbusredis-server 等系统进程,但实际路径往往位于 /tmp/dev/shm/var/tmp 等目录。

2. 异常网络连接

使用 netstat -antpss -antp 可以观察到进程与外网矿池 IP 的持久连接,常见端口包括 3333、4444、5555、7777、8080 等。矿池域名通常为 pool.minexmr.comxmr.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. 文件与命令被篡改

  • pstopnetstatls 等命令被替换为过滤了恶意进程的版本。
  • /etc/ld.so.preload 被写入恶意动态库,实现隐藏进程与文件。
  • SSH 公钥被追加到 ~/.ssh/authorized_keys,实现免密登录后门。
  • 系统关键文件被添加 immutable 属性(chattr +i),导致无法直接删除。

5. 异常账号与登录记录

检查 /etc/passwd 中是否新增 UID 为 0 的账号,lastlastlog/var/log/secure 中是否存在异常 IP 的登录记录。

三、清理思路与操作步骤

清理挖矿木马的核心原则是:先断网、再取证、后清理、最终加固。切勿在未断网的情况下直接删除文件,否则可能触发攻击者的二次感染脚本。

第一步:隔离与取证

# 断开外网连接,仅保留管理通道
iptables -A OUTPUT -m owner --uid-owner root -j DROP
# 或直接下线网卡
ifdown eth0

保存现场信息:ps auxfss -antpcrontab -lls -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

第四步:修复被篡改的系统命令

若发现 psnetstat 等命令被替换,应从同版本系统的干净机器或安装包中重新安装:

# CentOS
yum reinstall procps-ng net-tools coreutils

# Ubuntu/Debian
apt install --reinstall procps net-tools coreutils

第五步:清除后门与账号

  • 删除 ~/.ssh/authorized_keys 中未知公钥。
  • 删除 /etc/passwd 中新增的异常账号。
  • 修改所有系统账号密码,尤其是 root 与业务账号。

四、加固建议

清理完成后,必须进行系统性加固,避免再次被入侵:

  1. 及时打补丁:关注 Web 中间件、框架、Redis、Nacos 等组件的安全更新。
  2. 限制外网暴露面:数据库、Redis、Docker API 等不应直接暴露公网,通过安全组或防火墙限制来源 IP。
  3. SSH 加固:禁用 root 直接登录与密码认证,改用密钥登录,修改默认端口,部署 fail2ban。
  4. 最小权限原则:Web 服务以低权限用户运行,禁止其写入 /etc/root 等敏感目录。
  5. 部署主机安全 Agent:如 Wazuh、osquery、云厂商的 HIDS,实时监控异常进程与文件变更。
  6. 日志集中化:将系统日志、Web 日志接入 SIEM 或 ELK,便于事后溯源。
  7. 定期巡检:通过脚本定期检查 CPU 使用率、计划任务、SSH 公钥与关键文件哈希。

五、结语

Linux 挖矿木马虽然危害直接,但其行为特征相对明显。掌握进程、网络、计划任务、预加载库这几个关键排查点,配合规范的应急流程,大多数场景都能在较短时间内完成清理。更重要的是建立常态化的安全加固与监控机制,将风险控制在入侵之前。安全不是一次性的工作,而是持续的运营过程。

未经允许不得转载:任鹏个人博客 » Linux 挖矿木马常见特征与清理思路

赞 (0) 打赏

评论 0

取消
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏