勒索病毒
Shadowpad 惡意軟體再進化! 勒索軟體攻擊升級來襲
本文探討 Shadowpad 如何被用來部署一個從未被偵測到的全新勒索病毒家族,駭客利用了強度太弱的密碼,並避開了多重認證來部署這個惡意程式。
重點摘要
- 歐洲最近發生了兩起事件回應案例都跟 Shadowpad 惡意程式有關,這是一個與多個中國駭客集團有所關聯的惡意程式家族。根據我們的研究顯示,此惡意程式家族已至少攻擊了 21 家企業,受害者遍及歐洲、中東、亞洲及南美洲 15 個國家。
- 在這些攻擊事件中,駭客通常會在系統植入某個從未通報過的勒索病毒家族。
- 駭客是從遠端發動網路攻擊,使用強度太弱的密碼並避開多重認證機制來取得進入系統的權限。
2024 年 11 月,我們歐洲的事件回應團隊處理了兩起使用類似幕後操縱 (CC) 伺服器以及手法、技巧與程序 (TTP) 的攻擊案例,顯示這兩起行動應該是同一個駭客集團所為。這兩起事件都跟 Shadowpad 惡意程式有關,這是一個被多個中國進階駭客集團一直用來從事間諜活動的惡意程式家族。
經過我們搜尋類似的 TTP 之後,我們發現過去 7 個月內總共有 21 家企業遭到類似惡意程式套件的攻擊。其中有 9 家在歐洲、8 家在亞洲、3 家在中東,還有 1 家在南美。我們發現有 9 個不同產業受到影響,但有一半以上的受害目標集中在製造業,詳細清單請看「受害者分析」一節。
在這兩起案例中,駭客在系統植入了一個先前從未通報過的勒索病毒家族。此一作法對於使用 Shadowpad 的駭客集團來說並不常見,不過有報導指出開發 Shadowpa 的 APT41 集團過去也曾使用 Encryptor RaaS 勒索病毒,只不過我們不曉得為何駭客只在我們發現的某些攻擊目標內植入該此索病毒。
感染途徑
在我們調查的這兩起事件當中,駭客一開始是從遠端發動網路攻擊來入侵目標。他們會使用一個密碼太弱的系統管理員帳號來連上受害者的 VPN,進而進入受害者的網路。在其中的一個案例,駭客使用了一種不明方式避開了基於憑證的多重認證機制,有可能在他們入侵之前就已取得了有效的憑證。另一個案例則是並未使用多重認證機制,而且有被暴力破解攻擊的痕跡,但我們無法確認這是否跟駭客成功連上網路有所關聯。
駭客在進入網路內部之後,便利用其掌握的系統管理員權限來植入 Shadowpad 惡意程式,有時甚至會植入到網域控制器上。
對於覺得自己可能被這類駭客盯上的企業來說,了解駭客的最新手法以及其挑選的目標至關重要。有鑑於駭客使用了勒索病毒,並且似乎對竊取智慧財產有一程度的興趣,我們建議製造業應請求其資安廠商協助掃描看看他們內部是否有這起攻擊的入侵指標。
受害者分析
我們發現有 21 家企業遭到此駭客集團的攻擊,遍及 15 個國家共 9 個不同產業。

受影響的產業 | 目標數量 |
製造 | 11 |
運輸 | 2 |
出版 | 2 |
能源 | 1 |
醫藥 | 1 |
銀行 | 1 |
採礦 | 1 |
教育 | 1 |
娛樂 | 1 |
我們不知道駭客的最終目標是什麼,但就他們挑選的某些目標來看,很可能跟竊取智慧財產有關。除此之外,我們也知道在某些情況下,駭客會在系統植入一個勒索病毒家族。我們在這兩起事件中都觀察到有 Active Directory 的傾印資訊,以及有 RAR 壓縮檔被產生,但隨後又被刪除。
惡意程式套件
Shadowpad
Shadowpad 是在 2017 年一起針對 NetSarang 軟體的供應鏈攻擊中被發現一個模組化惡意程式家族。根據溯源結果,它應該屬於中國 APT41 駭客集團所有,並且在 2019 年之後開始有多個中國駭客集團在使用。目前我們已監控了多個與 APT41 相關的駭客集團,如:Earth Baku、Earth Longzhi、Earth Freybug。
此惡意程式家族內含元件來提供一些基本的網路間諜功能,如:鍵盤側錄、螢幕截圖以及檔案擷取。其程式碼會使用客製化演算法來加密編碼,而且只會在記憶體內解碼。到了 2020 下半年,其加密編碼方式出現重大變化,而我們看到第一個使用這個版本的駭客集團是 Earth Lusca。2022 年 2 月,這個第二版的加密編碼方式又出現小幅更新。Mandiant 最近發表了一篇詳細的部落格來說明這個加密編碼方式,以及如何加以克服。
本文案例所使用的是類似 2022 年 2 月的版本,只不過多了一些其他先前未報導過的功能:
- 使用簡易且常見的反除錯技巧來防止惡意程式被除錯 (詳情請參閱後面專門討論除錯的一節)。
- 使用受害者電腦獨一無二的磁卷序號 (volume serial number) 來將系統登錄中的 Shadowpad 惡意檔案加密。
- 組態設定的格式與解讀方式有所變更,但內容仍維持不變 (請參閱下一節)。
- 使用 DNS over HTTPS (DoH) 協定讓其網路連線更難被監控,現在已看不到試圖解析 CC 網域名稱的請求,只會看到連上該網域 IP 位址的連線。
儘管這些功能並不代表惡意程式本身有什麼重大強化,但卻顯示惡意程式一直有在持續開發,而且開發人員也希望讓惡意程式更難被分析。我們不知道本文討論的集團是否是唯一使用強化版 Shadowpad 的駭客集團。我們第一次發現他們是在 2023 年 11 月,當時他們正在攻擊印度境內的關鍵基礎設施,那時候我們還無法追溯其樣本的源頭。
Shadowpad 一般包含三個不同的檔案:
- 一個經過合法簽署、含有 DLL 側載漏洞的執行檔。
- 一個利用上述漏洞來側載的惡意 DLL,用來在記憶體內解碼及載入惡意檔案。
- 一個二進位檔案,內含已編碼 Shadowpad 惡意檔案。
當 DLL 在記憶體內解碼並載入 Shadowpad 惡意檔案時,它會使用從磁卷序號產生的金鑰將惡意檔案再次編碼並寫入系統登錄中,然後將二進位檔案從系統刪除。如此可防止無法讀存受害者系統登錄或記憶體的研究人員取得其最終的惡意檔案,尤其是含有 CC 伺服器資訊的組態設定檔案。
我們在調查期間發現駭客使用了以下幾個正常檔案來執行側載,請注意,這些檔案大多是已存在多年的檔案:
SHA256 雜湊碼 | 正常檔案的名稱 | 側載的 DLL | 簽署機構 | 簽署日期 |
9df4624f815d9b04d31d9b156f7debfd450718336eb0b75100d02cb45d47bd9a | SentinelMemoryScanner.exe | SentinelAgentCore.dll | SentinelOne Inc. | 2023-07-30 |
28d78e52420906794e4059a603fa9f22d5d6e4479d91e9046a97318c83998679 | Logger.exe | logexts.dll | Microsoft Corporation | 2010-02-01 |
bdf019bc6cfb239f0beae4275246216cd8ae8116695657a324497ec96e538aac | nvAppBar.exe | nView64.dll | NVIDIA Corporation | 2016-01-06 |
41128b82fa12379034b3c42bdecf8e3b435089f19a5d57726a2a784c25e9d91f | FmApp.exe | FmApp.dll | Fortemedia Inc. | 2015-10-22 |
c8268641aecad7bd32d20432da49bb8bfc9fe7391b92b5b06352e7f4c93bc19e | U3BoostSvr64.exe | <executable filename>LOC.dll | ASUSTeK Computer Inc. | 2013-05-10 |
e06710652fa3c8b45fd0fece3b59e7614ad59a9bc0c570f4721aee3293ecd2d1 | syncappw.exe | syncapp.dll | Botkind, Inc. | 2013-07-02 |
f4e8841a14aa38352692340729c3ed6909d7521dd777518f12b8bd2d15ea00c5 | EPSDNLMW32.EXE | <executable filename>LOC.dll | SEIKO EPSON CORPORATION | 2021-09-28 |
aa1233393dded792b74e334c50849c477c4b86838b32ef45d6ab0dc36b4511e3 | RoboTaskBarIcon.exe | roboform-x64.dll | Siber Systems | 2023-12-05 |
反除錯
惡意程式的開發人員採用了多種技巧來偵測惡意程式是否正在除錯狀態下執行。雖然這些都是眾所周知的技巧,但由於 Shadowpad 程式碼經過高度加密編碼,因此更難被發現。
以下就是駭客用到的技巧:
- 檢查處理程序環境區塊 (Process Environment Block,簡稱 PEB) 的第三個位元組,如果處理程序正在被除錯,則該位元組的數值為「1」,否則為「0」。
- 檢查 PEB 的 NtGlobalFlag 欄位數值。如果處理程序是由除錯器所建立,則該數值為「0x70」,否則為「0」。
- 擷取兩個不同時間點的 CPU 週期數 (cycle),並比較兩個數值之間的差異。如果經過的 CPU 週期數超過開發人員所設定的數值,那麼惡意程式就被視為正在除錯。這項技巧會呼叫 RDTSC 指令兩次,然後將經過的週期數與 10000000 做比較。
- 擷取系統啟動之後經過的毫秒數,在兩個不同時間點呼叫「GetTickCount」 Windows API,然後將兩者的差異與開發人員設定的數值做比較 (此處為 3000)。
- 透過「GetThreadContext」Windows API 來擷取當前執行緒的情境資訊,並檢查是否設定了任何除錯暫存器 (debug register)。
- 呼叫「NtQueryInformationProcess」Windows API 來檢查「ProcessDebugPort」欄位的數值,如果處理程序正在除錯,那這個欄位的數值為「0xffffffffff」。
如果惡意程式在上述任一檢查當中發現有除錯器在執行的跡象,就會自行終止。這些技巧會實作在 DLL 載入器、惡意檔案,或者兩者當中。
組態設定
本文案例的組態設定結構與我們 2023 年 7 月討論的有些許不同。

開頭一樣還是使用一個 4 位元組的組態設定標頭 (紅色標示)。
不過現在,每個項目都包含一個 3 位元組的識別碼 (黃色標示) 以及一個 1 位元組的項目類型標記 (綠色標示)。
以下是我們發現的幾種項目類型:
項目類型 | 說明 |
0x1 | 1 位元組數值。 |
0x2 | 2 位元組數值。 |
0x3 | 4 位元組數值。 |
0x5 | 加密的位元串流 (bitstream)。 |
0x6 | 加密的字串。 |
如果是加密的字串或位元串流,那麼項目類型後面會加上一個 4 位元組的長度值 (粉紅色標示) 以及加密資料本身 (藍色標示)。
此外,還有一些項目是一個 1 位元組 (橘色標示)、2 位元組、或 4 位元組 (咖啡色標示) 的數值。
以下是我們發現的組態設定識別碼:
識別碼 | 說明 |
0x10300 | Mutex 名稱。 |
0x10400 | 攻擊行動備註。 |
0x30100 | 服務名稱。 |
0x30200 | 服務顯示名稱。 |
0x30300 | 服務說明。 |
0x30400 | 用於常駐的系統登錄機碼。 |
0x30500 | 用於常駐的系統登錄機碼數值。 |
0x40100 至 0x40103 | 開機時執行的處理程序路徑。 |
0x40200 | 側載的 DLL 名稱。 |
0x40300 至 0x40303 | 要將程式碼注入的處理程序路徑。 |
0x40500 至 0x40503 | 幕後操縱 (CC)。 |
0x40700 至 0x40701 | DNS 伺服器。 |
0x40800 至 0x40806 | CC 通訊的 HTTP 標頭。 |
勒索病毒
我們發現了一個從未通報過的勒索病毒家族,我們認為跟這次的駭客集團有所關聯。儘管有報導指出,APT41 過去也曾使用過 Encryptor RaaS 勒索病毒,但卻被認為不太常見,而且我們從未見過其他駭客集團使用 Shadowpad 這類進階惡意程式來散播勒索病毒的情況。
與 Shadowpad 類似,這個勒索病毒的載入機制包含三個檔案:
- 一個由「Beijing Huorong Network Technology Co., Ltd.」簽署的正常「usysdiag.exe」檔案。
- 一個由 usysdiag.exe 側載的惡意函式庫 「sensapi.dll」。
- 一個名為「usysdiag.dat」的已編碼惡意檔案。
惡意程式一旦載入記憶體,就會將受害系統上的所有檔案加密,但以下檔案除外:
- 下列副檔名的檔案:「.EXE」、「.DLL」和「.SYS」。
- 下列資料夾中的檔案:「Windows」、「Program Files」、「Program Files (x86)」、「ProgramData」、「AppData」以及「Application Data」。
針對每一個被加密的檔案,勒索病毒都會產生一個隨機的 32 位元組 AES 金鑰,用來將該檔案加密。接著,金鑰會與「0x3F」這個數值進行 XOR 運算,然後使用樣本中寫死的 RSA 公開金鑰進行加密。得出的加密二進位大型物件 (Blob) 會附在被加密的檔案末端,這表示,持有 RSA 私密金鑰的人就能解開這個 Blob 來取得 AES 加密金鑰,然後將檔案解密。
每個被加密的檔案都會以「.locked」副檔名重新命名。
接著,下列其中一個名稱的 HTML 檔案會被植入每個含有被加密檔案的目錄中:
- locked.html
- unlock_please_view_this_file.html
- unlock_please_view_this_file_unlock_please_view_this_file_unlock_please_view_this_file_unlock_please_view_this_file_unlock_please_view_this_file_unlock_please_view_this_file_unlock_please.html

HTML 檔案內含一個連結指向販售 Kodex Evil Extractor 工具的網站,此工具內含一個過去曾被報導過的勒索病毒功能,而且它的勒索訊息看起來就跟 Evil Extractor 的說明文件中顯示的一樣。
不過,Evil Extractor 說明文件中關於演算法的說明,卻與我們觀察到的不符。

此外,我們也在 VirusTotal 上發現了兩個 Evil Extractor 的樣本,證明它們會植入了一個看起來一模一樣的 HTML 檔案,同時也證明其行為與我們的惡意程式完全不同。事實上,我們的惡意程式跟 Kodex 說明文件描述的相同。
因此,我們相信駭客應該是抄襲了 Kodex 勒索病毒的 HTML 檔案結構來誤導資安分析師,讓他們誤以為這是 Kodex 勒索病毒,但我們分析到的勒索病毒家族其實完全不同。
但不論駭客的意圖為何,勒索病毒攻擊的這部分其實是徒勞無功,因為我們發現這些勒索訊息內的任何虛擬加密貨幣位址都沒有收到任何交易,這表示沒有受害者真的支付了贖金。
漏洞攻擊後續工具
CQHashDumpv2
在這兩個案例當中,我們看到 Shadowpad 執行了一個名為「cq.exe」的檔案,並使用了「--samdump」參數。我們發現這個檔案是 CQTools 當中的工具,這是 CQure 於 2019 年在 BlackHat 上發表的一項滲透測試工具。

Impacket
Impacket 是一群用來處理網路通訊協定的 Python 類別,我們注意到駭客使用 Impacket 套件中 WmiExec 來連接遠端主機。
傾印 Active Directory 資料庫
駭客不知道使用了哪一種工具 (有可能是「NTDSUtil」) 製作了一個名為「aaaa.dit」的檔案,裡面很可能含有 Active Directory 資料庫的內容,有可能是為用來離線破解密碼。
基礎架構
從我們調查的兩起事件中,我們只掌握到一個 Shadowpad 使用的 CC 伺服器網域。至於我們發現的所有其他 Shadowpad 載入器,我們都無法從中擷取到相關的已編碼惡意檔案,因此也就無法擷取到相關的 CC 伺服器資訊。
我們掌握到的這個網域是「updata.dsqurey[.]com」,藉由深入追查其背後的基礎架構,我們找到了更多 IP 位址。我們又發現了另外 3 個網域名稱,如果連同子網域也算進去的話,總共高達 10 個。
這些網域名稱當中有些與其他 Shadowpad 樣本有關,同時也跟一篇部落格文章有關,該篇文章也提到了類似我們觀察到的 TTP,這讓我們更加相信它們與這個駭客集團有關。
這些網域都列在後面的「入侵指標資料」一節。
駭客溯源
我們並未找到足以將這次的活動連結到一些舊的攻擊行動或已知駭客的證據。我們只發現了兩條指向 Teleboyi 駭客集團的薄弱線索,詳細說明如下。
與 PlugX 程式碼的交集
PlugX 是一個至少從 2008 年起就已存在的惡意程式家族,而且經常被中國駭客集團用來發動各種針對性攻擊,但隨著時間推移,其用途也擴大到更廣泛的攻擊類型。一般認為 Shadowpad 是 PlugX 的後繼者。
我們在 VirusTotal 發現一個會連線到「bcs[.]dsqurey[.]com」這個網域的 PlugX 樣本,而本文討論的 Shadowpad 樣本有一個會連線到「updata[.]dsqurey[.]com」。
PlugX 樣本使用客製化演算法來將字串解密。
TeamT5 在 JSAC 大會上的簡報 (投影片第 27 頁) 中描述 TeleBoyi 客製化 PlugX 載入器也使用了類似的演算法來將字串解密。TeamT5 還將「Operation Harvest」攻擊行動列為與 Teleboyi 有關。關於 Operation Harvest 的部落格貼文所列的 McUtil.dll PlugX 載入器 (SHA-256: f50de0fae860a5fd780d953a8af07450661458646293bfd0fed81a1ff9eb4498) 也顯示了類似的字串解密演算法。另一個相似之處是 PlugX 樣本的 PE 圖示,這是 TeamT5 所列舉的圖示之一。根據以上所有證據,我們有相當自信認為這個 PlugX 樣本屬於 Teleboyi 所有。
但是,我們發現「dsqurey[.]com」這個網域名稱最初是在 2018 年 3 月 27 日註冊,曾經在 2022 年 3 月底過期,然後在 2022 年 6 月 23 日又再被註冊一次。我們不曉得這是同一個駭客集團將網域拿了回來,還是被其他駭客集團給註冊走。我們認為這條與 Teleboyi 連結的線索稍嫌薄弱。
基礎架構上的交集
2024 年 1 月,「108.61.163[.]91」這個 IP 位址指向了「dscriy.chtq[.]net」這個我們認為屬於此駭客集團的網址。
但在 2022 年 5 月,同一個 IP 位址卻指向「sery.brushupdata[.]com」,這是被列為 Operation Harvest 底下的一個網域名稱。
所以我們認為這條與 Teleboyi 連結的線索也同樣薄弱,因為者之間相差了一年半的時間。
致謝
感謝我們歐洲的事件回應團隊、APT-OPS 團隊,以及 Fernando Mercês 協助這起調查。
同時也感謝 Orange Cyberdefense CERT 提供有關勒索病毒家族的資訊。
Trend Vision One™
Trend Vision One™ 是一套能簡化資安作業的企業網路資安平台,藉由整合多種防護功能、強化企業對攻擊面的掌握,以及提供資安風險狀況的全方位可視性,來協助企業更快偵測及攔截威脅。這套雲端式平台,運用了 AI 以及來自全球 2.5 億個感測器與 16 個威脅研究中心的威脅情報,在單一解決方案當中提供了完整的風險洞見、早期威脅偵測,以及自動化風險與威脅回應選項。
Trend Vision One 威脅情報
要隨時掌握持續演變的威脅,採用 Trend Vision One 的客戶可從 Vision One 內部取得各種情報 (透過 Intelligence Reports) 與威脅洞見 (透過 Threat Insights)。Threat Insights 可幫助客戶在威脅發生之前便提前掌握,並對新興的威脅預先做好準備,提供有關駭客、惡意活動及駭客技巧的完整資訊。善用這些情報,客戶就能主動採取步驟來保護自己的環境、防範風險,並且有效回應威脅。
- 新版 Shadowpad 惡意程式散播勒索病毒
- 新興威脅:新版 Shadowpad 惡意程式散播勒索病毒
- 追蹤查詢
Trend Vision One Search 應用程式
Trend Vision One 客戶可以使用 Search 應用程式來尋找或追蹤本文提到的惡意指標,看看是否也出現在自己的環境中。
監控是否有連上 Shadowpad CC 網域的連線
eventSubId:(203 OR 204 OR 301 OR 602 OR 603) AND (\"updata.dsqurey.com\")
除此之外,Vision One 客戶還可啟用 Threat Insights 權利來取得更多追蹤查詢。
入侵指標資料
如需本文提到的入侵指標完整清單,請至此處。