云计算百科
云计算领域专业知识百科平台

服务器CPU告警900%?一线运维手把手教你揪出挖矿木马与隐藏后门

收到监控告警,某业务节点CPU使用率持续100%。登录服务器执行 top,load average 爆表,发现 kdevtmpfsi、kinsing 或 xmrig 等进程单核CPU占用高达900%+。业务访问严重卡顿,进一步检查发现 /tmp、/var/tmp、/dev/shm 目录下多出陌生脚本和二进制文件。这是典型的挖矿木马入侵现场。

⚠️ 生产环境风险警告:发现异常后,严禁执行以下操作!

  • 不要只 kill -9 进程:木马通常配有守护进程或定时任务,单纯杀进程会秒级复活,陷入无限循环。
  • 不要直接 reboot 重启主机:内存中的恶意代码、网络连接状态等关键溯源线索将全部丢失。
  • 不要随手 rm -rf 删除文件:破坏现场会导致后续取证和溯源分析直接中断。
  • 不要未经分析直接格式化重装:盲目重装等同于帮攻击者毁尸灭迹,无法封堵入侵入口。
  • 遇到此类事件,必须严格按照标准流程处置,核心原则是:先断外联,再谈清理。切断网络后,木马无法连接矿池,会停止高负载运算,这能为排查争取充足时间。

    标准处置流程:
    事件确认 → 快速断网/隔离阻断外联 → 证据留存 → 进程与文件定位 → 清剿恶意载荷与持久化机制 → 业务恢复评估 → 溯源入侵入口 → 复盘与加固。


    一、 Linux主机排查:顺藤摸瓜定位异常

    Linux环境下排查挖矿木马,核心是定位高资源占用进程、排查异常外联、深挖定时任务和SSH后门。以下命令可直接复制执行。

    # 1. 查看CPU和内存占用大户,注意观察进程名及启动参数
    top -c
    ps aux –sort=-%cpu | head -n 20

    # 2. 排查异常外联,寻找矿池IP或域名(挖矿木马必连外网)
    netstat -antp | grep ESTABLISHED
    ss -antp | grep ESTABLISHED

    # 3. 定位恶意进程对应的物理文件路径
    lsof -p <PID>
    # 重点检查临时目录,攻击者常将恶意载荷存放于此
    ls -la /tmp /var/tmp /dev/shm

    # 4. 排查定时任务(核心!不清理此处木马必会复活)
    crontab -l
    cat /etc/crontab
    ls -la /var/spool/cron/
    ls -la /etc/cron.d/

    # 5. 排查SSH后门(攻击者常写入公钥以实现免密登录)
    cat /root/.ssh/authorized_keys
    cat /home/*/.ssh/authorized_keys

    # 6. 排查最近被篡改的系统二进制文件(防止命令被替换或劫持)
    find /usr/bin /usr/sbin /bin /sbin -mtime -3 -type f

    # 7. 排查异常自启服务及历史登录记录
    systemctl list-unit-files –state=enabled
    last
    tail -n 500 /var/log/secure

    挖矿木马常见行为特征:

    • 资源耗尽:进程名常伪装成 kdevtmpfsi、systemd-resolve 等系统服务,或使用随机字符串。
    • 外联矿池:持续尝试连接 pool.minexmr.com 等矿池域名或未知海外IP。
    • 对抗排查:部分高级木马会执行 chattr +i 锁定恶意文件防止被删,或篡改 /etc/ld.so.preload 实现进程级隐藏。

    二、 Windows主机排查:揪出伪装进程

    若为Windows服务器中招,排查逻辑一致,主要依赖CMD和PowerShell命令。

    :: 1. 查看进程及其对应执行路径
    tasklist /svc
    wmic process get name,executablepath,processid /format:list

    :: 2. 查看异常外联连接
    netstat -ano | findstr ESTABLISHED

    # 1. 排查计划任务(Windows环境最常见的持久化方式)
    Get-ScheduledTask | Where-Object {$_.State -ne "Disabled"} | Select TaskName, TaskPath, Actions

    # 2. 排查注册表自启项
    Get-ItemProperty Path "HKLM:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run"
    Get-ItemProperty Path "HKCU:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run"

    # 3. 排查异常系统服务
    Get-Service | Where-Object {$_.Status -eq "Running"} | Select Name, DisplayName, PathName

    事件日志排查重点:
    打开“事件查看器”,筛选“安全”日志,重点关注以下事件ID:

    • 4624 / 4625:登录成功/失败。重点排查非工作时间或来自陌生IP的登录记录。
    • 4688:进程创建。若已开启审计策略,可直接查看攻击者是如何拉起恶意进程的完整命令行。

    三、 感染范围研判:不能仅局限于单台机器

    单台机器中招,往往意味着内网边界已被突破。在单机清理前,需立即前往出口网关、堡垒机、跳板机、域控提取日志进行横向研判。

  • 排查外联记录:在防火墙或IPS日志中检索已知矿池域名和恶意IP,确认内网是否还有其他主机存在相同外联行为。
  • 排查横向扩散:检查堡垒机审计日志,确认是否存在从中毒主机发起的SSH/RDP内网爆破记录;检查域控日志,排查是否存在异常的SMB(445端口)或WMI横向移动痕迹。

  • 四、 业务恢复:清理还是重装?

    有可靠备份的场景:
    优先使用中毒前的系统快照或业务备份进行恢复。这是最彻底、风险最低的处置方式。

    无备份的场景(必须就地清理):
    在清除所有恶意进程、定时任务、自启项及恶意文件后,必须进行有效性验证:

    • 持续观察:监控至少72小时,确认CPU负载是否平稳、异常外联是否彻底消失、定时任务是否死灰复燃。

    ⚠️ 生产环境风险警告:
    就地清理存在极高风险。现代挖矿木马常捆绑Rootkit组件,或已修改系统底层动态链接库。表面清理完毕,底层仍可能残留暗桩。若业务允许,强烈建议在备份核心业务数据后,直接格式化并重装系统,不留任何隐患。


    五、 溯源分析:攻击者是如何进来的?

    处置完毕后必须查明入侵入口,否则极易发生二次入侵。常见入口包括:

  • SSH/RDP弱口令:全网自动化扫描的重灾区。
  • 中间件未授权访问:Redis、MongoDB、Elasticsearch 等未设置密码,且监听在 0.0.0.0。
  • 已知漏洞利用:如 Log4j2、Fastjson、Struts2 等远程代码执行(RCE)漏洞。
  • 云凭证泄露:云控制台 AccessKey/SecretKey 泄露,攻击者直接通过云API下发恶意脚本或修改安全组策略。
  • 溯源线索提取:

    • 检查 /var/log/secure 或 /var/log/auth.log,若出现大量 Failed password 后紧跟一条 Accepted,即可确认为爆破成功。
    • 检查 ~/.bash_history,部分攻击者操作不规范未清理历史记录,可直接从中提取其下载和执行恶意脚本的完整命令。

    六、 事后加固:封堵安全缺口

    排查结束后,必须落实以下加固措施形成闭环:

  • 身份认证加固:SSH全面启用密钥认证,禁用root用户远程登录,并更改默认22端口。
  • 防爆破机制:部署 fail2ban 或类似工具,设定失败阈值自动封禁源IP。
  • 中间件安全:强制启用Redis/MongoDB等中间件密码认证,绑定监听地址至 127.0.0.1 或指定内网IP。
  • 网络最小化:云平台安全组严格遵循最小权限原则,仅开放业务必需端口,SSH/RDP等管理端口必须限制为公司办公网IP白名单。
  • 主机安全防护:统一部署主机安全Agent(CWPP),开启防暴力破解、防恶意进程及防挖矿功能。
  • 漏洞管理:建立常态化漏洞扫描与补丁修复机制。

  • 七、 总结:应急处置高频踩坑指南

    回顾过往案例,以下四个坑最容易导致处置失败或损失扩大,务必警惕:

  • 只杀进程,不清持久化:未清理定时任务或守护脚本,导致木马反复复活,徒增无效工作量。
  • 断网隔离过晚:发现告警后未及时切断网络,攻击者趁机在内网部署代理工具,导致感染范围呈指数级扩大。
  • 手欠删除恶意文件:未做备份或镜像取证便直接删除文件,导致事后无法提取样本分析,溯源工作被迫中断。
  • 未做分析直接重装:为追求快速恢复业务,跳过日志分析和入口排查直接重装系统,导致安全缺口未被发现,新系统上线后迅速再次被攻陷。

  • 安全运维是与攻击者拼手速、拼细节的对抗。挖矿木马虽然技术门槛不高,但胜在传播广、变种快、持久化机制完善。遇到告警保持冷静,严格遵循“先隔离、后排查、再溯源”的流程,才能将损失降到最低。

    如果你觉得这篇实战复盘对你的日常工作有帮助,或者能在关键时刻提供排查思路,麻烦点个赞、收藏备用!大家在处置挖矿木马时还遇到过哪些棘手的变种或坑?欢迎在评论区留言交流,咱们下期见!

    赞(0)
    未经允许不得转载:网硕互联帮助中心 » 服务器CPU告警900%?一线运维手把手教你揪出挖矿木马与隐藏后门
    分享到: 更多 (0)

    评论 抢沙发

    评论前必须登录!