SOC Prime Bias: 中程度

04 Jun 2026 15:13 UTC

悪魔が後からやってくる: Havoc StagerがMicrosoft Defender DLPに隠れる

Author Photo
SOC Prime Team linkedin icon フォローする
悪魔が後からやってくる: Havoc StagerがMicrosoft Defender DLPに隠れる
shield icon

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

攻撃フロー

シミュレーション実行

前提条件: テレメトリー&ベースラインプレフライトチェックが合格している必要があります。

理論: このセクションは、検出規則をトリガーするために設計された敵対技術(TTP)の正確な実行を詳細に説明します。コマンドと物語は、識別されたTTPを正確に反映し、検出ロジックで期待される正確なテレメトリーを生成することを目的とします。

  • 攻撃の物語とコマンド:
    被害者マシンに初期の足場を得た攻撃者は、ユーザーログオン間での持続性を維持したいと考えます。彼らは UserInitMprLogonScript 値を選びます。それはユーザーのシェルが開始する 前に 実行され、初期のコード実行を提供します。攻撃者は隠されたバイナリ mpextms.exe (のリネーム版 rundll32.exe)をユーザーのAppDataフォルダに配置し、認証情報を抽出する悪意のあるDLL endpointdlp.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 "クリーンアップ完了。"