VEN0mランサムウェア:Windows Defenderの弱点
Detection stack
- AIDR
- Alert
- ETL
- Query
概要
VEN0mはRustで書かれたオープンソースのランサムウェアで、カーネルレベルの保護を回避するために既知の脆弱なカーネルドライバ(IMFForceDelete.sys)をバンドルしています。テストでは、マルウェアはファイルを暗号化し、永続性を確立し、Windows Defenderが有効な状態の完全にパッチされたWindows 11ホスト上に身代金メモを表示しました。プロセスは9つのステージを持ち、脆弱なドライバのロードが成功することにかかっています。キーとなる防御策は簡単で、ドライバのロードを停止することで攻撃を中断させることができます。このレポートは、リスキーなカーネルドライバーが堅牢なシステムでも実行を容易にするエンドポイントの盲点を強調しています。
調査
Ransom-ISACはWindows 11 Pro 24H2の制御されたラボで侵入を再現し、9つのフェーズすべてを文書化しました。プロセスは、DelegateExecuteハイジャックを介してslui.exeを活用したUACバイパスから始まり、IOCTL操作を通じて防御を弱め、ファイル暗号化を可能にするドライバ支援タミングへと移行します。マジックソードプラットフォームは、脆弱なドライバーがロードされる前にブロックすることで活動を中断しました。DFIRのレポートは、ソースレベルの観察とフォレンジックアーティファクトも含んでおり、2026年2月26日の日付が示されています。
緩和
緩和策はドライバロードの防止とアプリケーション制御の強制に関するものです。推奨される対策には、Windows Defender Application Control (WDAC) を有効にするか、信頼できるサードパーティの脆弱ドライバブロックリスト(例、MagicSword)を使用すること、ASR規則56a863a9-875e-4185-98a7-b882c64b5ce5を実施すること、そしてハイパーバイザー保護コードインテグリティ (HVCI) をオンにすることが含まれます。VEN0m.exeをブロックするためにアプリケーション制御を強制モードで実行し、ドライバー拒否ルールに明示的にIMFForceDelete.sysを含めてください。ブロックリストを最新の状態に保ち、疑わしいドライバのインストールとロードのアクティビティにアラートを設定してください。
対応
VEN0mが検出された場合、直ちにホストを隔離し、VEN0m.exeを終了し、IMFForceDelete.sysをディスクから削除してください。検証済みのバックアップから暗号化されたデータを復旧し、Windows Defender保護の整合性と設定を確認してください。WDACと関連するASRポリシーを適用または強化し、WinlogonUserinitの値が変更されたものや疑わしいスケジュールタスクといった永続性アーティファクトの完全なフォレンジックスイープを完了してください。
"graph TB %% Class definitions classDef technique fill:#99ccff %% Node definitions tech_uac_bypass["<b>Technique</b> – <b>T1548.002 助成制御メカニズム: ユーザーアカウント制御のバイパス</b><br/><b>説明</b>: 特権を獲得するためにUACをバイパス。"] class tech_uac_bypass technique tech_code_sign_mod["<b>Technique</b> – <b>T1553.006 信頼制御の改ざん: コード署名ポリシーの変更</b><br/><b>説明</b>: CVE-2025-26125を介して脆弱なドライバーIMFForceDelete.sysをロードするためにコード署名ポリシーを変更。"] class tech_code_sign_mod technique tech_impair_def["<b>Technique</b> – <b>T1562 防御の阻害</b><br/><b>説明</b>: セキュリティ防御を無効にするためにWindows Defenderファイルを削除。"] class tech_impair_def technique tech_winlogon_helper["<b>Technique</b> – <b>T1547.004 ブートまたはログオン時に自動起動する実行: Winlogon ヘルパー DLL</b><br/><b>説明</b>: ログオン時にマルウェアDLLをロードするためにUserinitレジストリ値を修正。"] class tech_winlogon_helper technique tech_encrypt["<b>Technique</b> – <b>T1486 インパクトのためのデータ暗号化</b><br/><b>説明</b>: AES-256-GCM暗号化を使用してターゲットファイルを暗号化。"] class tech_encrypt technique tech_scheduled_task["<b>Technique</b> – <b>T1053 スケジュールされたタスク/ジョブ</b><br/><b>説明</b>: ランサムウェアメモを定期的に表示するスケジュールタスクを作成。"] class tech_scheduled_task technique %% Connections showing attack flow tech_uac_bypass –>|enables| tech_code_sign_mod tech_code_sign_mod –>|enables| tech_impair_def tech_impair_def –>|enables| tech_winlogon_helper tech_winlogon_helper –>|enables| tech_encrypt tech_encrypt –>|enables| tech_scheduled_task "
アタックフロー
シミュレーション実行
前提条件:テレメトリー&ベースラインプレフライトチェックが合格していること。
理由:このセクションでは、対策ルールをトリガーするために設計された敵の技術(TTP)の正確な実行を詳細に説明しています。コマンドと説明は、特定されたTTPを直接反映し、検出ロジックによって予想されるテレメトリーを正確に生成することを目的とします。抽象的または無関係な例は誤診につながります。
-
攻撃の説明とコマンド:
- 調査: 攻撃者はシステムを列挙してWindows Defenderのインストールディレクトリを探します(
C:Program FilesWindows Defender). - 防御の無効化 (T1562.001): 特権プロセスを使用して攻撃者は
MsMpEng.dllおよび関連するDefenderバイナリを削除し、Sysmonが FileDelete イベントをファイル名がDefenderパスで終了するターゲットに発生させます。 - 悪意あるドライバの展開 (T1211, T1548.002, T1569.002): 悪意あるドライバファイル
ven0m.sysが%AppData%LocalTempにコピーされます。攻撃者はsc createを介してドライバをサービスとして登録します(タスクスケジュールを通じてUACバイパスを利用)。これにより、一時フォルダー内の FileCreate イベントが発生します。.sysファイルのため。 - 永続性 (T1053.005): スケジュールタスクが作成され、システム起動時にドライバローダを実行し、再起動後もドライバがロードされるようにします。
- 調査: 攻撃者はシステムを列挙してWindows Defenderのインストールディレクトリを探します(
-
回帰テストスクリプト:
# VEN0m AV/EDR シュレッディング & BYOVD シミュレーション # ------------------------------------------------- # 1. Windows Defenderバイナリの削除(コピーでシミュレート) $defenderPath = "C:Program FilesWindows Defender" $dummyDefender = "$defenderPathMsMpEng.dll" New-Item -Path $dummyDefender -ItemType File -Force | Out-Null Write-Output "Defenderバイナリ削除をシミュレート中..." Remove-Item -Path $dummyDefender -Force # 2. 書き込み可能な場所に悪意あるドライバを配置 $driverSrc = "$env:USERPROFILEDownloadsven0m.sys" $driverDst = "$env:LOCALAPPDATATempven0m.sys" # プレースホルダードライバファイルの作成(デモ用の空バイナリ) Set-Content -Path $driverSrc -Value "Fake driver content" Copy-Item -Path $driverSrc -Destination $driverDst -Force Write-Output "ドライバが $driverDst にドロップされました" # 3. ドライバをサービスとして登録(管理者が必要) $svcName = "Ven0mDrv" $svcCmd = "sc create $svcName binPath= `"$driverDst`" type= kernel start= demand" Write-Output "ドライバサービス登録中..." Invoke-Expression $svcCmd # 4. 永続性用のスケジュールタスクを作成 $action = New-ScheduledTaskAction -Execute "sc.exe" -Argument "start $svcName" $trigger = New-ScheduledTaskTrigger -AtStartup $taskName = "Ven0mPersistence" Register-ScheduledTask -TaskName $taskName -Action $action -Trigger $trigger -RunLevel Highest -Force Write-Output "Scheduled task $taskName created." # ------------------------------------------------- -
クリーンアップコマンド:
# VEN0mシミュレーションアーティファクトのクリーンアップ # ドライバーサービスの停止と削除 sc stop Ven0mDrv sc delete Ven0mDrv # ドライバファイルの削除 Remove-Item -Path "$env:LOCALAPPDATATempven0m.sys" -Force # スケジュールタスクの削除 Unregister-ScheduledTask -TaskName "Ven0mPersistence" -Confirm:$false # ダミーDefenderファイルの削除(まだ存在する場合) $defenderDummy = "C:Program FilesWindows DefenderMsMpEng.dll" if (Test-Path $defenderDummy) { Remove-Item -Path $defenderDummy -Force } # 一時的なドライバーソースファイルの削除 Remove-Item -Path "$env:USERPROFILEDownloadsven0m.sys" -Force