VOID#GEIST 惡意軟體
網路安全研究人員發現了一種複雜的、多階段的惡意軟體攻擊活動,該活動利用批次腳本來傳播加密的遠端存取木馬(RAT)有效載荷。該活動被命名為 VOID#GEIST,部署了多個 RAT 家族,包括 XWorm、AsyncRAT 和 Xeno RAT。
此攻擊鏈利用一個混淆的批次腳本,啟動一系列旨在逃避偵測的操作。這些操作包括啟動另一個批次腳本、建立一個合法的嵌入式 Python 運行環境以及解密加密的 shellcode 有效載荷。 shellcode 透過一種稱為「早期非同步過程呼叫 (APC) 注入」的技術注入到 Windows 進程 explorer.exe 的不同實例中,並在記憶體中直接執行。
目錄
腳本驅動型惡意軟體傳播:一種現代威脅模型
現代威脅行為者正日益放棄傳統的獨立可執行惡意軟體,轉而採用分層式、基於腳本的傳播框架,以模仿合法用戶的行為。攻擊者不再部署傳統的可移植可執行檔(PE),而是精心建構多元件管道,將多種合法技術和腳本環境結合。
這些框架中使用的典型組件包括:
- 用於協調感染過程的批次腳本。
- 便於隱密地部署酬載的 PowerShell 指令。
- 嵌入式合法運作時,確保跨系統可移植性。
- 原始 shellcode 直接在記憶體中執行,以保持持久性和控制力。
這種無檔案執行方式顯著降低了基於磁碟的偵測機會。每個階段單獨來看都相對無害,並且通常類似於常規的管理活動,這使得攻擊者能夠在受感染的環境中運行而不會立即觸發安全警報。
透過網路釣魚和 Cloudflare 基礎設施進行初始訪問
攻擊的入口點在於透過網路釣魚郵件傳播的惡意批次腳本。該腳本從託管在 TryCloudflare 網域上的基礎設施中取得。腳本執行後,會刻意避免權限提升嘗試,而是嚴格地在目前登入使用者的權限範圍內執行。
這種策略使惡意軟體能夠在融入日常用戶操作的同時建立初始立足點。透過避免需要提升權限的操作,攻擊降低了觸發安全警告或管理員提示的可能性。
視覺幹擾與隱藏執行技巧
惡意軟體執行後,第一階段會啟動一個誘餌文件來分散受害者的注意力。它會全螢幕開啟Google瀏覽器,顯示一份PDF格式的財務文件或發票。當使用者專注於這份文件時,惡意活動會在後台繼續進行。
同時,執行一條 PowerShell 指令以隱藏執行參數的方式重新啟動原始批次腳本。使用 `-WindowStyle Hidden` 參數可防止顯示可見的控制台窗口,從而確保惡意活動對使用者不可見。
透過使用者級啟動執行實現持久性
為了在系統重新啟動後保持持久性,該惡意軟體會在 Windows 使用者啟動目錄中部署一個輔助批次腳本。此位置確保受害者每次登入系統時,該腳本都會自動執行。
這種持久化機制刻意設計得十分隱密。惡意軟體並沒有採用修改系統登錄機碼、建立排程任務或安裝服務等更具侵入性的技術,而是完全依賴標準的使用者級啟動行為。由於此方法完全在目前使用者的權限範圍內執行,因此可以避免觸發權限提升提示,並降低被登錄監控工具偵測到的可能性。
酬載檢索與解密框架
在感染鏈的下一階段,惡意軟體會聯絡 TryCloudflare 域名,以取得打包在 ZIP 壓縮套件中的其他酬載元件。這些壓縮包包含解密和執行最終惡意軟體有效載荷所需的模組。
下載的壓縮包通常包含以下元件:
- runn.py – 一個基於 Python 的載入器,負責解密並將加密的 shellcode 模組注入記憶體。
- new.bin – 與 XWorm 關聯的加密 shellcode 有效載荷
- xn.bin – 與 Xeno RAT 對應的加密 shellcode 有效載荷
- pul.bin – 與 AsyncRAT 對應的加密 shellcode 酬載
- a.json、n.json 和 p.json 是 Python 載入器在運行時動態解密 shellcode 有效載荷時使用的關鍵檔案。
這種模組化設計使攻擊者能夠獨立部署不同的有效載荷,並僅在需要時啟動它們。
嵌入式 Python 運行時,兼顧可攜性和隱蔽性
惡意軟體解壓縮後,會部署一個直接從python.org取得的合法嵌入式Python執行環境。嵌入合法的解釋器可以避免依賴受感染系統上可能存在的任何Python安裝。
從攻擊者的角度來看,這一步驟提供了多項戰略優勢。惡意軟體成為一個獨立的執行環境,無需外部依賴即可解密和注入有效載荷。這提高了跨系統移植性,增強了可靠性,並透過使用合法軟體元件實現了行動隱蔽性。
記憶體中執行多個遠端存取木馬有效載荷
然後,利用嵌入式 Python 運行時執行 runn.py 載入器腳本。該載入器解密與 XWorm 關聯的 shellcode,並使用 Early Bird APC 注入將其註入到正在運行的 explorer.exe 實例中。
為了部署 Xeno RAT,該惡意軟體利用了一個名為 AppInstallerPythonRedirector.exe 的合法 Microsoft 二進位文件,該檔案用於呼叫 Python 並執行所需的元件。隨後,它重複使用相同的注入技術來部署 AsyncRAT,從而確保所有有效載荷都在記憶體中完全執行,而不會在磁碟上留下傳統的可執行檔。
指揮控制信標和模組化架構
攻擊的最後階段是向攻擊者控制的、託管在 TryCloudflare 上的命令與控制 (C2) 基礎設施發送一個最小的 HTTP 信標。此信標確認系統已成功入侵,並已準備好接收進一步的指令。
儘管這次攻擊活動的具體目標尚不清楚,但其感染鏈展現出高度模組化的架構。攻擊者並非部署單一的大型惡意軟體負荷,而是分階段逐步引入元件。這種設計提高了操作的靈活性和彈性。
從偵測角度來看,整個攻擊活動中出現了一個顯著的行為特徵:在短時間內重複向 explorer.exe 進程注入惡意程式。這種模式可以為防禦者提供強而有力的訊號,幫助他們關聯攻擊生命週期不同階段的可疑活動。