作者: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
本文由 Seebug Paper 發布,如需轉載請注明來源。本文地址:http://www.bjnorthway.com/1011/
暫無評論