[译] APT分析报告:09.伊朗APT34更新武器库——SideTwist变体
這是作者新開的一個專欄,主要翻譯國外知名安全廠商的APT報告,了解它們的安全技術,學習它們溯源APT組織和惡意代碼分析的方法,希望對您有所幫助。當然,由于作者英語有限,會借助機翻進行校驗,還請包涵!前文分享了checkpoint公司提出的一個新技術,即漏洞利用圖譜,通過查找作者的指紋來尋找利用漏洞。這篇文章將詳細講解伊朗威脅組織APT34(又名“OilRig”)發起的一項新攻擊行動,該行動似乎是針對Lebanese的一個目標,使用了一種新的后門變體,我們稱之為“SideTwist”。
- 原文標題:《Iran’s APT34 Returns with an Updated Arsenal》
- 原文鏈接:https://research.checkpoint.com/2021/irans-apt34-returns-with-an-updated-arsenal/
- 文章作者:checkpoint
- 發布時間:2021年4月8日
- 文章來源:research.checkpoint.com
文章目錄
- 一.前言
- 二.初次感染
- 三.帶有DNS隧道的惡意宏
- 四.第二階段有效載荷:SideTwist
- 1.持久化(Persistence)
- 2.初始化
- 五.C&C通信
- 1.命令請求通訊
- 2.命令結果通訊
- 3.加密通訊
- 六.溯源歸因
- 1.文件相似度
- 2.C&C通信相似度
- 3.額外APT34的目標
- 七.結論
- 附錄A:IOCs
一.前言
Check Point 研究院發現了伊朗威脅組織 APT34(OilRig) 針對黎巴嫩目標的新攻擊證據,該攻擊采用了我們稱為 SideTwist 的后門新變體。
自從2019年,APT34組織泄漏一個名為“Lab Dookhtegan”的工具以來,該威脅組織一直在積極地改造和更新其有效載荷庫,從而避免被檢測,并創建了幾種不同的惡意軟件變體,其最終目的仍然是在目標設備上獲得初始立足(寄生目標設備)。
從2018年的DNSpionage活動開始,就已經觀察到APT34通過使用誘騙性尋找工作的釣魚文件作為目標,該文檔通過LinkedIn消息直接傳遞給選定的目標個人。這項攻擊活動通過HardPass操作一直持續到2019年,并且同樣使用了LinkedIn平臺。
在2021年1月份的最新活動中,Lebanese(APT34的共同目標)向VirusTotal提交了一份文件,其中也描述了這樣一份工作釣魚文件,盡管在這種情況下,我們無法確認目標的最初交付機制。
在下面的文章中,我們將分析攻擊者使用的最新感染鏈,并深入研究新的惡意軟件變體。
補充:DNSpionage攻擊活動
該攻擊組織使用了兩個虛假的惡意網站,其中托管了偽裝成招聘文書的Microsoft Office惡意文檔,文檔中嵌入用來入侵目標用戶的惡意宏。我們將攻擊者所使用的惡意軟件標識為DNSpionage,該惡意軟件能夠以HTTP和DNS協議與攻擊者通信。并且通過社交平臺(如LinkedIn)來傳播惡意鏈接,使這種求職攻擊更加真實。
惡意樣本中包含的宏主要執行如下兩個步驟:
- 第一步:當文檔打開時,使用base64解碼經過編碼的一個PE文件,然后將其釋放到當前系統中,具體路徑為:%UserProfile%.oracleServices\svchost_serv.doc。
- 第二步:當文檔關閉時,將svchost_serv.doc重命名為svchost_serv.exe,然后創建名為chromium updater v 37.5.0的計劃任務,以便執行該程序。計劃任務會立即執行,并且每分鐘都會重復執行。
同時,惡意樣本通過兩個步驟來規避沙盒檢測。
- 一方面,只有當Microsoft Office被關閉時才會執行攻擊載荷,意味著載荷部署過程中需要用戶交互。樣本中包含的宏同樣使用密碼保護,避免用戶通過Microsoft Office查看宏代碼。
- 另一方面,宏還用到了經典的字符串混淆技術來規避基于字符串的檢測機制。宏使用拼接方式生成schedule.service字符串。
最終攻擊載荷是一款遠程管理工具,我們將其標識為DNSpionage。DNSpionage會在當前運行目錄中生成相關數據,并使用HTTP及DNS協議來與C2服務器通信。
- %UserProfile%.oracleServices/
- %UserProfile%.oracleServices/Apps/
- %UserProfile%.oracleServices/Configure.txt
- %UserProfile%.oracleServices/Downloads/
- %UserProfile%.oracleServices/log.txt
- %UserProfile%.oracleServices/svshost_serv.exe
- %UserProfile%.oracleServices/Uploads/
二.初次感染
我們的分析始于一個名為 Job-Details.doc 的惡意Microsoft Word文檔。
- md5:6615c410b8d7411ed14946635947325e。
顯然,這份釣魚文檔試圖表現得像一份真實的求職文檔,提供了總部位于美國弗吉尼亞州的Ntiva IT咨詢公司的各種職位。但是,一旦用戶激活了嵌入式惡意宏,就會觸發惡意行為。完整的感染流程如下圖所示:
圖2:感染流程三.帶有DNS隧道的惡意宏
APT34在釣魚求職攻擊中使用的宏經過了多年的演變,并且一直設法保持自己獨特的風格和目的,包括(重點知識):
- 驗證是否有鼠標連接到PC(防沙盒技術)
- 對目標設備進行初始指紋識別,并將信息發送到C2服務器
- 將擴展名為“doc”的嵌入式可執行文件放置到磁盤上,稍后將更名為“.exe”
- 注冊Windows計劃任務,該任務將每隔X分鐘啟動一次可執行文件
注意:Vba2Graph是一款通過VBA代碼分析惡意軟件的強大工具,推薦文章。
- https://www.freebuf.com/sectool/191430.html
在上面的宏函數調用圖中,我們可以從 Document_Open 和 Document_Close 函數中看到對DnsQuery外部函數的多次調用。
APT34因其在許多不同的工具中大量使用DNS隧道而臭名昭著,這一次該功能也被放進入了最初的宏階段。一旦宏被執行,DNS請求就被用來指向攻擊者,并告知他們當前的執行階段,以及傳遞一些受害者可識別的信息。
圖4:來自惡意宏的代碼段,負責發送DNS查詢在此步驟中,攻擊者正在使用公開可用的 requestbin[.]net DNS隧道服務,以獲取有關宏感染進度的更新。這樣,攻擊者擁有的基礎設施就不會暴露出來,以防沙箱無法完全“引爆”文檔。
以下是攻擊者在 requestbin[.]net 網站上看到的信息演示。其中,受害者在以下環境下的系統中執行惡意宏。
- 用戶名: John
- 主機名: John-pc
編碼后的數據是通過以下方式從PC信息導出來的。
圖6:編碼的DNS數據四.第二階段有效載荷:SideTwist
這個階段的后門是我們在以前的APT34操作中從未見過的變體,但提供了類似于 DNSpionage、TONEDEAF 和 TONEDEAF2.0 等其他基于C語言的后門的簡單功能。后門的功能包括:
- 下載
- 上傳
- 執行Shell命令
1.持久化(Persistence)
在這個感染鏈中,持久性實際上是由第一階段的宏建立的,而第二階段的有效載荷(payload)沒有任何自己的持久性機制。
持久化是在注冊調度任務時的第一階段實現的。名為 SystemFailureReporter 的計劃任務將每5分鐘執行第2階段有效載荷。
圖7:受感染機器上的計劃任務后門非常依賴于這種持久性機制,因為每次啟動后門時,它只會執行從C&C服務器提供的單個命令并立即關閉,直到由計劃任務再次啟動為止。
2.初始化
該后門首先收集有關受害者計算機的基本信息,然后根據目標環境的用戶名,計算機名和域名計算一個4字節長的受害者標識符。此標識符將在后續C&C通信中使用。
圖8:收集可識別信息的代碼接下來,惡意軟件將驗證本應在感染第一階段創建的 update.xml 文件確實存在,如果不存在,它將自己終止——使用 OutputDebugString 函數將以下文本打印到調試輸出。
- “Please install visual studio 2017 and try again”
因為此功能的目的是打印調試信息,所以僅在應用程序的調試過程中,普通用戶是看不到該文本的。
五.C&C通信
后門與C&C服務器(sarmsoftware[.]com)的通信是基于443端口的HTTP協議,回退(443)端口是80。后門使用兩種不同的技術來與C&C服務器進行傳出和傳入通信,盡管在這兩種情況下使用了相同的加密算法(請參閱下面有關加密的更多內容)。
1.命令請求通訊
后門使用GET請求通過以下URL與C&C服務器聯系。
- sarmsoftware[.]com/search/{identifier}
這個請求的響應隱藏在下面的Flickr頁面的源代碼中。
圖10:用作C&C的Fake Flickr相似頁面這個響應以下面的格式返回到HTML代碼后門中。
/*Encrypted_Message_Encoded_with_Base64*/ /*R7ECPhIUYBsPFGA=*/ 圖11:代碼中嵌入的C&C命令在對該base64字符串進行解碼和解密之后,明文內容采用以下管道分隔格式:
圖12:加密的數據格式-
命令數字(Command Number)
一個運行索引號,用來跟蹤執行命令。如果設置為-1以外的任何數字,后門應該根據命令ID繼續執行該命令;否則,忽略并終止。 -
命令ID(Command ID)
可以是以下命令之一:
– 101 - Shell命令:執行附加在{Arg1}參數中的Shell命令
– 102 - 下載文件:下載一個文件,該文件可以{Arg2}在服務器的路徑上找到,并使用{Arg1}名稱保存在磁盤上
– 103 - 上傳文件:上傳本地文件{Arg1}到服務器
– 104 - Shell命令(副本):執行附加在{Arg1}參數中的Shell命令
2.命令結果通訊
后門在受害人的機器上執行了任意命令后,會將執行后的命令的結果返回到C&C服務器,并返回到與以前相同的URL,但是在POST請求中而不是GET中:
當后門在受害者的機器上執行了任意命令后,它將執行命令的結果返回給C&C服務器,返回到之前相同的URL,但使用的是POST請求而不是GET。
- sarmsoftware[.]com/search/{identifier}
POST正文的格式是一個簡單的JSON,基于C&C服務器提供的命令編號和命令執行的加密結果。
圖13:結果數據格式3.加密通訊
攻擊者利用 Mersenne Twister 偽隨機數生成器作為加密通信的基礎。每個加密消息的第一個4個字節是 Mersenne Twister 的種子,用于解密消息的其余部分。
可以使用以下Python代碼段對加密的Base64通信進行解密:
def decode(msg):bs=base64.b64decode(msg)seed=int.from_bytes(bs[:4],byteorder='big')rng = mersenne_rng(seed)k=rng.get_random_number()key=int.to_bytes(k,length=4,byteorder='little')dec="".join([chr(bs[i]^key[(i-4)%4]) for i in range(4,len(bs))])return dec六.溯源歸因
無論是惡意宏、后門、目標攻擊,還是在這次操作中使用的技術,都與之前報告的歸因于APT34的活動一致。
1.文件相似度
除了像以前的 APT34 操作一樣,我們再次看到求職文件被用來鼓勵受害者啟用宏,并且在技術上也有相似之處。
- 在之前的DNSpionage戰役中出現了相同的變量beacher
- 宏的主要功能與以前的APT34活動一樣:惡意宏使用 MouseAvailable 函數來逃避檢測,并創建一個計劃任務來執行嵌入在文檔中的有效負載。
2.C&C通信相似度
眾所周知,APT34的后門DNSpionage和TONEDEAF會通過搜索隱藏在合法網站HTML內容中的特定模式來接收服務器發出的命令。
在我們的案例中,攻擊者使用了一個類似Flickr的頁面,而在之前的活動中使用的是GitHub、Wikipedia和Microsoft lookalikes。
3.額外APT34的目標
在分析上述活動時,惡意軟件研究人員將這些文件和其他與APT34相關的文件上傳到VirusTotal,并在Twitter上注明。
這些文檔在初始宏中使用了相同的 requestbin[.]net DNS隧道服務,并交付了該組織的另一個簽名工具,基于.net的名為 Karkoff 的后門的變種,它利用internet面向exchange服務器作為與攻擊者的通信方法。
這些新發現的安全人員強調了APT34正在對中東,特別是Lebanon的目標發動進攻的程度。
- Karkoff植入物(MD5: ab25014c3d6f77ec5880c8f9728be968))包括一個屬于Lebanon ZF(mail.army.gov[.]lb)的交換服務器的憑證,可能表明其網絡長期處于受損狀態。
七.結論
伊朗支持的APT34沒有任何放緩的跡象,并持續關注Lebanon,發起網絡攻擊行動。如上文所述,在維持慣常的操作方式并重用舊技術的同時,該小組繼續創建和更新工具,以最大程度地減少安全供應商對其工具的可能檢測。
在這篇文章中,我們分析了該組織正在進行的求職釣魚攻擊行動部署的最新后門變種,其中包括帶有工作機會的惡意文檔,這是他們至少自2018年以來成功采用的一種技術。
Check Point Sandblast可以抵御這種APT攻擊,并從一開始就阻止它。
- 一.前言
- 二.初次感染
- 三.帶有DNS隧道的惡意宏
- 四.第二階段有效載荷:SideTwist
1.持久化(Persistence)
2.初始化 - 五.C&C通信
1.命令請求通訊
2.命令結果通訊
3.加密通訊 - 六.溯源歸因
1.文件相似度
2.C&C通信相似度
3.額外APT34的目標
附錄A:IOCs
惡意文檔:
- MD5:6615c410b8d7411ed14946635947325e
- SHA1:9bba72ac66af84253b55dd7789afc90e0344bf25
- SHA256:13c27e5049a7fc5a36416f2c1ae49c12438d45ce50a82a96d3f792bfdacf3dcd
SideTwist后門:
- MD5:94004648630739c154f78a0bae0bec0a
- SHA1:273488416b5d6f1297501825fa07a5a9325e9b56
- SHA256:47d3e6c389cfdbc9cf7eb61f3051c9f4e50e30cf2d97499144e023ae87d68d
C&C服務器:
- sarmsoftware[.]com
前文分享:
- [譯] APT分析報告:01.Linux系統下針對性的APT攻擊概述
- [譯] APT分析報告:02.釣魚郵件網址混淆URL逃避檢測
- [譯] APT分析報告:03.OpBlueRaven揭露APT組織Fin7/Carbanak(上)Tirion惡意軟件
- [譯] APT分析報告:04.Kraken - 新型無文件APT攻擊利用Windows錯誤報告服務逃避檢測
- [譯] APT分析報告:05.Turla新型水坑攻擊后門(NetFlash和PyFlash)
- [譯] APT分析報告:06.猖獗的小貓——針對伊朗的APT攻擊活動詳解
- [譯] APT分析報告:07.拉撒路(Lazarus)使用的兩款惡意軟件分析
- [譯] APT分析報告:08.漏洞利用圖譜–通過查找作者的指紋來尋找漏洞
- [譯] APT分析報告:09.伊朗APT34更新武器庫——SideTwist變體
2020年8月18新開的“娜璋AI安全之家”,主要圍繞Python大數據分析、網絡空間安全、逆向分析、APT分析報告、人工智能、Web滲透及攻防技術進行講解,同時分享CCF、SCI、南核北核論文的算法實現。娜璋之家會更加系統,并重構作者的所有文章,從零講解Python和安全,寫了近十年文章,真心想把自己所學所感所做分享出來,還請各位多多指教,真誠邀請您的關注!謝謝。
(By:Eastmount 2021-04-13 星期二 晚上10點寫于武漢 http://blog.csdn.net/eastmount/ )
參考文獻:
- Iran’s APT34 Returns with an Updated Arsenal
- DNSpionage:針對中東的攻擊活動
總結
以上是生活随笔為你收集整理的[译] APT分析报告:09.伊朗APT34更新武器库——SideTwist变体的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [论文阅读] (06) 万字详解什么是生
- 下一篇: [译] APT分析报告:10.Lazar