對某單位的 APT 攻擊樣本分析

酷酷的曉得哥發表於2019-08-14

作者: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,在登錄檔設定為自啟應用並且隱藏。

感謝前輩的指點,此處有錯誤,更正如下:定時請求   獲取出口的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

轉載請註明來源

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69912109/viewspace-2653666/,如需轉載,請註明出處,否則將追究法律責任。

相關文章