
最新研究顯示,FishMonger 已將其 SprySOCKS 惡意程式從先前已知的 Linux 後門升級為兩個 Windows 變種,大幅提升該組織的網路間諜能力。
在 2023 至 2024 年間,研究團隊觀察到主要鎖定台灣、宏都拉斯、泰國與巴基斯坦政府機構的行動,顯示這是一場以情報蒐集為主的作戰,而非金融勒索的網路犯罪。FishMonger 過去曾攻擊政治敏感與機構型目標,此活動的受害者樣貌與 FishMonger 歷來行為一致,可高信度歸因於該組織。SprySOCKS 轉向 Windows 平台,意味著該組織著眼於更廣泛的企業與政府環境存取能力,因為在這些場域中 Windows 仍居主導地位。
從威脅角度來看,此事件之所以值得關注,不僅因為惡意程式本身,更因其隱蔽性與持久化能力。兩個 Windows 變種都提供完整後門存取,允許操作人員蒐集系統資訊、管理檔案與服務、執行命令,並可能外洩資料。該惡意程式也支援鍵盤側錄與剪貼簿擷取,進一步提高帳密竊取、文件竊取以及監控受害者活動的風險。
其中一個變種 WIN_DRV 因納入核心層級元件,可隱藏檔案、行程、登錄機碼與網路連線,使事件偵測與回應更加困難,並支援長期帳號權限存取,因此威脅程度更高。另外有跡象顯示部分攻擊情境涉及 UEFI 開機套件元件,可能與 CVE-2023-24932 有關,這代表攻擊者可能追求更長遠的持久化能力。
對於受影響產業,尤其是公共部門,整體衝擊相當重大。遭此工具組入侵的政府網路可能面臨:
FishMonger 又稱 Earth Lusca、TAG-22。過往開發的 SprySOCKS 後門程式只針對 Linux,此次跨足到 Windows 環境,代表他們攻擊的範圍又擴大且更針對企業的環境。FishMonger 也被認為與中國公司安洵 (i-soon) 有關,可視為其旗下 APT 組織,主要針對中國地區以外的受害者。
此事件核心是 FishMonger 使用的兩個先前未公開記錄的 Windows 版 SprySOCKS 後門變種:WIN_DRV 與 WIN_PLUS。兩者均保留了 SprySOCKS 在 Linux 上已知的核心架構,包含:多協定命令與控制、加密訊息傳輸,以及廣泛的遠端管理功能等,但在 Windows 上加入原生持久化、注入與隱匿機制。主要技術差異在於,WIN_DRV 增加了核心模式工具鏈,包括 DriverLoader 與 RawWNPF 驅動程式,用於隱藏檔案、行程、登錄機碼與網路活動;而 WIN_PLUS 則採用較輕量、基於列印處理器的執行鏈,未包含 rootkit 元件。這些要素共同解釋了惡意程式不僅能做什麼,也說明了它如何在遭入侵主機上持續隱匿並保持韌性。
偵察(Reconnaissance)
執行後,SprySOCKS 可蒐集詳細的主機與網路資訊,供操作人員進行情境掌握與後續任務配置。其系統資訊命令可收集受害者的電腦名稱、作業系統版本、記憶體與 CPU 細節、權限、語言、時間,以及後門版本,也會蒐集網路介面卡資訊與指派的 IP 位址。這顯示該惡意程式旨在快速描繪遭入侵機器的輪廓,判斷其在環境中的價值與角色。
資源開發(Resource Development)
此次行動依賴的是客製化惡意程式平台,不僅是使用現成工具。SprySOCKS 本身即是一項開發成果,源自較早期的程式碼基礎,如 Trochilus,但已大幅擴展成一個獨立的後門家族。Windows 變種也持續更新,尤其是 WIN_DRV 分支,引入專用的記憶體內驅動載入器與具 rootkit 級品質的核心元件,用於隱匿與祕密存取。
初始存取(Initial Access)
確切的入侵途徑尚未被確認,但現有情資強烈暗示 FishMonger 可能是透過對外伺服器進入系統,這與其已知模式一致:利用伺服器端 N-day 漏洞,或濫用設定錯誤、未修補的對外網際網路應用程式。部分受害系統為伺服器作業系統,也支持此可能路徑。
執行(Execution)
不同變種的執行鏈有所差異,但兩者都被設計為透過分階段載入器與受信任的 Windows 元件來啟動後門。
持久化(Persistence)
FishMonger 使用了多種 Windows 原生持久化機制,且依變種而異。
權限提升(Privilege Escalation)
此次行動中真正的權限提升發生在 kernel mode ,WIN_DRV 會解密並載入已簽章的核心驅動 fsdiskbit.sys,其角色為 DriverLoader。其載入方式為:先建立服務登錄機碼 msidiskserver(其 ImagePath 值指向落地的驅動檔案),再以該登錄機碼為參數呼叫 NtLoadDriver API 將驅動載入核心。
載入後,fsdiskbit.sys 的職責是解密第二個驅動 RawWNPF,並將其手動映射至核心記憶體、直接執行其進入點,而非透過正常服務註冊載入。如此一來,RawWNPF 便能在不留下正常驅動載入痕跡的情況下運作,賦予攻擊者 rootkit 級能力。
為使 fsdiskbit.sys 能通過核心驅動的簽章強制要求,操作人員使用了外洩憑證對其進行簽章——該憑證取自 GitHub 上的 PastDSE 專案,顯然是為了繞過至少部分過時或設定錯誤系統上的驅動簽章強制機制(DSE)。
防禦規避(Defense Evasion)
在使用者模式層級,載入器會執行反分析檢查,搜尋與沙箱或安全產品相關的 DLL,例如 snxhk.dll、SxWrapper.dll、SxIn.dll、SXIn64.dll 和 SbieDll.dll。若找到即停止執行。WIN_PLUS 的第一階段載入器也會檢查自己是否運作於 spoolsv.exe 之下,以避開未能模擬正確列印處理器環境的自動化沙箱。
AES 加密容器、加密字串與動態 API 解析會保護 payload 與字串,增加靜態分析的難度,讓惡意程式碼在新建立的 svchost.exe 中執行。
接著,WIN_DRV 透過作為 rootkit 的 RawWNPF,將規避能力擴展到核心層。它可以:
其中一項特別值得注意的技術是 TCP 流量導流。RawWNPF 會註冊 Windows Filtering Platform(WFP)篩選器並檢查 IPv4 封包。若偵測到特製 TCP 資料,驅動會悄悄地將任何已開啟 TCP 連接埠收到的流量重新導向至隱藏的後門監聽器。這讓操作人員可在一般流量檢視中不暴露實際監聽埠的情況下接觸植入體。
該惡意程式也會透過 netsh.exe 修改防火牆,刪除並重建名為:
CoreNetworking - Packet Too Big(ICMPv6 - In)
的規則,但將其替換成允許傳入 TCP 流量進入後門監聽埠的規則。如此便能將惡意存取偽裝在一個看似合法的防火牆規則名稱之中。
憑證存取(Credential Access)
SprySOCKS 包含可選的鍵盤側錄與剪貼簿擷取功能。只有當以下檔案:
%appdata%\\\\Microsoft\\\\Vault\\\\lgf.dat
包含設定項 key=1 時,此功能才會啟用。啟用後,惡意程式會建立一個名為:Global\\\\{DCAA7ED8-521B-4EAB-BE21-65254CF59239}
的 mutex,並將按鍵、剪貼簿內容與目前作用中視窗標題記錄到:%appdata%\\\\Microsoft\\\\Vault\\\\lg.dat
擷取的資料會以簡單 XOR 金鑰 0x44 加密。
探索(Discovery)
後門一旦啟用,即支援廣泛的探索操作。透過其 C2 命令,它可以:
它也會在其鍵盤側錄子系統中取得前景視窗標題,幫助操作人員理解使用者正在做什麼,並識別感興趣的應用程式。
蒐集(Collection)
此行動主要蒐集使用者活動與檔案存取。惡意程式的鍵盤側錄器會記錄按鍵、剪貼簿資料與使用中的視窗內容,其檔案管理命令則允許操作人員瀏覽目錄並識別有價值文件。它也具備列舉最近檔案的命令,這對於間諜行動尤其有用,因為能突顯受害者最近開啟或編輯過的內容。
命令與控制(Command and Control, C2)
SprySOCKS 支援三種通訊協定:TCP、UDP 與 WebSocket。它既可作為用戶端,也可作為伺服端,讓 FishMonger 在維持控制方式上具備高度彈性。
在觀察到的 WIN_PLUS 設定中,硬編碼的 C2 伺服器為:
後門也支援本機監聽器。在 WIN_PLUS 中,TCP 監聽器設定於連接埠 53781。在 WIN_DRV 中,若未設定 C2 位址,惡意程式會在隨機本機連接埠啟動被動式 TCP 後門,並再透過 RawWNPF 將該埠隱藏。
其 C2 協定使用自訂封包格式。對於 TCP,每則訊息以 12 位元組標頭開始,內含 CRC、magic value 0xACACBCBC 與 payload 大小。UDP 與 WebSocket 使用不同標頭格式與 magic value,其中 UDP 為 0xACACBFBC,WebSocket 的 masking key 為 0x1BDCCBAA。在標頭之後,payload 包含另一個 CRC、一個可能用於識別加密方法的值 0x0003,以及以硬編碼金鑰進行 AES-128-ECB 加密的資料:QFTHEYjzX3RBOMgZ
加密資料之後再以 base64 編碼。
其命令集包含超過 30 個訊息 ID,涵蓋系統資訊蒐集、行程與服務控制、互動式 shell 存取、檔案傳輸、SOCKS 代理,以及額外檔案的執行。
資料外洩(Exfiltration)
SprySOCKS 可透過其 C2 通道直接外洩檔案。其命令集包含明確的上傳功能,允許操作人員將受害主機上的選定檔案傳回 C2 基礎設施。由於命令流量與外洩流量使用相同的加密與編碼通道,因此外洩行為會混雜於一般惡意程式通訊中。
SprySOCKS 的入侵鏈為:對外伺服器初始存取 → DLL Side-Loading 執行 → 多重原生持久化 → 核心層 rootkit 隱匿 → 彈性 C2。緩解的原則是在每一環節放置能實際阻斷該技術的控制,而非僅事後偵測。以下依「預防優先、偵測補強」排序,並標明每項對應封鎖的攻擊手法。
封鎖初始存取(對應:伺服器端 N-day/對外應用程式濫用)
由於絕大多數後續持久化與驅動載入都需先取得管理員權限,阻止初始入侵是成本最低的防禦方式。
以應用程式控管阻斷 Side-Loading 與檔案式持久化(對應:DLL Side-Loading、排程工作、IFEO、列印處理器)
這是一次即可封鎖多個技術的關鍵控制。SprySOCKS 依賴從非標準目錄執行改名的合法簽章檔並側載惡意 DLL。
強化核心與開機保護,直接瓦解 rootkit(對應:fsdiskbit.sys/RawWNPF/外洩憑證簽章/UEFI bootkit)
WIN_DRV 最危險之處,是能於核心層執行並隱匿惡意活動。單靠驅動程式簽章強制(DSE)不足以阻擋此類攻擊:fsdiskbit.sys 使用外洩的合法憑證完成簽署,在憑證尚未遭撤銷,或系統尚未套用相應封鎖規則時,仍可通過簽章驗證並被載入。攻擊者因此特別鎖定未完整更新或未啟用進階核心防護機制的系統,建議採取以下措施:
以網路側控制封鎖 C2 與隱藏監聽器(對應:防火牆竄改、WFP 導流、TCP/UDP/WS C2)
由於惡意程式會竄改主機防火牆並向 netstat 隱藏連線,主機端視角不可信,必須以網路邊界作為可靠的節流點。
針對性搜捕與清除(偵測補強)
在已部署上述預防控制的前提下,利用以下 IOC 主動搜捕與確認是否清除完成:
網路 IoC 分析

此 IP 為 WIN_PLUS 變種硬編碼的 C2(TCP/443、UDP/53、WebSocket/80),enrichment 顯示其為租用於 Vultr(The Constant Company, AS20473)、位於新加坡的雲端 VPS,主機名 207.148.78.36.vultrusercontent.com,符合 FishMonger 慣用一次性雲端基礎設施的模式,便於快速部署與拋棄。
VirusTotal 有 14 家引擎判為惡意,惡意屬性明確。惟 Shodan(最後更新時間為2026 年 7 月 10 日)僅偵測到 22/SSH 開放,原文所述的 443/53/80 三個 C2 埠目前皆未開放,研判該 C2 於曝光後已下線或關閉監聽,現存 SSH 應為管理殘留。
Hash
IP
奧義賽博 (CyCraft,亦名奧義智慧科技) 是台灣上市 AI 資安科技公司 (7823),專注於自動化威脅曝險管理與 AI 模型的資安防護技術。模型安全產品 XecGuard 專為 LLM 與 AI Agent 設計,提供多層次安全防護;XecART AI 紅隊安全評測透過多輪攻防測試出具國際標準合規報告。資訊安全產品 XCockpit AI 平台整合 XASM 三大防禦:EASM 外部曝險預警、IASM 身分攻擊面監測,與 Endpoint 端點聯防,提供超前、即時的縱深防禦,擁有政府、金融、半導體高科技產業的豐富實績與國際研調機構認可。