悪魔が後からやってくる: Havoc StagerがMicrosoft Defender DLPに隠れる
Detection stack
- AIDR
- Alert
- ETL
- Query
要約
ブラジルの脅威アクターが偽の電子請求書を配布している NF-e 悪意のあるMSIインストーラーを届けるZIP添付。MSIは、実際にはHavocステージャーとして機能する偽のMicrosoft Defender Endpoint DLP DLLをドロップします。起動すると、ステージャーはリモートのコマンド&コントロールサーバーに接続し、インメモリのHavocペイロードを取得し、 ログオンスクリプト レジストリ値を通じて持続性を作成します。同様の変種が、マレーシア登録のドメインでも観察されており、同じ配達ラッパーを使用しています。
調査
LevelBlue SpiderLabsはZIPアーカイブ、VBSドロッパー、MSIパッケージを分析し、署名されたMicrosoftバイナリである mpextms.exeと、署名されていない endpointdlp.dll ステージャーをペアリング。ステージャーには、コマンド&コントロールホスト、URLパス、ミューテックス文字列を含むクリアテキスト設定値が含まれていました。ネットワークキャプチャは、特定のIPアドレスへのGETおよびPOSTトラフィックと明示的なユーザーエージェント値を明らかにしました。研究者は、同じバージョンメタデータとインポートハッシュを共有する9つの関連ステージャー変種を特定しました。
緩和策
ディフェンダーは、Microsoft Defender Endpoint DLPまたはDragon Data Protectionコンポーネントを装った署名なしのDLLを検出し、変更を監視する必要があります HKCUEnvironmentUserInitMprLogonScriptと、既知のミューテックス値を警告。公開されたYARAルールは、Havocペイロードが読み込まれる前にステージャーを検出するために展開されるべきです。セキュリティチームはまた、アーカイブ内で配信されるすべてのMicrosoftブランドバイナリのAuthenticode署名を確認する必要があります。
応答
このアクティビティが検出された場合、関連IPアドレスとドメインをブロックし、MSIおよびDLLファイルを隔離し、悪意のある ログオンスクリプト レジストリエントリを削除してください。ホストのフォレンジックスを行い、インメモリのHavocペイロードがアクティブでないことを確認し、影響を受けたユーザーの資格情報をローテーションしてください。関連するビジネスチームに通知し、類似のNF-eをテーマとした添付ファイルをブロックするようメール保護を更新するべきです。
graph TB %% クラス定義 classDef action fill:#99ccff classDef tool fill:#ffcc99 classDef malware fill:#ff9999 classDef process fill:#ccffcc classDef operator fill:#ff9900 %% ノード action_phishing[“<b>アクション</b> – <b>T1566.001 フィッシング: スピアフィッシング添付ファイル</b><br/>ブラジルのNF-e請求書を装った悪意のあるZIPファイルを配信”] class action_phishing action action_vbscript[“<b>アクション</b> – <b>T1059.005 コマンドおよびスクリプトインタープリター: Visual Basic</b><br/>隠されたVBScriptが非表示のcmdを起動し、MSIのダウンロードを開始する”] class action_vbscript action action_download_msi[“<b>アクション</b> – <b>T1218.007 署名済みバイナリプロキシ実行: Msiexec</b><br/>Curlが呼び出され、Google Cloud Storageから<i>update.msi</i>を取得する”] class action_download_msi action action_msi_execution[“<b>アクション</b> – <b>T1218.007 署名済みバイナリプロキシ実行: Msiexec</b><br/>MsiexecがMSIを実行し、署名済みの<i>mpextms.exe</i>と悪意のある<i>endpointdlp.dll</i>を展開する”] class action_msi_execution action action_dll_sideload[“<b>アクション</b> – <b>T1218 DLLサイドローディング</b> および <b>T1036.001 なりすまし</b><br/><i>endpointdlp.dll</i>はMicrosoft Defender DLLを模倣しているが、有効な署名を持たない”] class action_dll_sideload action action_stager_c2[“<b>アクション</b> – <b>T1102.002 アプリケーション層プロトコル: Webプロトコル</b><br/>ステージャーはカスタムUser-Agent「Microsoft-Delivery-Optimization/10.1」を使用して GET /stage/<hex> を送信する”] class action_stager_c2 action action_download_havoc[“<b>アクション</b> – <b>T1219 リモートアクセスツール</b><br/>HavocデーモンがHTTP経由でダウンロードされ、ディスクに書き込まずメモリ上で直接実行される”] class action_download_havoc action action_persistence[“<b>アクション</b> – <b>T1037.001 ログオンスクリプト</b><br/>HKCU\\Environment\\UserInitMprLogonScript に書き込みを行い、ユーザーログオン時に <i>mpextms.exe</i> を起動する”] class action_persistence action action_telemetry[“<b>アクション</b> – <b>T1102.003 アプリケーション層プロトコル: Webプロトコル</b><br/>C2サーバーへ POST /api/v2/telemetry/diag を送信する”] class action_telemetry action action_defense_evasion[“<b>アクション</b> – <b>T1027.013 難読化されたファイルまたは情報: 埋め込みペイロード</b>、<b>T1027.010 バイナリパディング</b>、<b>T1564.003 アーティファクト隠蔽</b><br/>ペイロードは暗号化され、コマンドは難読化され、非表示ウィンドウで実行される”] class action_defense_evasion action %% 攻撃フロー action_phishing –>|につながる| action_vbscript action_vbscript –>|トリガーする| action_download_msi action_download_msi –>|呼び出す| action_msi_execution action_msi_execution –>|インストールする| action_dll_sideload action_dll_sideload –>|通信する| action_stager_c2 action_dll_sideload –>|作成する| action_persistence action_stager_c2 –>|ダウンロードする| action_download_havoc action_stager_c2 –>|送信する| action_telemetry action_download_havoc –>|可能にする| action_defense_evasion
攻撃フロー
検出
可能な持続性ポイント [ASEPs – Software/NTUSER Hive] (via registry_event)
表示
疑わしいCURL使用 (via cmdline)
表示
IOC(HashSha256)を検出:The Demon Arrives Later: A Havoc Stager Hides Behind Microsoft Defender DLP
表示
IOC(HashMd5)を検出:The Demon Arrives Later: A Havoc Stager Hides Behind Microsoft Defender DLP
表示
IOC(SourceIP)を検出:The Demon Arrives Later: A Havoc Stager Hides Behind Microsoft Defender DLP
表示
IOC(DestinationIP)を検出:The Demon Arrives Later: A Havoc Stager Hides Behind Microsoft Defender DLP
表示
Havocステージャーのネットワーク活動の検出 [Windowsネットワーク接続]
表示
UserInitMprLogonScriptレジストリ変更による持続性 [Windowsレジストリエベント]
表示
シミュレーション実行
前提条件: テレメトリー&ベースラインプレフライトチェックが合格している必要があります。
理論: このセクションは、検出規則をトリガーするために設計された敵対技術(TTP)の正確な実行を詳細に説明します。コマンドと物語は、識別されたTTPを正確に反映し、検出ロジックで期待される正確なテレメトリーを生成することを目的とします。
-
攻撃の物語とコマンド:
被害者マシンに初期の足場を得た攻撃者は、ユーザーログオン間での持続性を維持したいと考えます。彼らはUserInitMprLogonScript値を選びます。それはユーザーのシェルが開始する 前に 実行され、初期のコード実行を提供します。攻撃者は隠されたバイナリmpextms.exe(のリネーム版rundll32.exe)をユーザーのAppDataフォルダに配置し、認証情報を抽出する悪意のあるDLLendpointdlp.dllを作成します。レジストリ値を"%APPDATA%mpextms.exe" "%APPDATA%endpointdlp.dll"に設定することにより、攻撃者は各ログオン時にDLLが署名されたrundll32.exeプロキシによってサイドローディングされることを確実にし、 T1218.007 and T1027.013 を満たし、単純なバイナリホワイトリストを回避します。 -
回帰テストスクリプト:
# ------------------------------------------------- # ステップ1: 悪意のあるバイナリをドロップ(シミュレート) $payloadDir = "$env:APPDATAMalicious" New-Item -ItemType Directory -Path $payloadDir -Force | Out-Null # イミテーション 'mpextms.exe' - 現実性を高めるためrundll32.exeをリネームして使用 $src = "$env:SystemRootSystem32rundll32.exe" $dstExe = Join-Path $payloadDir "mpextms.exe" Copy-Item -Path $src -Destination $dstExe -Force # シミュレートされた悪意のあるDLL(テスト目的で空のファイル) $dllPath = Join-Path $payloadDir "endpointdlp.dll" New-Item -ItemType File -Path $dllPath -Force | Out-Null # ステップ2: 持続性のレジストリエントリを作成 $regPath = 'HKCU:Environment' $regName = 'UserInitMprLogonScript' $regValue = "`"$dstExe`" `"$dllPath`"" Set-ItemProperty -Path $regPath -Name $regName -Value $regValue -Force Write-Host "持続性エントリ作成: $regName = $regValue" # ------------------------------------------------- -
クリーンアップコマンド:
# レジストリの持続性エントリを削除 Remove-ItemProperty -Path 'HKCU:Environment' -Name 'UserInitMprLogonScript' -ErrorAction SilentlyContinue # ドロップされたファイルを削除 $payloadDir = "$env:APPDATAMalicious" Remove-Item -Path $payloadDir -Recurse -Force -ErrorAction SilentlyContinue Write-Host "クリーンアップ完了。"