ATTCK 视角下的挖矿木马防御:基于 Sysmon 与 EDR 的 4 阶段行为检测
2026/7/11 1:45:03 网站建设 项目流程

ATT&CK框架下的挖矿木马立体防御:基于Sysmon与EDR的实战检测指南

1. 挖矿攻击链的ATT&CK战术映射

现代挖矿木马已形成完整的攻击生命周期,从初始入侵到横向扩散呈现高度标准化特征。通过ATT&CK框架的战术阶段划分,我们可以清晰识别各环节的检测要点:

ATT&CK战术阶段典型技术(T编号)挖矿木马具体表现检测优先级
初始访问T1078(有效账号)
T1190(面向公众应用漏洞)
SSH/RDP弱口令爆破
Web应用漏洞利用(如Log4j)
执行T1059(命令行界面)
T1053(计划任务)
下载PowerShell脚本
创建crontab/taskschd任务
持久化T1543(系统服务)
T1547(启动项)
注册恶意服务(如checkconfig)
写入rc.local/LaunchAgents
防御规避T1070(日志删除)
T1027(混淆文件)
执行wevtutil cl安全日志清除
修改进程名(prctl)
横向移动T1021(远程服务)
T1110(暴力破解)
SMB共享传播
SSH密码 spraying攻击

检测策略设计原则:优先覆盖执行、持久化等高价值阶段,对防御规避行为需结合上下文判断,避免误报

2. 执行阶段检测:进程行为分析

2.1 Sysmon关键配置示例

<!-- 监控可疑子进程创建 --> <RuleGroup name="" groupRelation="or"> <ProcessCreate onmatch="include"> <ParentImage name="TechniqueID=T1059" condition="contains">\powershell.exe</ParentImage> <ParentImage name="TechniqueID=T1053" condition="contains">\schtasks.exe</ParentImage> </ProcessCreate> </RuleGroup> <!-- 检测矿池连接行为 --> <NetworkConnect onmatch="include"> <DestinationPort name="TechniqueID=T1071" condition="is">3333</DestinationPort> <DestinationPort name="TechniqueID=T1071" condition="is">5555</DestinationPort> </NetworkConnect>

2.2 EDR检测逻辑设计

  • 异常进程链检测

    def detect_suspicious_process_chain(): patterns = [ ["wget", "chmod +x", "./miner"], ["certutil", "-decode", "payload.b64", "payload.exe"], ["powershell", "-enc", "Base64EncodedCommand"] ] for proc in running_processes(): if any(all(cmd in proc.cmdline for cmd in pattern) for pattern in patterns): alert("Suspicious process chain detected")
  • CPU资源占用模型

    # Linux系统检测脚本示例 top -b -n 1 | awk 'NR>7 && $9>70 {print "High CPU process:",$12,$9"%"}'

3. 持久化阶段检测:自启动机制识别

3.1 Windows系统检测点

  • 注册表路径

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
  • 服务创建检测(Sysmon)

    <RuleGroup name="Persistence"> <RegistryEvent onmatch="include"> <TargetObject name="T1543" condition="contains">\Services\</TargetObject> <Details name="ServiceInstall" condition="contains">binpath=</Details> </RegistryEvent> </RuleGroup>

3.2 Linux系统检测方案

  • 定时任务监控

    # 对比当前crontab与基线差异 diff /etc/crontab /var/log/crontab.baseline
  • 系统服务检测

    systemctl list-unit-files --state=enabled | grep -E 'miner|xmrig'

4. 防御规避行为识别与处置

4.1 日志清除检测

<!-- 检测安全日志清除 --> <RuleGroup name="DefenseEvasion"> <ProcessCreate onmatch="include"> <CommandLine condition="contains">wevtutil cl</CommandLine> <CommandLine condition="contains">history -c</CommandLine> </ProcessCreate> </RuleGroup>

4.2 文件隐藏技术对抗

  • Linux隐藏进程检测

    # 检测未在/proc显示但消耗CPU的进程 ps -eo pid | grep -vwFf <(ls /proc | grep '^[0-9]\+$') | xargs -r ps -fp
  • Windows进程伪装检测

    Get-WmiObject Win32_Process | Where-Object { $_.Name -eq "svchost.exe" -and $_.ExecutablePath -notlike "*\system32\*" } | Select-Object ProcessId,CommandLine

5. 横向移动检测与网络隔离

5.1 内网扫描行为识别

<!-- 检测端口扫描行为 --> <RuleGroup name="Discovery"> <NetworkConnect onmatch="include"> <DestinationPort name="T1046" condition="is">22</DestinationPort> <DestinationPort name="T1046" condition="is">3389</DestinationPort> <DestinationIp condition="is">192.168.0.0/16</DestinationIp> </NetworkConnect> </RuleGroup>

5.2 矿池通信阻断策略

协议特征检测方法处置措施
Stratum协议JSON-RPC包含"mining.submit"阻断目的IP+端口
XMRig协议HTTP POST含"login"参数拦截域名解析
加密流量JA3指纹匹配矿池客户端TLS解密检测

6. 防御体系自查清单

6.1 检测覆盖度评估

  • [ ] 所有管理端口(SSH/RDP)的暴力破解监控
  • [ ] 计划任务/服务创建的实时审计
  • [ ] 矿池域名/IP的情报匹配
  • [ ] 高CPU进程的关联分析
  • [ ] 日志清除操作的告警

6.2 响应处置流程

  1. 快速遏制

    # Linux示例:隔离受影响主机 iptables -A INPUT -s 192.168.1.100 -j DROP
  2. 根除措施

    # Windows示例:清除持久化项 Remove-Item -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\Miner" -Force
  3. 恢复验证

    # 检查矿池连接残留 netstat -tulnp | grep -E '3333|5555|9999'

在实际部署中,建议将Sysmon作为基础数据采集层,EDR系统进行高级行为分析,两者协同构建纵深防御体系。某金融客户实践表明,该方案使挖矿木马驻留时间从平均14天缩短至2小时内,检测准确率达到92%以上。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询