首页/安全/应急响应速查/挖矿进程识别与处置

挖矿进程识别与处置

挖矿主机典型特征:CPU 常年跑满、外连矿池端口、进程名仿冒系统组件;处置要连启动链一起清,否则必复发。

应急响应速查安全更新于 2026-10-13

挖矿进程识别与处置

挖矿主机的特征很集中:CPU 长时间跑满、对外连接矿池地址、进程名仿冒系统组件、二进制与脚本藏在临时目录。但处置的关键不是杀死那几个进程,而是把启动链一起清掉:计划任务、systemd 单元、登录脚本、下载器脚本与守护进程都是它复活的途径。只要启动链还留着,几小时甚至几分钟后就会重新拉起,所以处置必须按「定位来源—清启动链—杀进程—复扫」的顺序做。

基本信息

资源特征top 或 ps 显示单进程长期接近满载,多核机器上按核数累加
网络特征连接矿池地址,常见端口有 3333、5555、7777、14444 等,端口并不固定
进程特征仿冒 kworker、java、systemd 等名字,参数里带钱包地址或线程数
落地位置/tmp、/dev/shm、/var/tmp 下的脚本与二进制
启动链cron、systemd 单元与定时器、登录脚本、下载器脚本、watchdog 父子结构
证据要求处置前记录进程画像、连接、命令行与样本哈希

典型使用场景

  • 云主机 CPU 告警后确认是否存在挖矿进程
  • 清理挖矿后复查启动链,防止几十分钟后复发
  • 与被投毒容器区分:区分宿主机进程与容器内进程
  • 统计受影响主机数量,判断是否为批量入侵
  • 评估资源损失与业务影响,为后续加固与说明提供依据

定位矿工进程与启动链

定位矿工进程与启动链
ps aux --sort=-%cpu | head -n 15                        # 1 资源占用排名
top -b -n 1 -o %CPU | head -n 20                         # 2 快照留档
sudo ss -antp | grep -E ':(3333|5555|7777|14444)'        # 3 矿池连接
sudo ls -l /proc/1234/exe /proc/1234/cwd                 # 4 二进制与工作目录
sudo find /tmp /dev/shm /var/tmp -type f -mtime -7 -ls 2>/dev/null | head -n 20   # 5 落地文件
crontab -l 2>/dev/null; sudo ls -la /etc/cron.d/          # 6 计划任务
systemctl list-units --type=service --state=running | head -n 20                  # 7 systemd 单元
sudo grep -rEn 'curl|wget' /etc/profile /etc/profile.d/ 2>/dev/null | head

特征与判据

维度正常表现挖矿特征
CPU 占用随业务波动长期贴近满载且曲线平滑
进程名与参数与安装包一致仿冒系统名,参数含钱包地址或线程限制
外连端口443 与业务端口为主连非常规高位端口,对端固定且长期保持
落地位置安装目录临时目录与内存文件系统中的随机文件名
启动链有明确的服务定义计划任务或单元里出现下载并执行类命令
守护结构无父子进程互为看门狗,杀掉一个另一个会拉起
只杀进程不挖入口,几天内必被重新拉起:先定位启动链并逐项清理,再终止进程,最后复扫确认。若不清启动链,等于每次都在给攻击者做重启测试。
要区分宿主机与容器:容器内的挖矿进程在宿主机上也可能可见,但资源限制与网络路径不同。排查时先看容器资源统计,再用命名空间视角确认进程归属,避免清错对象。

易错点

  • 只杀进程不清启动链:cron 或 systemd 会把它重新拉起,问题反复出现
  • 忽略守护结构:父子进程互为看门狗,必须一并处理
  • 只按进程名判断:名字可伪装成系统组件,应以资源占用与连接为准
  • 忘记检查临时目录:下载器脚本通常放在临时目录,留着就还能重新下载
  • 不统计受影响主机:批量入侵场景下只处理一台,等于把其他主机留在风险中

数据来源与参考

  • MITRE ATT&CK T1496 Resource Hijacking
  • 云厂商挖矿事件应急通告(处置经验部分)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌