RoguePlanetがDefenderの隔離パイプラインを通じてWindowsゼロデイを悪用
Detection stack
- AIDR
- Alert
- ETL
- Query
概要
RoguePlanetは、Windows上でMicrosoft Defenderの隔離と修復ワークフローを悪用するローカル権限昇格のゼロデイ攻撃です。NTFSディレクトリジャンクション、暫定ロック、ボリュームシャドウコピーサービスを組み合わせることで、低権限のユーザーがDefenderの処理を妨害し、任意のコードを実行するよう強制することができます NT AUTHORITYSYSTEMとして。このエクスプロイトは、ファイルの隔離操作中にタイミング競争を常に勝つための決定論的なI/Oサチュレーション手法に依存しています。
調査
Howler Cell脅威調査チームは、完全にパッチを適用されたWindows 11 Proシステムでこのエクスプロイトを再現し、メモリ破損や管理者アクセスなしでSYSTEMレベルのコード実行が達成されることを確認しました。彼らの分析では、埋め込みISOイメージ、NTFSリパースポイント、および WER QueueReporting スケジュールされたタスクの悪用を含む7段階の攻撃チェーンが特定されました。研究者たちはまた、わずかなソースレベルの変更により、静的検出を比較的容易に回避できることを指摘しました。
緩和策
現在、RoguePlanetの根本的な原因に対処する公式なパッチは存在しません。防御者は、このエクスプロイトに関連する特定の名前付きパイプの作成と、UUIDのようなディレクトリ名を含む異常なファイルシステムアクティビティを監視する必要があります。 %TEMP%直下。NTFSジャンクションの悪用を制限し、ボリュームシャドウコピーを列挙する非システムプロセスの検出に焦点を当てた追加の強化が必要です。
対応
RoguePlanet関連の活動が検出された場合、セキュリティチームは影響を受けたホストを隔離し、 conhost.exe をSYSTEMインテグリティ親からユーザーセッションに生成するプロセスを調査する必要があります。アナリストはまた、 wermgr.exe が予期しないパスから実行されていないかを追跡し、 %TEMP% ディレクトリ構造を確認してください。 RP_ スケジュールされたタスク QueueReporting の不審な実行についてタスクスケジューラのログを確認することも重要です。
graph TB %% Class Definitions Section classDef action fill:#99ccff classDef tool fill:#cccccc classDef process fill:#ccffcc classDef malware fill:#ff9999 classDef technique fill:#e1ccff %% Node Definitions %% Step 1: Preparation prep_iso[“<b>Action</b>: Extract embedded ISO<br/><b>Description</b>: Orchestrator extracts ISO to create a read-only virtual disk<br/><b>Target</b>: %TEMP% directory structure”] class prep_iso action %% Step 2: Payload Delivery payload_ads[“<b>Action</b> – <b id=’T1564.004’>NTFS File Attributes: Alternate Data Streams</b><br/><b>Description</b>: Writing EICAR test file into a hidden ADS named :WDFOO<br/><b>Purpose</b>: Bypass standard file restrictions during delivery”] class payload_ads technique %% Step 3: Race Condition race_condition[“<b>Action</b> – <b id=’T1499’>Endpoint Denial of Service: Impair Defenses</b><br/><b>Description</b>: Using Poseidon I/O subsystem to create high-frequency disk activity<br/><b>Mechanism</b>: I/O saturation and opportunistic locks (oplocks) to pause Defender”] class race_condition technique %% Step 4: Execution Flow Hijacking hijack_junction[“<b>Action</b> – <b id=’T1137’>Office Application: Create or Modify Registry/Files</b><br/><b>Description</b>: Performing junction swaps using NTFS reparse points<br/><b>Target</b>: Redirecting legitimate wermgr.exe path to attacker directory”] class hijack_junction technique overwrite_artifact[“<b>Action</b>: Overwrite SYSTEM-owned artifact<br/><b>Description</b>: Replacing quarantine artifact with malicious payload while maintaining SYSTEM metadata”] class overwrite_artifact action %% Step 5: Privilege Escalation task_trigger[“<b>Action</b> – <b id=’T1053.005’>Scheduled Task/Job: Scheduled Task</b><br/><b>Description</b>: Leveraging Task Scheduler COM interface to trigger QueueReporting task”] class task_trigger technique shell_escalation[“<b>Process</b>: conhost.exe shell<br/><b>Privilege Level</b>: NT AUTHORITYSYSTEM<br/><b>Description</b>: Final execution of redirected payload via hijacked task”] class shell_escalation process %% Connections %% Flow from preparation to payload prep_iso –>|facilitates| payload_ads %% Flow from payload to race condition payload_ads –>|triggers| race_condition %% Flow from race condition to hijacking race_condition –>|enables| hijack_junction %% Flow from hijacking to overwrite hijack_junction –>|results_in| overwrite_artifact %% Flow from overwrite to task trigger overwrite_artifact –>|prepares_for| task_trigger %% Flow from task trigger to final shell task_trigger –>|executes| shell_escalation
攻撃フロー
検出
NT AUTHORITY下の不審なプロセス(process_creation経由)
表示
VHDMP オプティックディスクイメージがマウントされました(VHDMP経由)
表示
RoguePlanetのエクスプロイテーションの可能性がある動作(file_event経由)
表示
RoguePlanetのエクスプロイテーションの可能性がある動作(pipe_created経由)
表示
シャドウコピーへのAbnormal NtQueryDirectoryObjectアクセス[Windows Sysmon]
表示
RoguePlanetエクスプロイトアーティファクトと行為パターンを検出する[Windowsファイルイベント]
表示
RoguePlanetの名前付きパイプとSYSTEM-インテグリティプロセスの異常[Windows Process Creation]
表示
シミュレーション実行
前提条件:テレメトリーとベースラインの事前確認が合格している必要があります。
理由:このセクションは、検出ルールをトリガーするために設計された敵対者の技術(TTP)の正確な実行を詳細に示しています。コマンドと叙述は、特定されたTTPを直接反映し、検出ロジックによって期待される正確なテレメトリーを生成することを目指しています。抽象的または無関係な例は誤診につながります。
-
攻撃の叙述とコマンド: 敵対者は、実行中のWindowsサービスの脆弱性を悪用してSYSTEMレベルのコード実行を達成します。攻撃者は、悪用されたサービスと新たに注入されたスレッド間の通信を促進するために、名前付きパイプ
.pipeRoguePlanetを作成します。権限昇格が成功した後、攻撃者のペイロードは強制的にservices.exeを呼び出し、さらにコマンドを実行するためのインタラクティブな環境を提供します。このシーケンスは、RoguePlanetのエクスプロイトチェーンの挙動を模倣するよう設計されています。conhost.exeto provide an interactive environment for further command execution. This sequence is designed to mimic the behavior of the RoguePlanet exploit chain. -
リグレッション試験スクリプト:
# RoguePlanetの名前付きパイプとプロセスの異常をシミュレートする # 注:このスクリプトは管理者権限を必要とし、サービスのような動作をシミュレートします Write-Host "[+] RoguePlanetのシミュレーションを開始します..." -ForegroundColor Cyan # 1. 名前付きパイプの作成をシミュレート(セレクションパイプに一致) # PowerShellを使用してターゲット指標を模倣する名前付きパイプを作成します $pipeName = "RoguePlanet" $pipe = New-Object System.IO.Pipes.NamedPipeServerStream($pipeName, [System.IO.Pipes.PipeDirection]::InOut) Write-Host "[+] 名前付きパイプ \.pipe$pipeName を作成しました。" -ForegroundColor Green # 2. 異常なプロセス生成をシミュレート(セレクションコンホストとセレクションペアレントに一致) # 本物のエクスプロイトでは、services.exeが親になります。 # カーネルエクスプロイトなしにservices.exeになることが難しいため、 # 規則ロジックが期待する特定の親子関係を模倣するプロセス生成イベントをトリガーすることで、 # テレメトリーをシミュレートします。 Write-Host "[+] services.exeからのconhost.exe生成をシミュレートしています..." -ForegroundColor Cyan # SIEM/Sysmonが # ターゲット親画像で記録するプロセスを作成するトリックを使用します # 検出試験の目的で、特定のImage/ParentImage基準をターゲットとするコマンドを # 実行します。 # 注:実際の検証では、研究者は # 'ProcMon'やカスタムドライバーを使用して、親プロセスID(PPID)を偽装することもあります。 # services.exeを使用して、規則が正確にトリガーされることを確認します。 Start-Process "conhost.exe" -ArgumentList "/c echo シミュレーション完了" -WindowStyle Hidden Write-Host "[+] シミュレーションコマンドが送信されました。SIEMでアラートを確認してください。" -ForegroundColor Yellow # テレメトリーがキャプチャされるようにパイプを一時的に開いたままにしておきます Start-Sleep -Seconds 5 $pipe.Dispose() -
クリーンアップコマンド:
# クリーンアップ:残りのパイプを閉じ、シミュレートされたプロセスを終了します Get-Process conhost | Stop-Process -Force -ErrorAction SilentlyContinue Write-Host "[+] クリーンアップ完了。" -ForegroundColor Green