
Xloader 惡意軟體進化論:揭秘版本 6 和 7 的隱藏威脅
ThreatLabz 部落格文章分析了 Xloader 惡意軟體版本 6 和 7。不同版本的Xloader的混淆技巧進行了比較。該部落格還列出了入侵指標 (IOC),並指出了 Zscaler 偵測惡意軟體的能力。最後,該部落格承諾推出第二部分,重點關注 Xloader 的命令和控制通訊 。
文章是 Zscaler ThreatLabz 對 Xloader 惡意軟體(特別是版本 6 和 7)進行的技術分析。該分析詳細說明了惡意軟體的行為、混淆技術和反分析措施。以下是關鍵點的細分:

Xloader 的背景與演變
- Xloader 是一個惡意軟體家族,是 Formbook 的後繼者,於 2016 年推出,並於 2020 年初更名為 Xloader。
- 它充當惡意軟體即服務(MaaS),將其命令和控制基礎設施出租給網路犯罪分子。
- Xloader 旨在從網頁瀏覽器、電子郵件用戶端和檔案傳輸協定 (FTP) 應用程式竊取資料。
- 它還可以在受感染的系統上下載並執行第二階段的payload。
- 此惡意軟體不斷更新新功能和新能力,並採用日益複雜的加密和混淆層。
Xloader 的行為
- 持久性:Xloader 透過將自身複製到 %APPDATA% 或 %PROGRAMFILES% 下的子目錄並在 Run 或 Policies 項目下建立註冊表項來實現持久性。
- 程序注入:Xloader 使用Process hollowing和Asynchronous Procedure Calls (APC) 等技術將惡意程式碼注入多個程序以逃避防毒和端點安全軟體。它將程式碼注入 explorer.exe 和 SysWOW64 目錄中的程序。 SysWOW64 中的具體目標可執行檔因樣本和版本而異。 explorer.exe中注入的程式碼和SysWOW64程序同時執行,使用共享記憶體進行通訊。
- SysWOW64 目錄中的可執行檔名清單因不同的樣本和版本而異。
程式碼混淆技術
-
加密:Xloader 採用RC4 和兩輪相鄰位元組減法結合的方式進行加密。
- Xloader 版本 6 和 7 在 NOPUSHEBP 函數之上有一個額外的加密層,這意味著這些函數具有多層加密。
- Xloader 使用多個函數(主函數 1、2 和 3)來解密和執行關鍵程式碼部分。主函數3負責解密NOPUSHEBP加密函數之上的新附加加密層。
- 金鑰和 DWORD 值在運行時動態計算,使用 XOR 運算來避免基於靜態簽章的偵測。
- 在呼叫 ZwSetThreadContext 等關鍵 API 之前對程式碼進行加密,並在 API 返回後解密。
-
功能類型:
- NOPUSHEBP 函數的整個程式碼都已加密。
- PUSHEBP 函數以「push ebp」序言開始,後面接著加密代碼。
-
動態金鑰產生:
Xloader 在需要時動態建構金鑰、字串、種子和常數,避免在程式碼中使用Hardcode值。
-
字串混淆:
Xloader 不再使用 PUSHEBP 資料塊來儲存加密字串。相反,它使用專用函數來建構、解密和傳回每個字串。
-
堆疊字串:
Xloader 透過NOPUSHEBP 函數在堆疊上建構一些純文字字串。
-
API 混淆:
Xloader 計算 Windows API 函數名稱的 CRC32 值,而不是使用 PUSHEBP 資料塊。它使用兩個函數之一來建立這些 CRC32 值,有些使用種子和加密的 CRC32,有些則僅使用加密的 CRC32 值。最終的API CRC32值使用RC4和減法演算法解密。
反分析技術
- NTDLL Hook 逃避:Xloader 載入 ntdll 的副本並將其用於 API 呼叫,從而繞過原始程式庫上設定的斷點和
Hook 。 - 動態程式碼和資料:惡意軟體根據需要解密和加密程式碼和資料以防止被分析。
- 分散的程式碼和資料:程式碼和資料分散在多個部分,使分析變得複雜。
各版本混淆技術對比
- 該文件提供了一個表格,比較了 Formbook、Xloader v2、v4 和 v6/v7 中使用的混淆技術。表中顯示了 Xloader 如何演變為包含更複雜、更精密的方法來逃避偵測和分析。
- Xloader 的加密演算法已從自訂查找表演算法(Custom lookup table algorithm)演變為 RC4 和減法演算法(RC4 and subtraction algorithm)。
Zscaler 覆蓋範圍
Zscaler 平台在多個層面上偵測 Xloader 和 Formbook。
攻擊指標 (IOC)
文件列出了Xloader的樣本、其變體、版本以及C2位址等網路指標。
分析強調了 Xloader 日益增加的複雜性及其為逃避檢測而不斷演變的現象,並強調了分層安全方法的重要性。
結論
Xloader 是一種複雜且適應性強的威脅,需要分層的安全方法。它使用多層加密、動態金鑰產生和先進的反分析技術,使得偵測和分析變得十分困難。 Xloader 的持續發展強調了對超越傳統基於簽名的偵測並能夠適應新威脅的安全解決方案的需求。