作者:K&Nan@知道創宇404高級威脅情報團隊
英文版:http://www.bjnorthway.com/3033/
1. 攻擊活動綜述
近期知道創宇404 高級威脅情報團隊的研究報告《韓美大規模聯合軍演挑釁升級?朝方 APT 組織近期攻擊活動分析》中分享了APT37 & Konni組織近期針對韓方的攻擊活動,其中Konni組織所使用的新技戰術、程序(TTP)更偏向于針對韓方的慣用TTP,我們在狩獵過程也發現Konni在針對非韓方地區所使用的TTP有所調整。
眾所周知,朝方APT組織早已將數字貨幣行業作為攻擊目標,但是朝方針對加密貨幣/金融相關行業的攻擊往往由Lazarus組織操作,本次的攻擊活動也是較為少見的發現朝方除Lazarus組織外還有其余組織針對加密貨幣行業進行攻擊活動。
同時我們發現本次攻擊活動中Konni使用近期Group-IB披露的WinRAR漏洞(CVE-2023-38831),這也是首次發現有APT組織利用此漏洞進行攻擊,相關分析描述見下文。
本次所捕獲Konni組織的攻擊目標與以往存在極大區別,根據誘導名稱來看,攻擊目標指向數字貨幣行業,推測有可能是Konni組織開辟新攻擊方向,本次捕獲到的樣本名稱為“wallet_Screenshot_2023_09_06_Qbao_Network.zip”,名稱中所提及的Qbao Network介紹如下:
“QbaoNetwork是一款智能加密錢包。旨在打造區塊鏈生態平臺,打造區塊鏈世界的入口。集跨鏈數字貨幣錢包、支付結算、代幣兌換、社交網絡、新聞行情、DAPP Store等多功能于一體。QbaoNetwork服務全球數字貨幣用戶,為用戶提供跨鏈、去中心化、安全、易用的數字資產平臺。QbaoNetwork是一款滿足人們在數字貨幣支付結算、數字資產管理、數字資產交易、在線消費、身份認證、新聞、社交等方面需求的一站式應用。為全球用戶提供數字經濟和數字生活的入口。” --來源crunchbase.com


2. 攻擊鏈

3. 捕獲樣本分析
本次捕獲到的樣本名為wallet_Screenshot_2023_09_06_Qbao_Network.rar,該樣本利用最新披露的Winrar漏洞(CVE-2023-38831)執行惡意載荷,當壓縮文件中的html文件被受害者點擊后,精心構造的同名目錄下的同名惡意載荷將被執行起來:

關于CVE-2023-38831漏洞的簡要分析描述
當受害者嘗試打開存檔文件中的Screenshot_2023_09_06_Qbao_Network.html"時,Winrar會比較存檔中的所有文件以查找與"Screenshot_2023_09_06_Qbao_Network.html"同名的文件/目錄,根據Winrar的處理情況來看,如果存在與"Screenshot_2023_09_06_Qbao_Network.html"同名的目錄Winrar則會繼續檢查"Screenshot_2023_09_06_Qbao_Network.html /"目錄下的文件。
如果"Screenshot_2023_09_06_Qbao_Network.html/" 目錄下同樣存在文件名為"Screenshot_2023_09_06_Qbao_Network.html "的文件則將"Screenshot_2023_09_06_Qbao_Network.html/" 目錄下"Screenshot_2023_09_06_Qbao_Network.html"文件放入提取列表中。
在實際構造過程中由于Winrar存在一個文件名預處理操作,用于檢查文件名并刪除一些 Windows 不接受的特殊字符。 “Screenshot_2023_09_06_Qbao_Network.html .exe”文件名中“html”與“.exe”中間存在特意構造的空格,在進行路徑分割時文件名解析為“Screenshot_2023_09_06_Qbao_Network.html”,因此把"Screenshot_2023_09_06_Qbao_Network.html .exe"文件放入提取列表中。最終導致壓縮包中的Screenshot_2023_09_06_Qbao_Network.html .exe運行:


Screenshot_2023_09_06_Qbao_Network.html .exe運行后首先會創建線程,線程中利用GetSystemWow64DirectoryW檢測當前系統是否為64位系統,若是則將1拼接到/info.php?user_id=8596&type=后,若不是則拼接0.

從e9f0dkd.c1[.]biz服務端下載后續載荷:

下載載荷后,將硬編碼的字符串解base64后寫入%temp%\temp.bat并運行。


temp.bat開始運行下載的載荷check.bat:

下載載荷分析:
從服務端下載的數據被存儲為%temp%[random].tmp,并解壓縮。壓縮文件目錄結構如下:

各文件功能分析如下
check.bat
-
判斷是否存在遠程連接session,存在則直接運行trap.bat。
-
若不存在則判斷當前系統是否為Win10,若是,設置Num等于4,反之等于1,這兩個參數代表了后續采用不同的UAC繞過方式。
-
判斷是否在64位系統下,若是則執行wpnprv64.dll,否則執行wpnprv32.dll。
-
痕跡刪除。

wpnprv64.dll(wpnprv32.dll代碼邏輯一致):
“IIIIIIII”導出函數中包含主要惡意代碼,根據傳入的參數選擇不同的Bypass UAC方式:

若傳入的參數1為1時,則利用白名單程序wusa.exe + 模擬token登錄的方式運行trap.bat:


當傳入的參數1為4時,則利用AppInfo RPC以及PPID欺騙技術進行Bypass UAC,最終運行trap.bat:


trap.bat:
-
根據當前的路徑是否為系統目錄判斷是否需要文件復制。
-
判斷當前系統是否為64位系統,是則將rdssvc4.png復制到system32目錄下命名為rdssvc.dll,否則將rdssvc2.png復制到system32目錄下命名為rdssvc.dll,兩者都會將rdssvc.dat復制到system32目錄下。
-
創建名為“Remote Database Service Update”的服務,服務指向的服務程序為前面復制而成的rdssvc.dll。
-
啟動服務,rdssvc.dll被執行起來。
-
刪除痕跡。

rdssvc.dll(Konni RAT,以x64程序為例):
在rdssvc.dll的ServiceMain導出函數中,首先會解密API:

創建HKCU\Console注冊表項,并將65001寫入CodePage中:

讀取HKCU\Console\MaxElapsed下的值作為連接測試的等待時間:


讀取rdssvc.dat文件,并從中解密出C2地址:
執行“cmd /c systeminfo”和“cmd /c tasklist”,并將數據保存到%temp%目錄下:

將獲取的數據使用makecab進行打包:

將數據aes加密后上傳到服務端,服務端返回“success!”則表示上傳成功:


從C2獲取數據:

獲取的數據使用“#”分割,分割的數據解base64后再進行aes解密:


最終根據返回數據中的指令可以實現如下功能:
| 指令 | 參數1 | 參數2 | 功能 |
|---|---|---|---|
| /stext | 以SYSTEM權限運行程序 | ||
| /user | 以USER權限運行程序 | ||
| /user | /stext或> | 以USER權限運行程序,并保存結果 | |
| cmd | pull | /f | 將文件復制到temp目錄,然后上傳 |
| cmd | pull | 文件上傳 | |
| cmd | > | 遠程shell,結果保存到temp目錄 | |
| cmd | 遠程shell | ||
| cmd | chmod | 保存指定文件 | |
| cmd | put | 文件移動 |
4. IOC
-
1536e9bf086982c072c2cba7d42b0a62
-
e9f0dkd.c1[.]biz
-
ske9dhn.c1[.]biz
本文由 Seebug Paper 發布,如需轉載請注明來源。本文地址:http://www.bjnorthway.com/3032/
暫無評論