
ATTCK框架下的挖矿木马立体防御基于Sysmon与EDR的实战检测指南1. 挖矿攻击链的ATTCK战术映射现代挖矿木马已形成完整的攻击生命周期从初始入侵到横向扩散呈现高度标准化特征。通过ATTCK框架的战术阶段划分我们可以清晰识别各环节的检测要点ATTCK战术阶段典型技术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 groupRelationor ProcessCreate onmatchinclude ParentImage nameTechniqueIDT1059 conditioncontains\powershell.exe/ParentImage ParentImage nameTechniqueIDT1053 conditioncontains\schtasks.exe/ParentImage /ProcessCreate /RuleGroup !-- 检测矿池连接行为 -- NetworkConnect onmatchinclude DestinationPort nameTechniqueIDT1071 conditionis3333/DestinationPort DestinationPort nameTechniqueIDT1071 conditionis5555/DestinationPort /NetworkConnect2.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 NR7 $970 {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服务创建检测SysmonRuleGroup namePersistence RegistryEvent onmatchinclude TargetObject nameT1543 conditioncontains\Services\/TargetObject Details nameServiceInstall conditioncontainsbinpath/Details /RegistryEvent /RuleGroup3.2 Linux系统检测方案定时任务监控# 对比当前crontab与基线差异 diff /etc/crontab /var/log/crontab.baseline系统服务检测systemctl list-unit-files --stateenabled | grep -E miner|xmrig4. 防御规避行为识别与处置4.1 日志清除检测!-- 检测安全日志清除 -- RuleGroup nameDefenseEvasion ProcessCreate onmatchinclude CommandLine conditioncontainswevtutil cl/CommandLine CommandLine conditioncontainshistory -c/CommandLine /ProcessCreate /RuleGroup4.2 文件隐藏技术对抗Linux隐藏进程检测# 检测未在/proc显示但消耗CPU的进程 ps -eo pid | grep -vwFf (ls /proc | grep ^[0-9]\$) | xargs -r ps -fpWindows进程伪装检测Get-WmiObject Win32_Process | Where-Object { $_.Name -eq svchost.exe -and $_.ExecutablePath -notlike *\system32\* } | Select-Object ProcessId,CommandLine5. 横向移动检测与网络隔离5.1 内网扫描行为识别!-- 检测端口扫描行为 -- RuleGroup nameDiscovery NetworkConnect onmatchinclude DestinationPort nameT1046 conditionis22/DestinationPort DestinationPort nameT1046 conditionis3389/DestinationPort DestinationIp conditionis192.168.0.0/16/DestinationIp /NetworkConnect /RuleGroup5.2 矿池通信阻断策略协议特征检测方法处置措施Stratum协议JSON-RPC包含mining.submit阻断目的IP端口XMRig协议HTTP POST含login参数拦截域名解析加密流量JA3指纹匹配矿池客户端TLS解密检测6. 防御体系自查清单6.1 检测覆盖度评估[ ] 所有管理端口SSH/RDP的暴力破解监控[ ] 计划任务/服务创建的实时审计[ ] 矿池域名/IP的情报匹配[ ] 高CPU进程的关联分析[ ] 日志清除操作的告警6.2 响应处置流程快速遏制# Linux示例隔离受影响主机 iptables -A INPUT -s 192.168.1.100 -j DROP根除措施# Windows示例清除持久化项 Remove-Item -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\Miner -Force恢复验证# 检查矿池连接残留 netstat -tulnp | grep -E 3333|5555|9999在实际部署中建议将Sysmon作为基础数据采集层EDR系统进行高级行为分析两者协同构建纵深防御体系。某金融客户实践表明该方案使挖矿木马驻留时间从平均14天缩短至2小时内检测准确率达到92%以上。