SOC Prime Bias: 中程度

12 11月 2025 15:37

Maverick マルウェア: SOC チーム向けの実用的なレポート

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Follow
Maverick マルウェア: SOC チーム向けの実用的なレポート
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

マーベリックトロイの木馬分析

マーベリックトロイの木馬は、WhatsApp Webを介したソーシャルエンジニアリングを利用して、LNKショートカットを含む悪意のあるZIPアーカイブを配信する、ブラジルを標的とした高度なバンキングマルウェアです。これにより、難読化されたPowerShellと.NETローダーが引き起こされ、ファイルレス感染チェーンを実行します。マルウェアは被害者システムがブラジルにあることを確認(タイムゾーン、ロケール、地域のチェックを通じて)し、その後ブラウザセッションを監視し、ハードコードされたブラジルの銀行、暗号取引所、支払いプラットフォームのリストを標的とします。コードの重複は、以前のコヨーテトロイキャンペーンとマーベリックを関連付けますが、そのアーキテクチャと伝播方法は進化を表しています。このレポートは、SOCチームに攻撃フロー、妥協の主要な指標(IOC)、検出クエリ、緩和コントロール、およびマーベリックに対して防御するために必要なシミュレーションガイドラインを提供します。

マーベリックマルウェア調査

研究者たちは、マーベリックの最初の感染ベクターがWhatsApp Webを介して配信されるZIPアーカイブであり、これには悪意のあるLNKファイルが含まれていることを観察しました。このLNKはPowerShellチェーンを実行し、C2サーバー(例:sorvetenopote[.]com)から最初のローダーをダウンロードします。ローダーは、すべてをメモリ内で実行する.NETアセンブリをデコードし、ディスクにファイルをドロップせずに実行します。一つの実行分岐は、SeleniumとWPPConnectを使用してWhatsAppの感染モジュールをインストールし、ブラウザセッションをハイジャックし、自己伝播させます。第二の分岐は、“Maverick.Agent”と呼ばれるバンキングペイロードをロードし、被害者がブラジル人であることを確認(UTC−5からUTC−2のタイムゾーン、ロケール“pt-BR”)し、HealthApp-<GUID>.batをスタートアップフォルダーに配置して永続化を確立し、ブラウザのフォアグラウンドウィンドウを圧縮/暗号化された銀行URLのリストで監視し、一致が発生するとモジュールを復号化し、実行して認証情報の盗難、キーロギング、スクリーンショットキャプチャ、オーバーレイフィッシング、C2通信を実行します。多数のコード再利用パターンと同一のAES/GZIP暗号化ルーチンがマーベリックをコヨーテと結びつけています。

マーベリックのエクスプロイト軽減

マーベリックから防御するために、SOCチームは厳密なコントロールと多層防御を施行しなければなりません。機密システムへアクセスできる従業員に対してWhatsApp Webの使用を制限または禁止します。メッセージングプラットフォームからのZIP添付ファイルやショートカットに焦点を当てたフィッシング認識トレーニングを実施します。厳格なPowerShell実行ポリシーを適用します(例:未署名スクリプトを制限、使用頻度を記録、IEX DownloadStringパターンをブロック)。スタートアップフォルダでの不審なバッチファイルの作成を監視します(例:“HealthApp-*.bat”)。リフレクティブな.NETローディングやメモリ内でのDonutシェルコード実行を検出できるエンドポイント検出および応答(EDR)ソリューションを使用します。sorvetenopote[.]comやzapgrande[.]comなどの既知の悪意のあるドメインおよびC2インフラをDNS/ファイアウォールレイヤーでブロックします。最新のアンチウイルス/EDRシグネチャおよび脅威フィードを維持し、自動ブラウザセッションハイジャックツールを無効にまたは監視します。

マーベリックバンクマルウェアへの対応方法

潜在的なマーベリック感染が検出された場合、インシデント対応者は直ちに影響を受けたホストを隔離し、フォレンジック調査を開始する必要があります。SIEM/EDRで検出クエリを使用して、怪しいドメインからのPowerShellの DownloadString 呼び出しやメモリ内のリフレクティブ.NET実行、スタートアップフォルダからのバッチファイルの起動を見つけます。“HealthApp-<GUID>.bat”と命名されたバッチファイルを隔離し、関連するC2ドメインとIPをブロックします。ブラウザプロファイルをレビューして、ChromeDriverやSeleniumのような不正な自動化ツールをチェックします。影響を受けたユーザーの銀行の資格情報をリセットし、すべての金融サービスアクセスに多要素認証(MFA)を強制します。マーベリックからの残存モジュールがないか確認し、徹底的なクリーンアップを保証します。エージェントは残らず、ネットワーク全体で完全なマルウェアスイープを実行します。

mermaid graph TB %% クラス定義 classDef action fill:#99ccff classDef tool fill:#ffcc99 classDef malware fill:#ff9999 classDef process fill:#ccffcc classDef operator fill:#ff9900 %% ノード delivery_content_injection[“<b>アクション</b> – <b>T1659 コンテンツ注入</b><br /><b>説明</b>: WhatsApp Webを介して送信される悪意のあるZIP/LNKファイル”] class delivery_content_injection action phishing_service[“<b>アクション</b> – <b>T1566.003 フィッシング: サービスを介したスピアフィッシング</b><br /><b>説明</b>: 悪意のあるペイロードを配布するためにWhatsAppをサービスとして使用”] class phishing_service action user_execution[“<b>アクション</b> – <b>T1204.002 ユーザー実行</b><br /><b>説明</b>: 被害者がショートカットを開き、難読化されたcmdを引き起こす”] class user_execution action cmd_tool[“<b>ツール</b> – <b>名前</b>: cmd.exe”] class cmd_tool tool powershell_interpreter[“<b>アクション</b> – <b>T1059.001 PowerShell</b><br /><b>説明</b>: Base64ペイロードをデコードし、コマンドを実行”] class powershell_interpreter action powershell_tool[“<b>ツール</b> – <b>名前</b>: PowerShell”] class powershell_tool tool obfuscation[“<b>アクション</b> – <b>T1027.014 難読化されたファイルや情報</b><br /><b>説明</b>: 多形コード、トークン分割、ネストされたFORループ、Base64およびUTF‑16LE”] class obfuscation action location_discovery[“<b>アクション</b> – <b>T1614.001 システム位置発見</b><br /><b>説明</b>: 言語や地理位置を確認し、ブラジルでない場合は中止”] class location_discovery action sandbox_evasion[“<b>アクション</b> – <b>T1497.002 仮想化/サンドボックス回避</b><br /><b>説明</b>: ユーザー活動に基づいたチェック”] class sandbox_evasion action uac_bypass[“<b>アクション</b> – <b>T1548.002 権限昇格メカニズムの悪用: ユーザーアカウント制御のバイパス</b><br /><b>説明</b>: Microsoft DefenderとUACを無効化”] class uac_bypass action persistence_startup[“<b>アクション</b> – <b>T1037.004 ブートまたはログオンの初期化スクリプト: RCスクリプト</b><br /><b>説明</b>: スタートアップフォルダにバッチファイルをドロップ”] class persistence_startup action batch_file[“<b>プロセス</b> – <b>名前</b>: HealthApp‑.bat”] class batch_file process persistence_startup_item[“<b>アクション</b> – <b>T1037.005 ブートまたはログオンの初期化スクリプト: スタートアップアイテム</b><br /><b>説明</b>: バッチがC2に定期的に接続”] class persistence_startup_item action process_discovery[“<b>アクション</b> – <b>T1057 プロセス発見</b><br /><b>説明</b>: ブラウザのプロセスを列挙”] class process_discovery action session_hijack[“<b>アクション</b> – <b>T1539 ウェブセッションクッキーの盗難</b> / <b>T1185 ブラウザセッションハイジャック</b><br /><b>説明</b>: 銀行サイトからのクッキーをキャプチャ”] class session_hijack action web_c2_bidirectional[“<b>アクション</b> – <b>T1102.002 ウェブサービス: 双方向通信</b><br /><b>説明</b>: zapgrande.comへのHTTPS API呼び出し”] class web_c2_bidirectional action web_c2_oneway[“<b>アクション</b> – <b>T1102.003 ウェブサービス: 一方向通信</b><b説明</b>: 追加のペイロードを取得”] class web_c2_oneway action proxy_execution[“<b>アクション</b> – <b>T1216 システムスクリプトプロキシ実行およびT1218システムバイナリプロキシ実行</b><br /><b>説明</b>: PowerShellやcmd.exeがプロキシとして機能し、リモートスクリプトをメモリで実行”] class proxy_execution action masquerading[“<b>アクション</b> – <b>T1036.001 偽装</b><br /><b>説明</b>: .lnk、.zipなどに偽装されたファイル、無効な署名付き”] class masquerading action malware_payload[“<b>マルウェア</b> – <b>名前</b>: 難読化されたPowerShellローダー”] class malware_payload malware %% オペレーター op_and_location((“AND”)) class op_and_location operator %% 接続 delivery_content_injection u002du002d>|配信| phishing_service phishing_service u002du002d>|導く| user_execution user_execution u002du002d>|実行| cmd_tool cmd_tool u002du002d>|起動| powershell_interpreter powershell_interpreter u002du002d>|使用| powershell_tool powershell_tool u002du002d>|実行| obfuscation obfuscation u002du002d>|有効化| location_discovery location_discovery u002du002d>|渡す| op_and_location sandbox_evasion u002du002d>|関連| op_and_location op_and_location u002du002d>|許可| uac_bypass uac_bypass u002du002d>|確立| persistence_startup persistence_startup u002du002d>|作成| batch_file batch_file u002du002d>|呼び出す| web_c2_bidirectional web_c2_bidirectional u002du002d>|取得| web_c2_oneway web_c2_oneway u002du002d>|提供| proxy_execution proxy_execution u002du002d>|実行| malware_payload malware_payload u002du002d>|ドロップ| persistence_startup_item persistence_startup_item u002du002d>|定期的に接触| web_c2_bidirectional process_discovery u002du002d>|ブラウザの特定| session_hijack session_hijack u002du002d>|窃取経路| web_c2_bidirectional proxy_execution u002du002d>|隠蔽| masquerading %% クラスを適用 class delivery_content_injection action class phishing_service action class user_execution action class cmd_tool tool class powershell_interpreter action class powershell_tool tool class obfuscation action class location_discovery action class sandbox_evasion action class uac_bypass action class persistence_startup action class batch_file process class persistence_startup_item action class web_c2_bidirectional action class web_c2_oneway action class proxy_execution action class masquerading action class malware_payload malware class process_discovery action class session_hijack action

攻撃フロー

マーベリックトロイの木馬ペイロード

シミュレーション手順

前提条件:テレメトリ & ベースラインのプレフライトチェックが通過していること。

理由:このセクションは、検出ルールをトリガーするために設計された敵の技術(TTP)の正確な実行を詳述します。コマンドと説明は、識別されたTTPを直接反映し、検出ロジックによって期待される正確なテレメトリを生成することを目的としなければなりません。抽象的または無関係な例は、誤診につながります。

  • 攻撃の説明とコマンド:

    1. 初期偵察(ルールに対して動作しないため、省略)。
    2. C2コンタクト: 敵は、 PowerShellのワンライナーを起動し、zapgrande.com を解決し、HTTP GETリクエストを実行してマルウェアのビーコンを模倣します。これにより、Sysmon NetworkConnectイベントが生成され、DestinationHostname = zapgrande.com.
    3. ペイロード取得: GETの直後にスクリプトが同じホストから小さな実行可能ペイロードをダウンロードし、%TEMP%.

    攻撃者はネイティブのInvoke-WebRequest を使用して、別の悪意のあるバイナリを作成せず、“土地で生活し続ける”ために利用します。

  • レグレッションテストスクリプト:

    # -------------------------------------------------
    # Maverick C2ドメインのコンタクト用シミュレーションスクリプト
    # -------------------------------------------------
    $maliciousDomains = @("zapgrande.com","sorvetenopote.com")
    foreach ($domain in $maliciousDomains) {
        try {
            Write-Host "[*] C2ホストに接触:$domain"
            # DNSを解決(DNSクエリログを生成)