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