作者:360威脅情報中心
公眾號:360威脅情報中心
背景
2019年1月9日,360威脅情報中心捕獲到多個專門為阿拉伯語使用者設計的誘餌文檔。釣魚文檔為攜帶惡意宏的Office Excel文檔,惡意宏代碼最終會釋放執行一個C#編寫的后門程序,該后門程序利用了復雜的DNS隧道技術與C2進行通信并執行指令,且通過GoogleDrive API實現文件的上傳下載。
360威脅情報中心經過溯源和關聯后確認,這是DarkHydrus APT組織針對中東地區的又一次定向攻擊行動。DarkHydrus APT組織是Palo Alto在2018年7月首次公開披露的針對中東地區政府機構進行定向攻擊的APT團伙[1]。而在此之前,360威脅情報中心曾發現并公開過該組織使用SettingContent-ms文件任意代碼執行漏洞(CVE-2018-8414)進行在野攻擊的樣本,并進行了詳細分析[2]。
時間線
與DarkHydrus APT組織相關的時間線如下:

根據社交網絡的反饋,對此團伙卡巴斯基內部的跟蹤代號為:LazyMeerka。[4]
樣本分析
Dropper(Macros)

以下分析均以MD5:5c3f96ade0ea67eef9d25161c64e6f3e的樣本為例,誘餌文檔是一個Office Excel文檔,名為???????.xlsm(指標.xlsm)。其內嵌VBA宏,當受害者打開文檔并啟用宏后,將自動執行惡意宏代碼。
該惡意宏代碼的功能為釋放WINDOWSTEMP.ps1和12-B-366.txt文件到%TEMP%目錄,最后使用regsvr32.exe啟動12-B-366.txt文件:

實際上12-B-366.txt是一個HTA(HTML應用程序)文件,該文件用于啟動釋放出來的PowerShell腳本:%TEMP%\ WINDOWSTEMP.ps1

WINDOWSTEMP.ps1腳本內容如下,該PowerShell腳本使用Base64和gzip解碼和解壓縮腳本里的content,然后寫入到文件:%TEMP%\OfficeUpdateService.exe,最后運行%TEMP%\OfficeUpdateService.exe:

Backdoor(OfficeUpdateService.exe)

釋放執行的后門程序使用C#編寫:

樣本PDB路徑信息和其使用的通信技術有很強的關聯性,指示其使用了DNS相關的技術:
C:\Users\william\Documents\Visual Studio 2015\Projects\DNSProject\DNSProject\obj\Release\DNSProject.pdb
后門程序運行后會先檢查參數是否包含“st:off”和“pd:off”,如果包含“st:off”則不會寫啟動項,如果包含“pd:off”則不會釋放PDF文件。隨后檢測是否運行在虛擬機、沙箱中,或者是否被調試等,通過這些檢查后最終執行惡意代碼:

寫入啟動項的持久化操作:

釋放誘餌PDF文件:

執行虛擬機、沙箱檢測以及反調試等操作:

緊接著獲取主機信息:


然后通過DNS隧道發送搜集到的主機信息,其中DNS隧道通信部分封裝到queryTypesTest函數中:

最后進入命令分發循環, 該命令分發流程首先判斷是否是x_mode模式,如果不是,則通過DNS隧道技術與C2通信獲取需要執行的指令,否則通過HTTP傳輸數據:

與C2通過DNS隧道建立通信,并解析返回的數據,然后提取指令,最后通過taskHandler函數分發指令:

以下是部分指令截圖:

值得注意的是,^\$x_mode指令將設置文件上傳下載的服務器,服務器地址通過DNS隧道獲取:

其中一個樣本指定了服務器為Google Drive服務器:
https://www.googleapis.com/upload/drive/v3/files/" + file_id + "?supportsTeamDrive=true&uploadType=resumable&fields=kind,id,name,mimeType,parents

所有命令列表如下:

DNS隧道通信分析
DNS隧道通信技術是指通過DNS查詢過程來建立通信隧道。該通信方式有極強的隱蔽性,容易穿透各種流量網關的檢測。
實現DNS隧道通信技術主要有兩種方法:
- 指定DNS服務器實現DNS隧道通信
- 通過域名提供商提供的接口修改NS記錄,將解析域名的DNS服務器指定為攻擊者的DNS服務器,接管域名的DNS解析請求
本文所描述的后門程序OfficeUpdateService.exe使用的則是第二種方式實現DNS隧道通信,其主要原理為修改木馬程序需要解析的域名的NS記錄,由于DNS解析過程會首先嘗試向NS記錄指定的DNS服務器請求解析域名,所以NS記錄指定的DNS服務器能收到DNS查詢請求以及附帶的數據。如果域名對應的NS記錄中的DNS服務器是由攻擊者控制的,那么攻擊者就可以通過該DNS服務器與木馬程序通過DNS查詢建立起特殊的通信渠道。
木馬程序請求的域名列表如下:

設置NS記錄
NS(Name Server)記錄是域名服務器記錄,用來指定該域名由哪個DNS服務器來進行解析。
攻擊者首先將相關域名的NS記錄修改為了攻擊者控制的DNS服務器,攻擊者指定用于解析相關域名的NS服務器為:tvs1.trafficmanager.live , tvs2.trafficmanager.live,我們通過nslookup可以查詢得到:

樣本再通過本機的nslookup程序向相關域名提交請求,而由于這些域名的NS記錄被指定為了攻擊者的DNS服務器(tvs1.trafficmanager.live),故nslookup提交的查詢信息會被發送給攻擊者的DNS服務器,然后讀取DNS服務器返回的信息進行數據交互。所以樣本其實是在和攻擊者控制的DNS服務器進行最終的通信。
樣本使用nslookup解析域名并附帶以下參數:timeout(請求超時時間)、q(DNS請求類型):

發送上線請求并獲取執行指令
木馬會根據不同的查詢類型,使用不同的正則表達式去匹配DNS服務器返回的結果數據:
比如執行nslookup并使用查詢類型為A進行查詢,最終使用以下正則表達式匹配返回的數據結果:

而樣本首先會通過向攻擊者控制的DNS服務器發送DNS查詢請求來發送當前木馬的上線ID給攻擊者:首先獲取當前的進程ID,并與請求查詢的域名組成一個二級域名,依次使用nslookup指定DNS的查詢類型發送DNS查詢信息:

接著根據當前DNS請求的類型分別用不同的正則表達式規則匹配其返回的數據結果,并取取其中的數據:

我們手動模擬使用TXT查詢請求并上傳木馬ID的過程如下:
首先我們構造一個二級域名:ajpinc.akamaiedge.live,二級域名ajpinc中的a代表第一次請求,末尾的c代表結尾,a和c之間是編碼過后的當前進程ID。然后我們使用nslookup發送該請求,執行的效果如下:

而木馬程序會使用以下正則表達式來匹配返回的數據結果:(\w+).(akdns.live|akamaiedge.live|edgekey.live|akamaized.live)
該正則表達式會匹配上述結果中的ajpinc和ihn字符串,然后將ihn通過指定的解碼函數解碼得到“107”,解碼函數如下:

最后獲取當前的配置信息,再通過DNS協議傳輸給攻擊者控制的DNS服務器,并持續發送DNS請求,最終分別使用不同的正則表達式來匹配返回的結果,獲取下一步需要執行的指令。
數據匹配規則
樣本主要使用的DNS查詢類型如下:

木馬會根據不同的查詢類型,使用不同的正則表達式去匹配攻擊者的DNS服務器返回的結果數據:
比如執行nslookup并使用查詢類型AC得到返回的數據,并使用以下正則表達式匹配返回的數據結果:

使用查詢類型為AAAA得到的數據使用以下正則表達式匹配返回的數據結果:

使用其他DNS查詢類型得到的數據使用以下正則表達式匹配返回的數據結果:

樣本所使用的DNS查詢類型及返回數據對應匹配的正則表達式如下:

如果當返回的DNS請求結果中被"216.58.192.174|2a00:1450:4001:81a::200e|2200::|download.microsoft.com|ntservicepack.microsoft.com|windowsupdate.microsoft.com|update.microsoft.com"正則表達式命中,則代表請求被取消,則不會執行后續的操作:

溯源與關聯
360威脅情報中心通過對樣本詳細分析后發現,此次攻擊的幕后團伙疑似為DarkHydrus APT組織,部分關聯依據如下。
樣本使用DNS隧道進行通信
與之前Palo Alto披露[2]的木馬類似的,都使用了相同的DNS隧道通信技術:

高度一致的沙箱檢測代碼和后門功能代碼
幾乎完全一致的虛擬機、沙箱檢測代碼:

惡意代碼相似度極高,木馬功能也高度相似:

拓展
有趣的是,我們關聯到某個Twitter用戶@darkhydrus2的昵稱為Steve Williams,該用戶名與DarkHydrus吻合,且昵稱williams與此次C#編寫的木馬程序的PDB路徑又有些關聯:

總結
從近年來的高級攻擊事件分析中可以看出,由于利用Office 0day等漏洞進行攻擊的成本較高,多數攻擊者更趨向于利用Office VBA宏執行惡意代碼。企業用戶應盡可能小心打開來源不明的文檔,如有需要可通過打開Office文檔中的:文件-選項-信任中心-信任中心設置-宏設置,來禁用一切宏代碼執行:

目前,基于360威脅情報中心的威脅情報數據的全線產品,包括360威脅情報平臺(TIP)、天眼高級威脅檢測系統、360 NGSOC等,都已經支持對此類攻擊的精確檢測。
IOC

參考鏈接
[1]. https://ti.360.net/blog/articles/analysis-of-settingcontent-ms-file/
[3]. https://ti.360.net/
[4]. https://twitter.com/craiu/status/1083305994652917760
本文由 Seebug Paper 發布,如需轉載請注明來源。本文地址:http://www.bjnorthway.com/793/
暫無評論