侵入後に潜むマルウェア「NeedyMantis」、MicrosoftがDLL偽装の手口と対策を解説
侵入後に潜むNeedyMantis、MicrosoftがDLL偽装の手口と対策を解説

Microsoftは2026年9月28日(現地時間)、標的型攻撃で使われる新種マルウェアの解析結果を公開した。このマルウェアは、攻撃者が標的の環境への侵入を済ませた後に展開される「ポストコンプロマイズ型」だ。侵入そのものではなく、長期間の潜伏と、その後の攻撃の足場づくりを担うという。

正規ソフトを装った潜伏の手口

このマルウェア「NeedyMantis」の活動は少なくとも2025年10月までさかのぼる。これまでに通信事業者や大学、政府機関、医療系非営利団体、政府契約企業への侵入で確認された。Microsoftは、観測された活動が中国を拠点とする脅威アクターの動きと一致すると評価する。利用者として特定されたのは、ソフトウェア「DAEMON Tools」のサプライチェーン侵害に関連付けられた攻撃者グループ「Storm-3069」だ。

侵入後に長く居座るマルウェアは、本来なら日々の監視の中で見つかるはずだ。それでも発見を逃れてきた背景には、巧妙な偽装がある。

潜伏を支える「偽装」の手法とは

NeedyMantisは、翻訳支援ツール「Poedit」やデータ転送ツール「curl」、テキストエディタ「Vim」、リモート操作ツール「TightVNC」といったオープンソースソフトウェアに同梱される形で持ち込まれ、「DLLサイドローディング」と呼ばれる手法で起動する。

DLLサイドローディングは、正規のプログラムが起動時に読み込むDLL(プログラム部品)を悪意あるファイルにすり替え、正規プログラムの実行に便乗してマルウェアを動かす手法だ。解析されたサンプルは、Poeditの更新コンポーネント「WinSparkle」のDLLを置き換えていた。この他に「Microsoft Office」やBroadcom、Intel、NVIDIAのDLLコンポーネントを装う例も確認された。

偽装はファイル名だけにとどまらない。NeedyMantisはC++で書かれた複数のコンポーネントとシェルコードで構成され、第1段階のローダーは、難号化と圧縮を施した独自形式のファイルアーカイブから次の段階を取り出して実行する。文字列や定数の難読化、デバッガー検知といった解析妨害の仕組みも備える。第2段階のローダーは拡張子「.ps1」のPowerShellスクリプトを装っているが、中身はシェルコードだ。最終的に展開される主要コンポーネントは、PEファイルを簡略化した独自の実行ファイル形式に変換されている。

通信にも偽装が及ぶ。主要コンポーネントは、コマンド&コントロール(C2)サーバーとの通信と追加モジュールの管理を担う。C2サーバーへの最初の接続はHTTPSのGETリクエストで、その後はWebSocketを使った独自のバイナリプロトコルに切り替わる。通信には「firefox/21.0」という偽のユーザーエージェントが使われ、難号化されたWeb通信に紛れ込む。C2サーバーからの指令にはモジュールの読み込みや解放、データの受け渡しがあり、追加モジュールで機能を拡張できる構造だ。ただし、モジュールの具体的な機能は確認されていないという。

ある侵入事例では、攻撃者が侵入後の手動操作でオープンソースのツールキット「Impacket」を使っていた。正規ソフトウェアと悪性DLL、ファイルアーカイブをネットワーク共有から標的の端末にコピーして実行したという。

「侵入済み」を前提にした検知と防御のポイント

正規ソフトウェアの実行に便乗する以上、侵入時点での検知だけに頼るのは難しい。Microsoftは、内部に潜む活動をあぶり出す観点から次の対策を挙げている。

  • 攻撃者の指令サーバーのホスト名「corp.tripswithengine[.]com」への外向き通信がないかを確認する
  • ウイルス対策製品のクラウド連携機能を有効にし、未知の実行を検出した時点で遮断できるようにする
  • EDR製品の自動遮断機能とネットワーク保護を有効にし、侵入後の不審な挙動を聞き込める
  • 実行元の信頼性といった基準を満たさない実行ファイルや、難読化された可能性のあるスクリプトの実行を制限する

ブログでは、侵害の痕跡を示すIoC(Indicators of Compromise)や脅威ハンティング用の検索クエリも公開されている。偽装されたDLLのファイル名と配置先、偽のユーザーエージェントが手掛かりとして示されており、Microsoftは自組織の環境に関連する活動がないかの確認に活用するよう促している。