挖矿木马的可见信号
挖矿木马在主机上跑起来后会持续与矿池建立长连接上报算力,于是留下两个稳定可观测的信号:主机侧 CPU 长期高位,网络侧对固定域名或 IP 的高频外连。检测因此分两处落地:网络设备看外连目标与协议特征(矿池域名、高位端口、Stratum 心跳),主机侧看异常进程、计划任务与自启动项。
基本信息
| 网络侧特征 | 矿池域名/IP 外连、Stratum 协议特征、固定间隔心跳 |
|---|---|
| 常见端口 | 3333、4444、5555、7777 等高位端口居多,但并非固定值 |
| 主机侧特征 | CPU 持续接近满载、异常进程与计划任务、异常自启动项 |
| 处置顺序 | 先网络侧阻断取证,再主机清理,最后修复入口漏洞 |
典型使用场景
- 服务器 CPU 告警但业务量没增长,先排查是否被植入挖矿
- 设备发现内网主机外连未知域名,需要快速研判
- 云主机出现异常出网流量与费用
- 暴露的弱口令服务(SSH/RDP/Redis)被入侵后植入挖矿
- 同一网段批量排查是否存在横向传播
网络侧与主机侧联动排查
网络侧与主机侧联动排查
# 网络侧:按告警源 IP 查会话,确认是否固定目标 + 高频外连
# 主机侧(Linux 示例)
ss -antp | grep ESTAB # 看当前外连及其对应进程
ps aux --sort=-%cpu | head -20 # 找持续高 CPU 的进程
ls -l /proc/<pid>/exe # 确认进程的真实可执行文件路径
crontab -l; ls /etc/cron.d/ # 检查计划任务是否被植入检测点与异常表现
| 检测点 | 正常表现 | 异常表现 |
|---|---|---|
| 出网目标 | 已知业务域名 | 固定陌生域名或裸 IP |
| 连接特征 | 连接数随业务波动 | 长期维持固定连接数与心跳 |
| CPU 占用 | 随业务负载变化 | 业务空闲时仍持续高位 |
| 进程来源 | 业务部署路径 | 临时目录等非业务路径 |
挖矿只是表象,能植进来挖矿的入口(弱口令、未修复组件、暴露的数据库端口)才是根因,清理后必须堵住入口,否则会反复复发。
隔离处置前先留证据:进程路径、外连目标、计划任务内容、登录记录。直接删进程会让入侵时间线无法还原。