作者:SungLin@知道創宇404實驗室
時間:2019年7月30日

一.惡意郵件樣本的信息與背景

在六月份的某單位HW行動中,知道創宇HW安全團隊通過創宇云圖APT威脅感知系統并結合騰訊御點終端安全管理系統成功處置了一起APT攻擊事件。

7月份對同一樣本的補充截圖如下:

在本次APT攻擊中,攻擊者通過發送魚叉式釣魚郵件,配合社會工程學手段誘導用戶運行宏代碼,進而下載尾部帶有惡意payload壓縮包的可執行文件。通過層層釋放最終運行可竊取受害人員各類機密信息、維持權限、接收遠端控制的木馬。

文檔打開后,會誘導用戶需要開啟宏才能查看被模糊的圖片,一旦用戶點擊開啟宏,惡意樣本將會在用戶電腦上運行、潛伏、收集相應的信息、等待攻擊者的進一步指令。

該APT樣本整體運行流程圖如下:

二.宏病毒文檔的提取與調試

使用OfficeMalScanner解壓Office文檔并提取文檔所帶的vba宏代碼,打開Office文檔啟用宏后,采用快捷鍵Alt+F11開啟宏代碼的動態調試。該宏代碼作為實施攻擊的入口,實現了惡意樣本的下載和執行。本章也將分析下載和執行的整體流程。

解壓該Office文檔后,宏代碼被封裝在xl文件夾下的vbaProject.bin文件中。

使用OfficeMalScanner這個工具的命令info從vbaProject.bin中提取宏代碼,提取完后可以知道有6個宏代碼,其中fdrhfaz2osd是主要的宏代碼:

動態調試分析宏代碼,首先宏代碼傳入兩個值u和f,分別是請求的url和寫入的filepath。

通過調用WinHttp.WinHttpRequest模塊的方法Get請求來獲取Response并寫入到文件gc43d4unx.exe中。

最后通過調用WScript.Shell來啟動程序gc43d4unx.exe。

三.gc43d4unx.exe釋放pkk.exe等文件并執行

程序gc43d4unx.exe在文件的末尾存放了一個RAR的壓縮文件,gc43d4unx.exe程序通過解壓縮后在用戶Temp目錄下的29317159文件夾釋放了49個文件,并以pkk.exe xfj=eaa命令繼續執行惡意樣本。

壓縮文件在gc43d4unx.exe中的分布情況。

gc43d4unx.exe主要邏輯在對話框的回調函數sub_419B4E中,識別Rar!的頭部標識

解壓縮到映射的內存文件中,然后再挨著寫到各個文件中

在用戶Temp目錄下的29317159文件夾生成隱藏文件

最后通過SHELL32.ShellExecuteExW執行qwb.vbs代碼,qwb.vbs則會使用WshShell.Run運行pkk.exe xfj=eaa。

四.PayLoad之pkk.exe運行分析

pkk.exe是個名為AutoIt v3的腳本軟件,可以加載自定義腳本。主要是就是通過定義DllStruct,然后再通過DllCall來調用函數。qwb.vbs運行代碼為WshShell.Run”pkk.exe xfj=eaa”,通過pkk.exe加載一個叫xfj=eaa的二進制文件。

軟件先判斷載入的是不是DLL,xfj=eaa是個編碼后的腳本,判斷后程序將會嘗試解碼。

解碼成功后,將解碼數據寫入一個臨時文件中,軟件將會重新創建一個進程來重新加載腳本。

解碼后的Autolt腳本,代碼被混淆了。

根據混淆的腳本,只是函數名混淆,而且腳本只是一個純文本代碼,通過重寫此腳本后,可以看到基本還原的Autolt腳本代碼了。

Autolt軟件解析完腳本后根據字符串功能通過分發函數來執行相應的函數。

五.PayLoad之Autolt腳本分析

Autolt腳本包含的功能有:檢測運行環境、修改注冊表、解密最終的.net木馬并運行。

通過檢測進程名、設備是否有D盤等操作實現反虛擬機檢測

注冊表禁用UAC策略函數

注冊表禁用任務管理器函數

注冊表開啟自啟函數,AuEx和ExE_c的值分別是xfj=eaa、pkk.exe。

解密.net木馬:

讀取K3ys這個鍵值和mmm.ini文件中[Data]段到[eData],將此數據進行字符替換正則匹配。

載入Advapi32.dll,將K3ys鍵值進行Hash計算獲取到真正的key,后再調用CryptDecrypt函數解密,利用ollydbg動態調試dump出解密數據,解密后的數據就是一個PE結構的程序,用IDA分析程序后,為.NET程序,這個.NET程序就是最后核心木馬了,Autolt腳本后續將此PE結構加載進去,創建線程去單獨運行此程序。

六..NET木馬分析

木馬主要功能進行了敏感信息收集,敏感信息收集完后會判斷目標主機是否符合收集目標,以判斷6個人名為主,符合本機收集目標,將會通過smtp或者ftp服務器上傳文件,并且也通過web服務和c&c進行信息交流等。

木馬程序的基本信息:

用.net反編譯工具dnSpy打開此程序,程序入口處就是在類afg.agu,此木馬經我判定進行了控制流扁平化和字符串加密的混淆方式,采用工具de4dot無法進行反混淆。

字符串的解密:

如下圖所示,經過字符串加密后靜態分析已經無法分析到字符串,而且可以看出控制流進行了扁平化的處理,加密字符串的入口函數為<Module>.\u206E()

字符串的加密方式主要是通過傳入加密的索引,通過固定值的替換與拆分計算后找到對應存儲在uint型數組對象\u2009的加密Data、key、IV,\u2009數組對象大概有1047個字符串加密數組,字符串加密采用AES,模式為CBC。

編寫python腳本進行了字符串解密,解密后的效果如下所示:

字符串解密核心算法如下:

入口處獲取主機名進行判斷是否包含以下6個主機名,攻擊目標是否符合:

自我復制到C:\Users\l\AppData\Roaming\MyApp\MyApp.exe,設置為系統文件,并設置為無法刪除的文件Zone.Identifier,在注冊表設置為自啟應用并且隱藏。

感謝前輩的指點,此處有錯誤,更正如下:定時請求 http://checkip.amazonaws.com/ 獲取出口的IP。

httpweb服務器進行交互,進行信息的交流包括("update"、"info"、"uninstall"、"cookies"、"screenshots"、"keylog")。

DNS查詢等:

進行ftp和smtp服務操作,并且綁定了一個郵箱地址 。

以下可能是此地址的密碼:

收集信息如下:

系統信息
ManagementObjectSearcher managementObjectSearcher = new ManagementObjectSearcher("root\CIMV2", "SELECT * FROM Win32_VideoController")
managementObjectSearcher2 = new ManagementObjectSearcher("SELECT * FROM Win32_Processor");
瀏覽器
CatalinaGroup\Citrio\User Data liebao\User Data
Fenrir Inc\Sleipnir5\setting\modules\ChromiumViewer Yandex\YandexBrowser\User Data
360Chrome\Chrome\User Data Chedot\User Data
Elements Browser\User Data Epic Privacy Browser\User Data
CocCoc\Browser\User Data MapleStudio\ChromePlus\User Data
Chromium\User Data Torch\User Data
Iridium\User Data Comodo\Dragon\User Data
7Star\7Star\User Data Amigo\User Data
BraveSoftware\Brave-Browser\User Data CentBrowser\User Data
Vivaldi\User Data QIP Surf\User Data
Kometa\User Data Orbitum\User Data
Sputnik\Sputnik\User Data uCozMedia\Uran\User Data
Coowon\Coowon\User Data
ftp列表
\CoreFTP\sites.idx \FTP Navigator\Ftplist.txt
\SmartFTP\Client 2.0\Favorites\Quick Connect\
\SmartFTP\Client 2.0\Favorites\Quick Connect*.xml \Ipswitch\WS_FTP\Sites\ws_ftp.ini
\cftp\Ftplist.txt \FTPGetter\servers.xml
\FTP Navigator\Ftplist.txt
Mail列表
\VirtualStore\Program Files\Foxmail\mail\ \Opera Mail\Opera Mail\wand.dat
Software\IncrediMail\Identities\
注冊表
"HKEY_CURRENT_USER\Software\FTPWare\COREFTP\Sites\" + str + "Host" "HKEY_CURRENT_USERSoftwareFTPWareCOREFTPSites" + str + "Port"
"HKEY_CURRENT_USERSoftwareFTPWareCOREFTPSites" + str + "User" "HKEY_CURRENT_USERSoftwareFTPWareCOREFTPSites" + str + "PW"
"HKEY_CURRENT_USERSoftwareFTPWareCOREFTPSites" + str + "Name"

http通信信息

七.安全建議

強烈推薦采用知道創宇云圖、騰訊御點等產品,提高企業安全保護,降低外部威脅水平。

知道創宇云圖威脅監測系統系列產品,實時分析網絡全流量,結合威脅情報數據及網絡行為分析技術,深度檢測所有可疑活動。文件檢測采用全面沙箱分析,通過在沙箱(Sandbox)中運行(行為激活/內容“引爆”)各種文件,分析文件行為,識別出未知威脅。網絡檢測與文件檢測同步進行,采用情報共享機制,構筑檢測生態圈,準確、快速地掌握攻擊鏈條,以便進一步采取相關措施,將APT(高級持續性威脅)攻擊阻止在萌芽狀態。

騰訊御點是騰訊出品、領先國際的企業級安全服務提供者。依托騰訊19年的安全經驗積累,為企業級用戶提供私有云防病毒和漏洞修復解決方案。御點具備終端殺毒統一管控、修復漏洞統一管控,以及策略管控等全方位的安全管理功能,可幫助企業管理者全面了解、管理企業內網安全狀況、保護企業安全。

八.IOC信息

domain & IP:

animalrescueskyward.co.za
mail.privateemail.com
checkip.amazonaws.com

129.232.200.208:443
198.54.122.60
52.206.161.133
34.197.157.64
18.211.215.84
52.202.139.131
34.233.102.38   
52.6.79.229

相關 hash:

7b478598b056d1f8e9f52f5ef1d147437b7f0da5
a73816ebcfc07d6da66de7c298a0912a3dd5d41a
b65884f1e833ea3eec8a8be4c7057a560da4511e
8827b2c1520fb41034d5171c5c4afd15158fd4a3
491b221f68013a2f7c354e4bb35c91fe45a1c0c0


Paper 本文由 Seebug Paper 發布,如需轉載請注明來源。本文地址:http://www.bjnorthway.com/1011/