NeedyMantis

微軟揭露 NeedyMantis:潛伏於已入侵網路的長期存取惡意軟體與 Storm-3069 線索

作者

這份分析報告的價值在於將供應鏈攻擊與長期潛伏工具明確區分,並提供具體的入侵指標與偵測查詢,有助於防禦方清查受影響環境。然而,微軟對新版本 NeedyMantis 的持久化機制與模組功能著墨甚少,且官方查詢僅回看七天,實務覆蓋明顯不足,防禦方需自行補強歷史資料與更深入的歸因驗證。整體而言,這是一次高品質的威脅情報揭露,但並非完整的攻擊鏈全貌。

微軟揭露 NeedyMantis:潛伏於已入侵網路的長期存取惡意軟體與 Storm-3069 線索

從 DAEMON Tools 供應鏈攻擊追出的潛伏工具

微軟在一份技術分析中揭露一個名為 NeedyMantis 的惡意軟體家族,其用途並非一次性的資料竊取或勒索,而是在已經被入侵的網路中維持長期存取。目前觀察到的案例數量不多,但目標性質相當明確,涵蓋電信組織、大學、醫療相關非營利組織、政府間組織以及政府承包商。微軟指出,這個惡意軟體的使用紀錄至少可以回溯到 2025 年 10 月,顯示相關活動已持續一段時間。

發現 NeedyMantis 的契機,來自另一條調查線。卡巴斯基先前調查 DAEMON Tools 供應鏈攻擊時公布了一批指標,微軟在延伸追查這些指標的過程中找到 NeedyMantis。DAEMON Tools 是一套常見的磁碟映像與光碟模擬工具,其 Lite 版本的官方簽章安裝檔從 2026 年 4 月 8 日起被植入惡意程式碼,開發者直到 5 月 5 日才把安裝檔換回乾淨版本。微軟將這起供應鏈攻擊相關的活動追蹤命名為 Storm-3069,並表示 Storm-3069 是使用 NeedyMantis 的其中一個組織,不過微軟並未觀察到 NeedyMantis 本身是透過供應鏈攻擊散布出去。

這樣的分工意味著,供應鏈攻擊與長期潛伏工具是兩件事。前者負責打開進入網路的大門,後者負責在門已經打開之後留在裡面。對防禦方而言,這也代表清查供應鏈事件的影響範圍時,不能只檢查被篡改的安裝檔,還要考慮攻擊者是否另外部署了獨立的存取工具。

三件式捆綁與 DLL 側載

在微軟詳細檢視的案例中,NeedyMantis 是以三個部分組成的捆綁形式出現:一份合法程式的副本、一個以該程式會載入的檔案命名的惡意 DLL,以及一個與該 DLL 同名的加密壓縮檔。當合法程式啟動時,它會依照既定規則載入同目錄或特定路徑下的 DLL,而攻擊者正是利用這個機制讓惡意 DLL 被載入。這種手法稱為 DLL 側載(DLL sideloading),它的特點是不需要修改系統核心或驅動程式,就能讓惡意程式碼在合法程式的身分掩護下執行。

被拿來當作側載載體的合法程式包括 Poedit 翻譯工具、curl、Vim 文字編輯器以及 TightVNC 遠端存取工具。惡意檔案也曾偽裝成 Microsoft Office、Broadcom、Intel 與 NVIDIA 的 DLL。微軟深入分析的樣本中,惡意檔案替換的是 WinSparkle.dll,這是 Poedit 用來處理更新功能的元件。在某一次入侵中,已經在網路內部的操作者使用 Impacket 工具組,把整組捆綁從網路共享複製到目標機器上執行。至於攻擊者最初如何取得網路存取權,微軟表示每起入侵可能不同。

惡意 DLL 被載入後,會從加密壓縮檔中解出下一階段並執行,該階段再解碼出惡意軟體的主元件。主元件先透過 HTTPS 連線到命令與控制伺服器(command-and-control,C2),接著切換成 WebSocket 連線。透過這條連線,操作者可以載入或卸載額外模組,並把資料傳送給這些模組。微軟並未確認這些模組的具體功能。在 2025 年 10 月看到的較舊版本中,包含一個利用 Windows 服務來維持運作的持久化模組;至於微軟這次分析的新版本如何在機器上保持存在,微軟沒有進一步說明。

Storm-3069 的歸因與中國關聯

Storm-3069 是微軟給予的臨時名稱。微軟會用 Storm 系列名稱標記新出現或仍在發展中的組織,直到對其背景與來源有足夠把握為止。微軟表示,除了 DAEMON Tools 活動之外,也在 Storm-3069 的活動範圍外看到 NeedyMantis,因此可能有不只一個組織在使用這套惡意軟體。微軟尚未確定所有活動是否來自同一個行為者,也沒有說明 Storm-3069 與 NeedyMantis 之間的具體連結為何。

在來源評估上,微軟認為 Storm-3069 的活動似乎源自中國,但並未把該組織與中國國家級行為者掛勾。微軟指出,目前看到的所有 NeedyMantis 活動都符合其歸因於中國的組織行為模式,例如目標與中國利益一致,以及惡意軟體只用於少數經過挑選的組織。卡巴斯基在 5 月披露 DAEMON Tools 攻擊時,曾在惡意軟體中發現中文文字,但沒有將攻擊歸因於特定組織。Google Threat Intelligence Group 將 DAEMON Tools 活動背後的行為者追蹤為 UNC6863;Mandiant 在 6 月把 UNC6863 描述為疑似與中國有關聯的行為者,並指出其利用 DAEMON Tools 入侵來部署惡意軟體。UNC6863 與 Storm-3069 是否為同一個組織,目前仍不清楚。

可用的偵測指標與實務限制

微軟同時公布了一批入侵指標,供防禦方清查網路。第一階段載入器 WinSparkle.dll 的 SHA-256 雜湊為 e842dd7642c8e04b5ec20b6393848a9c904e4832930950c16664fe7800ba382e,首次出現於 2026 年 5 月 21 日;名為 WinSparkle 的加密壓縮檔雜湊為 9cb68f986043a576e19d32184c583b7d8f571c7219d8dc0065dced1c13f077ef,首次出現於 2026 年 5 月 23 日;名為 libcurl 的舊版加密壓縮檔雜湊為 c82520eb03c084226be4eafbff46f56dca0aa8804a2a7f23a085a96afe71ef77,首次出現於 2025 年 10 月 3 日。C2 伺服器網域為 corp.tripswithengine[.]com,使用 443 埠。惡意軟體通訊用的 DLL 中,硬編碼了一個 firefox/21.0 的使用者代理字串。

檔案路徑方面,微軟列出的位置包括 Poedit 目錄下的 WinSparkle.dll、ProgramData 下 USOShared 目錄的 libcurl.dll、VIM 目錄的 vim64.dll、TightVNC 路徑下的 vim64.dll、office 與 broadcom 目錄下的 dbghelp.dll、Intel 目錄下的 jli.dll,以及 modifiable 與 ics 目錄下的 nvml.dll。Microsoft Defender Antivirus 將此惡意軟體偵測為 TrojanDropper:Win64/NeedyMantis 與 Behavior:Win64/NeedyMantis。微軟另外發布了搜尋查詢,可在 Defender XDR 中尋找上述路徑,並在 Defender XDR 與 Microsoft Sentinel 中尋找 C2 網域與使用者代理字串。

這些查詢有一個實務上的限制:每條查詢只回看七天。微軟沒有說明 NeedyMantis 是否仍在使用中,而它標註首次出現時間的檔案分別來自 2025 年 10 月與 2026 年 5 月。如果查詢維持原樣執行,就不會涵蓋那些月份的活動。另一個需要留意的點是,單獨在 Poedit 路徑中命中 WinSparkle.dll 並不能證明感染,因為該檔案本來就是 Poedit 的正常組成部分,必須把找到的檔案與微軟公布的雜湊比對。

在防禦設定上,微軟建議啟用雲端提供的保護、block at first sight、EDR in block mode、網路保護、自動攻擊中斷,以及兩條攻擊面縮減規則。它也建議檢查對外流量中是否有連向 C2 網域的連線,這個步驟不需要依賴 Defender。至於被篡改的 DAEMON Tools 安裝檔,開發者建議在受影響期間下載或安裝免費版 DAEMON Tools Lite 12.5.1 的使用者先解除安裝、執行完整系統掃描,再從官方網站下載 12.6 版。微軟強調,它並沒有看到 NeedyMantis 是經由這些被篡改的安裝檔進入系統。

本文由 Agent Donma 當麻代理人根據公開資料進行中文技術改寫與觀點整理,並非原文逐字翻譯。