
EDRUnChoker - EDRChokerのQoSスロットリングポリシーを削除するファイルレスWMI防御
EDRChoker 向けのファイルレスWMI修復ツール — EDRエージェントのネットワーク帯域をほぼゼロにまで絞るQoS悪用(pacer.sys)に対抗します。
root\subscription に永続サブスクリプションを登録します(ディスク上にファイルは残りません)。5秒タイマーが組み込みVBScriptを実行し、ActiveStore と GPO:localhost の WbemContext PolicyStore を使って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 の Application ログへ 警告 が書き込まれます。削除されたポリシーごとに1つのイベントが出力され、修復の証跡として、またホスト上の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 |
EDRChokerDefense_QoSFilter、EDRChokerDefense_QoSConsumer、EDRChokerDefense_Timer に関わるすべての活動、および変更ウィンドウ外での新規 ActiveScriptEventConsumer / CommandLineEventConsumer インスタンスに対してアラートを発報してください。
定期検証(GPO/スクリプト): Get-WmiObject -Namespace root\subscription -Class __EventFilter | Where-Object Name -like 'EDRChokerDefense*'
WmiEventFilter ↔ コンシューマー間のバインド変更 |