原文鏈接:Multi-stage APT attack drops Cobalt Strike using Malleable C2 feature
譯者:知道創宇404實驗室翻譯組
6月10日,我們發現了一個偽裝成簡歷的惡意Word文檔,它使用模板注入來刪除一個Net Loader。這是我們認為是APT攻擊的一個部分,在最后階段,威脅者使用Cobalt Strike的C2特性下載最終的有效載荷并執行C2通信。
這次襲擊因為它的躲避技巧顯得特別聰明。如我們觀察到在執行來自惡意Word宏的有效負載時存在故意延遲。此外,通過將shell代碼隱藏在一個無害的 JavaScript中并在不觸及磁盤的情況下加載它,APT可以進一步阻止安全檢測。
誘使代碼執行延遲
誘餌文件可能是通過魚叉式釣魚郵件(Anadia Waleed)分發的,起初,我們認為它的目標是印度,但實際上的受害者可能會更廣泛。

惡意文檔使用模板注入從以下URL下載遠程模板:
https:// yenile [。] asia / YOOMANHOWYOUDARE / indexb.dotm

用于托管遠程模板的域是由某香港人于2020年2月29日進行注冊的,在注冊該域后,文檔需要在15天內進行創建。
下載的模板“indexa.dotm”是一個包含五個功能的嵌入式宏:
- Document_Open
- VBA_and_Replace
- Base64解碼
- 更改字體大小
- FileFolderExist
下面顯示了嵌入式宏的功能

主要功能是Document_open,它在打開文件時執行。此功能將三個文件放入受害者的計算機中:
- Ecmd.exe:UserForm1和UserForm2包含兩個Base64編碼的有效負載。根據受害者計算機上安裝的.Net框架的版本,UserForm1(對于.Net v3.5)和UserForm2(其他版本)的內容將被解碼并存儲在“C:\ProgramData”中。
- cf.ini:“cf.ini”文件的內容是從UserForm3中提取的,經過AES加密,隨后由ecmd.exe解密。
- ecmd.exe.lnk:這是“ecmd.exe”的快捷文件,在Base64解碼UserForm4的內容后創建。該文件作為觸發器和持久性機制放置在“啟動”目錄中。
直到計算機重新啟動后,才會執行Ecmd.exe。


ChangeFontSize和VBA_and_Replace都沒有惡意功能。
中間裝載機
Ecmd.exe是一個.Net可執行文件,它偽裝成ESET命令行實用程序。下圖顯示了二進制證書、調試器和相關版本信息。
可執行文件使用無效的證書進行了簽名以模仿ESET,其版本信息顯示這是一個“ESET命令行界面”工具。



ecmd.exe是一個小型加載程序,它解密并執行前面提到的AES加密cf.ini文件。通過向http://ip-api.com/xml發出HTTP請求來檢查受害者國家的機器,接著解析XML并提取國家代碼。


如果國家/地區代碼是“RU”或“US”,則退出;反之將使用硬編碼密鑰和IV對“cf.ini”的內容進行解密。

解密的內容將復制到分配的內存區域,并使用VirtualAlloc和CreateThread API作為新線程執行。

ShellCode(cf.ini)
C2是攻擊者發布命令和控制流量(受害者和服務器之間的信標)的一種方式,目的是避免檢測,并能為每個目標創建自定義配置文件。
外殼程序代碼將Cobalt Strike Malleable C2功能與jquery Malleable C2配置文件結合使用,從“time.updateeset[.]com”下載第二個有效負載。

此技術已被其他兩個中國的APT(Mustang Panda和APT41)使用。
Shellcode首先使用PEB 查找ntdll.exe的地址,然后調用LoadLibrayExA加載Winint.dll。接著使用InternetOpenA、InternetConnectA、HttpOpenRequestAI、nternetSetOptionA和HttpSendRequestA API來下載第二個有效負載。
在兩個循環內解析API調用,然后跳轉到已解析API調用的地址來進行執行。

惡意有效負載由InternetReadFile下載,并復制到分配的內存區域。

考慮到通信是通過HTTPS進行的,Wireshark不能幫助發現惡意負載。

使用Burp Suite代理能夠成功地驗證并捕獲從time.updateeset[.]com/jquery-3.3.1.slim.min.js下載的正確負載。如圖所示,有效負載包含在HTTP響應返回的jQuery腳本中:

將有效負載復制到內存中的緩沖區后,shellcode跳到緩沖區的開頭并繼續執行。這包括向“time.updateeset[.]com/jquery-3.3.1.min.js” 發送連續的請求,并等待來自C2的潛在命令。

使用Hollow Hunter,我們能夠從ecmd的內存空間中提取最終的有效載荷。
歸因
這次攻擊的確切歸因尚在研究中,但在這里,我們將提供一些關于誰可能是這次攻擊的幕后黑手的見解。我們的分析表明,攻擊者不包括俄羅斯和美國。前者可能是一個錯誤標志,后者可能是為了避免引起美國惡意軟件分析師的注意。
如前所述,承載遠程模板的域在香港注冊,而C2域“time.updateeset[.]在2020年2月29日以一家名為Ehtesham Rayan的伊朗公司的名義注冊。這家公司過去提供AV軟件,現在似乎已經關閉了。然而,這些都不是強有力的歸因指標。

就TTPs的使用而言,眾所周知,中國的APT組合如Mustang Panda和APT41使用了jQuery和 Cobalt Strike的C2特性。 具體來說,Mustang Panda最新的活動使用了同樣的Cobalt Strike功能和同樣的jQuery配置文件來下載最終的有效載荷。這與我們在這次活動中看到的非常相似,但是在我們的案例中,初始感染媒介和第一個有效載荷是不同的。

IOCs
Anadia Waleed resume.doc
259632b416b4b869fc6dc2d93d2b822dedf6526c0fa57723ad5c326a92d30621
Remote Template: indexa.dotm
7f1325c5a9266e649743ba714d02c819a8bfc7fd58d58e28a2b123ea260c0ce2
Remote Template Url:
https://yenile[.]asia/YOOMANHOWYOUDARE/
C2:
time.updateeset[.]com
Ecmd.exe:
aeb4c3ff5b5a62f5b7fcb1f958885f76795ee792c12244cee7e36d9050cfb298
dcaaffea947152eab6572ae61d7a3783e6137901662e6b5b5cad82bffb5d8995
5f49a47abc8e8d19bd5ed3625f28561ef584b1a226df09d45455fbf38c73a79c
cf.ini:
0eba651e5d54bd5bb502327daef6979de7e3eb63ba518756f659f373aa5f4f8b
Cf.ini shell-code after decryption:
5143c5d8715cfc1e70e9db00184592c6cfbb4b9312ee02739d098cf6bc83eff9
Cobalt Strike downloaded shellcode:
8cfd023f1aa40774a9b6ef3dbdfb75dea10eb7f601c308f8837920417f1ed702
Cobalt Strike payload
7963ead16b6277e5b4fbd5d0b683593877d50a6ea7e64d2fc5def605eba1162a
本文由 Seebug Paper 發布,如需轉載請注明來源。本文地址:http://www.bjnorthway.com/1250/
暫無評論