无文件WMI修复方案,用于EDRChoker,抵御QoS滥用(pacer.sys),该滥用将EDR代理的网络带宽限制到接近零。
在root\subscription中注册一个永久订阅(磁盘上无文件)。一个5秒定时器运行嵌入的VBScript,该脚本使用WbemContext PolicyStore枚举ActiveStore和GPO:localhost上的QoS策略——普通的WMI ExecQuery会遗漏由New-NetQosPolicy/EDRChoker创建的ActiveStore策略——并移除针对已知安全产品或激进速率(≤1 Mbps)的恶意应用路径限流。
| 脚本 | 用途 |
|---|---|
Install-EdrChokerWmiDefense.ps1 | 部署订阅(需提权) |
Uninstall-EdrChokerWmiDefense.ps1 | 移除订阅 |
Get-EdrChokerDefenseStatus.ps1 | 检查订阅和策略数量 |
.\Install-EdrChokerWmiDefense.ps1
.\Get-EdrChokerDefenseStatus.ps1
每次成功清理都会在应用程序日志中写入一条警告,源为EDRChokerDefense。每移除一条策略会产生一个事件,可作为修复证据,并用于关联主机上的EDRChoker活动。
| 事件ID | 含义 |
|---|---|
| 1000 | 订阅已安装 |
| 1001 | 订阅已移除 |
| 1002 | 恶意QoS策略已移除 |
| 1003 | 修复失败 |
1002示例: action=remediate qos_policy=02zxnnzr target=elastic-endpoint.exe throttle_bps=8 tier=tier1-known-edr store=ActiveStore
Get-WinEvent -FilterHashtable @{ LogName='Application'; ProviderName='EDRChokerDefense' } -MaxEvents 50
通过WEF、Splunk UF、Elastic Agent等转发ProviderName="EDRChokerDefense"。
攻击者可能删除或修改root\subscription中的WMI对象以禁用防御。安装后应对订阅进行基线化,并对变化发出告警。
Sysmon(推荐):启用并监控:
| Sysmon ID | 监控内容 |
|---|---|
| 19 | WmiEventFilter 创建/修改/删除 |
| 20 | WmiEventConsumer 创建/修改/删除 |
| 21 | WmiEventFilter ↔ consumer 绑定变更 |
对涉及EDRChokerDefense_QoSFilter、EDRChokerDefense_QoSConsumer或EDRChokerDefense_Timer的任何活动发出告警,并对变更窗口外的新ActiveScriptEventConsumer/CommandLineEventConsumer实例发出告警。
定期验证(GPO/脚本):Get-WmiObject -Namespace root\subscription -Class __EventFilter | Where-Object Name -like 'EDRChokerDefense*'