https://www.informationsecurity.com.tw/seminar/2024_Business/
https://www.informationsecurity.com.tw/seminar/2024_Business/

新聞

駭客利用Excel 文件針對烏克蘭部署Cobalt Strike

2024 / 06 / 14
編輯部
駭客利用Excel 文件針對烏克蘭部署Cobalt Strike
FortiGuard Labs最近發現了一起複雜的網路攻擊事件,其中涉及一份嵌入 VBA 巨集的 Excel 文件,該文件被設計用來部署 DLL檔案。攻擊者採用多階段的惡意軟體來執行”Cobalt Strike”,並與控制伺服器(C2)建立連線來接收指令。這次攻擊中,駭客利用了多種規避技術,以確保最終惡意程式能夠成功執行。

在過去的幾年中,由於地緣政治情勢,烏克蘭成為了主要的攻擊目標。這些攻擊的歷史顯示出一個趨勢,即隨著緊張局勢的加劇,網路攻擊的複雜性和頻率也在增加。例如,2022 年,FortiGuard Labs報告了一件同樣利用惡意 Excel 檔案的攻擊活動,該文件內包含與烏克蘭軍隊相關的主題,用於加載Cobalt Strike。2023 年,烏克蘭電腦緊急應變小組 (CERT-UA) 則揭露了UAC-0057的攻擊,使用包含巨集和誘餌圖片的惡意 XLS 檔案,在受感染的系統上部署了 PicassoLoader 和 Cobalt Strike。我們將探討這次各階段的攻擊技術細節。
 
攻擊流程圖

 
Excel 文件
攻擊者採用的惡意 Excel 文件包含用烏克蘭語所撰寫的內容,旨在引誘用戶啟用其巨集功能。
 
啟用巨集前的Excel 文件內容

一旦啟用了 VBA 巨集,文件會切換到與預算相關的工作表,標題包含『分配給軍事單位的預算資金數量』 (翻譯自烏克蘭語 ”обсягу бюджетних коштів, що спрямовуються до військових частин”)。
 
啟用VBA後的Excel 文件

VBA 巨集的主要功能是解碼並結合多段以 HEX(十六進制)編碼的內容來佈署一份 DLL 檔案至受感染的系統中。此外,VBA 程式碼中大部分的字串也被以HEX編碼,以規避基本的字串偵測機制。
"workbook_open()"函式
 
在將名為 “Ac83faafb23919Ae9.DLl” 的 DLL 文件放置到 “%APPDATA%\VIBErpc\bIn\biN”資料夾中後,VBA程式會在 “%APPDATA%\Microsoft” 路徑中建立一個檔案名為 “ACtIVePRObE” 的LNK文件。接著,使用 “Shell” 執行指令 “RunDLL32.EXE shell32.dll,ShellExec_RunDLL ‘%APPDATA%\Microsoft\ACtIVePRObE.lnk’, 0”。而這份 LNK 檔案則是會使用 regsvr32 來執行 DLL 文件 “Ac83faafb23919Ae9.DLl”。
 
建立LNK檔
LNK檔的內容

 

DLL 下載器
此階段負責下載檔案的 “Ac83faafb23919Ae9.DLl” 文件經過 ConfuserEx 混淆處理。
 
Ac83faafb23919Ae9.DLl

首先,它會檢查當前系統的處理序中是否包含以下特定字串:“processhacker“、“avastui“、“aswtoolssvc“、“wsc_proxy“、'procexp'、“overseer“以及“avastsvc“。如果查找到與分析工具或防毒軟體服務相關的字串,將會直接結束程式。
 
檢查處理序名稱

通過環境檢查後,它會定義一個網路封包,從 “hxxps://goudieelectric[.]shop/cms/svg/6364.2809640e[.]chunk.svg” 下載所需要的資料。此網站也包含地域檢查機制,只有當受感染設備位於烏克蘭時,才能載到正確的文件。接著,藉由提取以 “href=” 開頭的 Base64 編碼資料,並將其與事先定義在程式中的陣列進行 XOR 運算,可以取得下一階段的檔案。最後,它會隨機生成一個文件名稱,將檔案存到 TEMP資料夾中。
 
傳送網路封包
未成功通過地域檢查所下載的SVG檔案
成功通過地域檢查所下載的SVG檔案

接著使用 “rundll32.exe“ 執行解碼後的檔案,然後使用sleep指令來等待執行完成。完成後會刪除檔案以清除痕跡。
 
執行解碼後的檔案

解碼後的檔案是一個 .NET DLL 文件,將負責解密下一階段的文件並建立持續自動執行的設定。
 
解密後的文件仍經過ConfuserEx混淆

它先檢查目標文件是否存在。如果不存在,則建立“C:\ProgramData\Windows\Containers\BaseImages\9cb03978-56d9-4f38-8f05-d1fdf135f0ab\Files\Windows\System32\ResetEngine.dll“。然後,使用在程式中定義的密鑰執行RC4 演算法解密,並將解完的資料寫入剛建立的文件中。
 
將RC4解密後的內容寫進新建的文件中

接著,它將指令“C:\Windows\System32\regsvr32.exe /s C:\ProgramData\Windows\Containers\BaseImages\9cb03978-56d9-4f38-8f05-d1fdf135f0ab\Files\Windows\System32\ResetEngine.dll“ 加到“SOFTWARE\Microsoft\Widows\CurrentVersion\Run“ 註冊表中,建立未來自動執行檔案的設定。最後,使用“InvokeMethod“ 執行“Create“ 並帶入剛剛加入註冊表的指令。
 
新增註冊表
執行解密的檔案“ResetEngine.dll"

DLL 注入器
“ResetEngine.dll“ 是解密和注入最終程式的重要元件。它使用“NtDelayExecution“ 來逃避沙箱中的惡意活動偵測。同時檢查所有處理序,並嘗試終止父處理序,以達到anti-debugging的目的。
 
延遲執行和anti-debugging

接著,使用AES演算法解出最終檔案。
 
解密檔案

最後,它將解密的資料注入到自身處理序中,使用數個API,包括“GetCurrentProcessId“、“OpenProcess“、“VirtualAllocEx“、“WriteProcessMemory“、“CreateRemoteThread“和“WaitForSingleObject“ 來執行最終的Cobalt Strike。
 
將Cobat Strkie 寫入記憶體中

Cobalt Strike
此版本的Cobalt Strikej中,可以使用0x2E進行XOR運算解析出設定資料,包括此次攻擊使用的伺服器(C2):“hxxps://simonandschuster[.]shop/the-zero-residual-concept/products”和“hxxps://simonandschuster[.]shop/the-zero-residual-concept/sjj-solutions。
 
解析後的設定
Cobalt Strike的 POST 資料

結論
在這次複雜的攻擊事件中,駭客採用了多階段惡意軟體策略以防止偵測,同時確保運行的穩定性。通過在資料下載期間實施地理位置的檢查,駭客意圖隱藏可疑資料,以躲避資安人員的分析和檢測。過程中利用將字串進行編碼,VBA藏匿了許多關鍵的字串,促使了DLL文件能夠順利地在感染環境中部署和解密後續資料。此外,刪除自我的功能有助於逃避鑑識,而DLL注入器則採用延遲執行,並終止父處理序以分別逃避沙箱檢查和反除錯分析。
此次精心策劃的攻擊手法特別針對具有重要地緣政治的烏克蘭部署Cobalt Strike。由於Office文件提供了大量的功能,包括眾多的套件和巨集,因此使用者在處理來自不信任來源的文件時必須特別小心。保有警覺心是至關重要,尤其是對於可疑文件的下載或在註冊表中任何陌生程式的設定。

Fortinet 所提供的解決方案:
FortiGuard防病毒服務成功檢測並攔截本篇文章提及的惡意軟體活動:
W32/Stealer.QLD!tr
MSIL/Agent.WML!tr
MSIL/Kryptik.BJF!tr
LNK/Agent.WML!tr

FortiGate、FortiMail、FortiClient 和 FortiEDR 皆支援 FortiGuard 防病毒服務。因此,若您的網路架構中部署上述產品和最新版本防護即擁有FortiGuard 防病毒服務。
這些網址被 FortiGuard 網頁過濾服務評為「惡意網站」。
企業組織亦可透過免費的Fortinet Certified Fundamentals (FCF) in Cybersecurity培訓或是報名全中文的線上快速充電學習營,了解當今的威脅環境和基本的網路安全概念和技術。
FortiGuard IP 信譽和Anti-botnet安全防護服務透過匯整來自Fortinet分佈式威脅感應器、CERT、MITRE、合作競爭對手和其他全球合作夥伴的惡意源IP數據,積極阻止這些攻擊,提供最新威脅情報。

IOCs
網址
goudieelectric[.]shop
simonandschuster[.]shop
 
SHA256
88c97af92688d03601e4687b290d4d7f9f29492612e29f714f26a9278c6eda5b   815c1571356cf328a18e0b1f3779d52e5ba11e5e4aac2d216b79bb387963c2be   9649d58a220ed2b4474a37d6eac5f055e696769f87baf58b1d3d0b5da69cbce5   af8104e567c6d614547acb36322ad2ed6469537cd1d78ae1be65fbde1d578abc  de1bceb00c23e468f4f49a79ec69ec8ad3ed622a3ffc08f84c0481ad0f6f592b   6f4642a203541426d504608eed7927718207f29be2922a4c9aa7e022f22e0deb  d90f6e12a917ba42f7604362fafc4e74ed3ce3ffca41ed5d3456de28b2d144bf   d9b16f077cd6e00137ba208031d22fd6423d0ef303883ad4b6f78638693f2044