[译] APT分析报告:11.深入了解Zebrocy的Dropper文档(APT28)
這是作者新開(kāi)的一個(gè)專欄,主要翻譯國(guó)外知名安全廠商的APT報(bào)告,了解它們的安全技術(shù),學(xué)習(xí)它們溯源APT組織和惡意代碼分析的方法,希望對(duì)您有所幫助。當(dāng)然,由于作者英語(yǔ)有限,會(huì)借助機(jī)翻進(jìn)行校驗(yàn),還請(qǐng)包涵!
前文分享了Lazarus攻擊工業(yè)事件,主要采用ThreatNeedle高級(jí)惡意軟件集群。這篇文章將詳細(xì)講解俄羅斯的APT組織Sofacy(APT28)中Zebrocy的Dropper文檔。簡(jiǎn)短的文章讀起來(lái)很輕松,希望對(duì)您有所幫助。
- 原文標(biāo)題:《A Deep Dive into Zebrocy’s Dropper Docs》
- 原文鏈接:https://labs.sentinelone.com/a-deep-dive-into-zebrocys-dropper-docs/
- 文章作者:MARCO FIGUEROA
- 發(fā)布時(shí)間:2021年4月19日
- 文章來(lái)源:labs.sentinelone.com
- Contributor:Amitai Ben Shushan Ehrlich
文章目錄
- 一.APT28介紹
- 二.繞過(guò)VBA宏密碼保護(hù)
- 三.Wininition用戶表單
- 四.用Ghidra和dhrake逆向Delphi二進(jìn)制文件
- 五.結(jié)論
- IOC指標(biāo)
一.APT28介紹
Sofacy 是一個(gè)從2008年就一直處于活躍狀態(tài)的APT組織,并在2016年美國(guó)總統(tǒng)選舉黑客事件中嶄露頭角。該組織更廣為人知的名字是 FancyBear 或 APT28,其攻擊目標(biāo)包括政府、J隊(duì)、安全機(jī)構(gòu)和私人組織等,并以參與黑客攻擊和泄M行動(dòng)而聞名。在過(guò)去的幾年里,Sofacy進(jìn)行了徹底的重組,在很大程度上避開(kāi)了分析師的關(guān)注。其中一個(gè)比較典型的變體稱為 Zebrocy,其目標(biāo)主要集中在前蘇聯(lián)和亞洲周邊國(guó)家。
2018年,網(wǎng)絡(luò)安全公司Palo AltoNetworks的研究人員就發(fā)現(xiàn),與俄羅斯政府關(guān)系密切的SofacyAPT(又名APT28、Fancy Bear或Sednit)威脅組織使用Go編程語(yǔ)言編寫了他們常用的Zebrocy工具的新版本。Zebrocy主要通過(guò)網(wǎng)絡(luò)釣魚(yú)攻擊來(lái)實(shí)現(xiàn),其中包含有宏和可執(zhí)行文件附件的誘餌Microsoft Office文檔。
該惡意軟件的幕后操縱者于2015年首次被發(fā)現(xiàn)與GreyEnergy具有高度關(guān)聯(lián)性。GreyEnergy是一個(gè)威脅組織,被認(rèn)為是BlackEnergy (又名Sandworm)的繼任者,這表明它是一個(gè)與Sofacy和GreyEnergy關(guān)聯(lián)的子組織。它實(shí)際上充當(dāng)了一個(gè)后門和下載器,能夠收集系統(tǒng)信息、操作文件、捕獲屏幕截圖并執(zhí)行惡意命令,然后將這些惡意命令傳輸?shù)焦粽呖刂频姆?wù)器。
在2020年,Sofacy利用COVID-19作為誘餌發(fā)送Zebrocy惡意軟件發(fā)起在野攻擊。雖然Zebrocy最初是用Delphi(稱為Delphocy)編寫的,但此后已被用六種語(yǔ)言實(shí)現(xiàn),包括AutoIT,C ++,C#,Go,Python和VB.NET。這篇文章將分享其Dropper的一個(gè)攻擊案例。
在2021年3月,我們觀察到了一系列針對(duì)哈薩克斯坦的攻擊活動(dòng),它們使用Delphi編寫的惡意軟件 Delphocy 發(fā)起攻擊,該惡意軟件與以前的 Zebrocy 有關(guān)。被發(fā)現(xiàn)的Word文檔據(jù)稱來(lái)自哈薩克斯坦一家名為Kazchrome的公司,該公司是一家采礦和金屬公司,并且是全球最大的鉻礦和鐵合金生產(chǎn)商之一。
總體來(lái)說(shuō),我們發(fā)現(xiàn)了6個(gè)與這個(gè)集群相關(guān)的Delphocy Word文檔,它們都包含相同的刪除PE文件的VBA腳本。在這六份Word文件中,有兩份似乎是來(lái)自哈薩克斯坦的受害者上傳到VirusTotal的真實(shí)文件。上傳的文件包含了原始文件名:
- Авансовыйотчет(новый).doc
- Формадокладной(служебной)записки.doc
在這篇文章中,我們將深入研究這些樣本,并分享一些其他分析師用來(lái)逆向Delphocy dropper文檔的技術(shù)。我們展示了研究人員如何繞過(guò)密碼保護(hù)宏,并描述了如何使用IDR(交互式Delphi重構(gòu)器)反編譯Delphi,以及如何使用dhrake的插件將保存的IDC文件導(dǎo)入Ghidra。
我們的分析結(jié)果引導(dǎo)發(fā)現(xiàn)了更多的Zebrocy簇,提供了一組IOC和YARA檢測(cè)規(guī)則,使威脅搜索程序能夠在其環(huán)境中搜索和這些相關(guān)的工件。
二.繞過(guò)VBA宏密碼保護(hù)
在使用VBA宏分析Office文檔時(shí),攻擊者有許多不同的工具和技術(shù)來(lái)完成這項(xiàng)工作,但我已經(jīng)養(yǎng)成了一個(gè)習(xí)慣。當(dāng)我第一次開(kāi)始逆向惡意軟件時(shí),在手動(dòng)繞過(guò)受密碼保護(hù)的宏中,我就使用了這個(gè)習(xí)慣。
步驟如下:
- 1.打開(kāi)您最喜歡的十六進(jìn)制編輯器,本文使用HxD
- 2.加載Word文檔
- 3.搜索以下文本
– CMG=
– GC=
– DPB= - 4.向每個(gè)添加一個(gè)x
– CMGx=
– GCx=
– DPBx= - 5.保存更改的文件
當(dāng)打開(kāi)Word文檔并查看宏時(shí),您可以看到腳本和表單。在分析函數(shù)時(shí),最突出的地方是:
- ert.DataType=“bin.base64”
這表明UserForm1采用base64編碼。
三.Wininition用戶表單
當(dāng)選擇UserForm1時(shí),文本框?qū)@示一個(gè) base64 編碼的字符串,這正是我們上面討論過(guò)的函數(shù)。下一步是將整個(gè)字符串復(fù)制到一個(gè)文件中,以便對(duì)其進(jìn)行解碼。
現(xiàn)在我們通過(guò)base64解碼二進(jìn)制文件并將其保存為wininition.exe。
接下來(lái),使用HxD清理頭部(headers),然后使用PE-Bear修改塊頭部(fix the sections headers),以進(jìn)入下一階段的分析。
當(dāng)對(duì)一個(gè)二進(jìn)制文件進(jìn)行分類時(shí),首要工具是Hiew,它可以調(diào)查并尋找線索以便進(jìn)行更深層次的理解。通過(guò) winintion,我注意到Embarcadero字符串,這意味著這個(gè)二進(jìn)制文件是用Delphi編寫的。在逆向Delphi二進(jìn)制文件時(shí),我總是使用IDR(交互式Delphi重構(gòu)器)。其中,IDR是一個(gè)用Delphi編寫的可執(zhí)行文件和動(dòng)態(tài)庫(kù)(DLL)的反編譯器。
四.用Ghidra和dhrake逆向Delphi二進(jìn)制文件
在搜索IDR的最新進(jìn)展時(shí),我們遇到了一個(gè)很棒的 Ghidra 插件。它是一個(gè)用在Ghidra中的腳本集合,使用IDR輸出到IDC的Delphi二進(jìn)制文件進(jìn)行逆向工程。雖然這是一年前發(fā)表的,但如果攻擊者使用Ghidra,它就是一個(gè)寶藏。
dhrake允許您將IDC文件從IDR導(dǎo)入Ghidra。這將導(dǎo)入符號(hào)名、函數(shù)簽名并為Delphi類創(chuàng)建結(jié)構(gòu)。該插件從IDR生成的IDC文件中提取并應(yīng)用Delphi符號(hào),并且試圖查找Ghidra錯(cuò)誤確定函數(shù)入口點(diǎn)的情況。如果您從未將插件導(dǎo)入Ghidra,請(qǐng)閱讀另一篇文章。
- https://labs.sentinelone.com/a-guide-to-ghidra-scripting-development-for-malware-researchers/
這那篇文章中,我已經(jīng)把IDC保存到一個(gè)選定的文件夾,然后將插件安裝在Ghidra中,并運(yùn)行提示輸入IDC文件的腳本將其加載!
在wininit二進(jìn)制文件中,WinMain的第一個(gè)函數(shù)是 SetWindowsHookExW,這是一個(gè)鉤子程序(hook procedures),用來(lái)監(jiān)視系統(tǒng)中某些類型的事件。鉤子進(jìn)程的低級(jí)鍵盤輸入事件是 WH_KEYBOARD_LL,其參數(shù)中的數(shù)字是13。該鉤子是一種攔截按鍵事件的機(jī)制,然后將所有事件保存到一個(gè)日志文件中,并將其發(fā)送到C2。
C2使用十六進(jìn)制進(jìn)行模糊處理,十六進(jìn)制可以轉(zhuǎn)換為ascii。
- 68747470733A2F2F7777772E786268702E636F6D2F646F6D696E61726772656174617369616E6F6479737365792F77702D636F6E74656E742F706C7567696E732F616B69736D65742F7374796C652E706870
- hxxps://www.xbhp[.]com/dominargreatasianodyssey/wp-content/plugins/akismet/style.php
- 68747470733A2F2F7777772E63346373612E6F72672F696E636C756465732F736F75726365732F66656C696D732E706870
- hxxps://www.c4csa[.]org/includes/sources/felims.php
注意:這些域名似乎是被盜用的域名。
五.結(jié)論
通過(guò)對(duì)這些文件的分析,我們找到了其他的Zebrocy集群。隨著Zebrocy的范圍不斷發(fā)展,組織必須具有適當(dāng)?shù)目梢?jiàn)性和檢測(cè)能力來(lái)發(fā)現(xiàn)這個(gè)威脅行動(dòng)者。我們希望在這篇文章中討論的技術(shù)將有助于其他研究人員分析Delphocy droppper文檔,特別是文檔中有密碼保護(hù)的宏。
此外,為了阻止此類攻擊,CISA建議在使用可移動(dòng)媒體打開(kāi)來(lái)自未知發(fā)件人的電子郵件和附件,以及掃描可疑的電子郵件附件時(shí),請(qǐng)確保謹(jǐn)慎行事,并確保掃描附件的擴(kuò)展名與文件頭匹配。
前文分享:
- [譯] APT分析報(bào)告:01.Linux系統(tǒng)下針對(duì)性的APT攻擊概述
- [譯] APT分析報(bào)告:02.釣魚(yú)郵件網(wǎng)址混淆URL逃避檢測(cè)
- [譯] APT分析報(bào)告:03.OpBlueRaven揭露APT組織Fin7/Carbanak(上)Tirion惡意軟件
- [譯] APT分析報(bào)告:04.Kraken - 新型無(wú)文件APT攻擊利用Windows錯(cuò)誤報(bào)告服務(wù)逃避檢測(cè)
- [譯] APT分析報(bào)告:05.Turla新型水坑攻擊后門(NetFlash和PyFlash)
- [譯] APT分析報(bào)告:06.猖獗的小貓——針對(duì)伊朗的APT攻擊活動(dòng)詳解
- [譯] APT分析報(bào)告:07.拉撒路(Lazarus)使用的兩款惡意軟件分析
- [譯] APT分析報(bào)告:08.漏洞利用圖譜–通過(guò)查找作者的指紋來(lái)尋找漏洞
- [譯] APT分析報(bào)告:09.伊朗APT34更新武器庫(kù)——SideTwist變體
- [譯] APT分析報(bào)告:10.Lazarus以ThreatNeedle家族攻擊工業(yè)事件還原(BMP圖片隱藏RAT)
- [譯] APT分析報(bào)告:11.深入了解Zebrocy的Dropper文檔(APT28)
2020年8月18新開(kāi)的“娜璋AI安全之家”,主要圍繞Python大數(shù)據(jù)分析、網(wǎng)絡(luò)空間安全、逆向分析、APT分析報(bào)告、人工智能、Web滲透及攻防技術(shù)進(jìn)行講解,同時(shí)分享CCF、SCI、南核北核論文的算法實(shí)現(xiàn)。娜璋之家會(huì)更加系統(tǒng),并重構(gòu)作者的所有文章,從零講解Python和安全,寫了近十年文章,真心想把自己所學(xué)所感所做分享出來(lái),還請(qǐng)各位多多指教,真誠(chéng)邀請(qǐng)您的關(guān)注!謝謝。
(By:Eastmount 2021-05-07 星期五 晚上7點(diǎn)寫于武漢 http://blog.csdn.net/eastmount/ )
IOC指標(biāo)
Word文件
SHA256 3b548a851fb889d3cc84243eb8ce9cbf8a857c7d725a24408934c0d8342d5811 1dd03c4ea4d630a59f73e053d705185e27e2e2545dd9caedb26a824ac5d11466 1e8261104cbe4e09c19af7910f83e9545fd435483f24f60ec70c3186b98603cc c213b60a63da80f960e7a7344f478eb1b72cee89fd0145361a088478c51b2c0e 2bf088955007b4f47fe9187affe65fffea234ff16596313a74958a7c85129172 d9e7325f266eda94bfa8b8938de7b7957734041a055b49b94af0627bd119c51cSHA1 fc0b7ad2ae9347d6d2ababe2947ffb9f7cc73030 71b4b9f105de94090fc36d9226faaa1db6d9f3d1 6a8f63c4491adcf2cf7f76cd1481c5647615a6c9 a3ecf1fdc1206e9d3061530fa91775cf3d97f788 ae01ca2cf0dc07abb3a7bef9930e38c9212975d5 66b39f4fd1dd51c2f548330e5818f732dad0aa28VBA
SHA256 a442135c04dd2c9cbf26b2a85264d31a5ac4ec5d2069a7b63bc14b64a6dd82b7SHA1 6ec4eb883752b70db134ac0f4e0d5b4a77196184Wininition
SHA256 ee7cfc55a49b2e9825a393a94b0baad18ef5bfced67531382e572ef8a9ecda4bSHA1 afbdb13d8f620d0a5599cbc7a7d9ce8001ee32f1網(wǎng)址
hxxps://www.xbhp[.]com/dominargreatasianodyssey/wp-content/plugins/akismet/style.php hxxps://www.c4csa[.]org/includes/sources/felims.phpYara Rules
rule apt_RU_delphocy_encStrings {meta:desc = "Hex strings in Delphocy drops"author = "JAG-S @ SentinelLabs"version = "1.0"TLP = "White"last_modified = "04.09.2021"hash0 = "ee7cfc55a49b2e9825a393a94b0baad18ef5bfced67531382e572ef8a9ecda4b"hash1 = "07b2d21f4ef077ccf16935e44864b96fa039f2e88c73b518930b6048f6baad74"strings:$enc_keylogger2 = "5B4241434B53504143455D" ascii wide$enc_keylogger3 = "5B5441425D" ascii wide$enc_keylogger4 = "5B53484946545D" ascii wide$enc_keylogger5 = "5B434F4E54524F4C5D" ascii wide$enc_keylogger6 = "5B4553434150455D" ascii wide$enc_keylogger7 = "5B454E445D" ascii wide$enc_keylogger8 = "5B484F4D455D" ascii wide$enc_keylogger9 = "5B4C4546545D" ascii wide$enc_keylogger10 = "5B55505D" ascii wide$enc_keylogger11 = "5B52494748545D" ascii wide$enc_keylogger12 = "5B444F574E5D" ascii wide$enc_keylogger13 = "5B434150534C4F434B5D" ascii wide$cnc1 = "68747470733A2F2F7777772E786268702E636F6D2F646F6D696E61726772656174617369616E6F6479737365792F77702D636F6E74656E742F706C7567696E732F616B69736D65742F7374796C652E706870" ascii wide$cnc2 = "68747470733A2F2F7777772E63346373612E6F72672F696E636C756465732F736F75726365732F66656C696D732E706870" ascii widecondition:uint16(0) == 0x5a4d and (any of ($cnc*) or all of ($enc_keylogger*)) }rule apt_RU_Delphocy_Maldocs {meta:desc = "Delphocy dropper docs"author = "JAG-S @ SentinelLabs"version = "1.0"TLP = "White"last_modified = "04.09.2021"hash1 = "3b548a851fb889d3cc84243eb8ce9cbf8a857c7d725a24408934c0d8342d5811"hash2 = "c213b60a63da80f960e7a7344f478eb1b72cee89fd0145361a088478c51b2c0e"hash3 = "d9e7325f266eda94bfa8b8938de7b7957734041a055b49b94af0627bd119c51c"hash4 = "1e8261104cbe4e09c19af7910f83e9545fd435483f24f60ec70c3186b98603cc"strings:$required1 = "_VBA_PROJECT" ascii wide$required2 = "Normal.dotm" ascii wide$required3 = "bin.base64" ascii wide$required4 = "ADODB.Stream$" ascii wide$author1 = "Dinara Tanmurzina" ascii wide$author2 = "Hewlett-Packard Company" ascii wide$specific = "Caption = \"\\wininition.exe\"" ascii wide$builder1 = "Begin {C62A69F0-16DC-11CE-9E98-00AA00574A4F} UserForm1" ascii wide$builder2 = "{02330CFE-305D-431C-93AC-29735EB37575}{33D6B9D9-9757-485A-89F4-4F27E5959B10}" ascii wide$builder3 = "VersionCompatible32=\"393222000\"" ascii wide$builder4 = "CMG=\"1517B95BC9F7CDF7CDF3D1F3D1\"" ascii wide$builder5 = "DPB=\"ADAF01C301461E461EB9E2471E616F01D06093C59A7C4D30F64A51BDEDDA98EC1590C9B191FF\"" ascii wide$builder6 = "GC=\"4547E96B19021A021A02\"" ascii widecondition:uint32(0) == 0xE011CFD0 and all of ($required*) and (all of ($author*) or $specific or 5 of ($builder*)) }參考文獻(xiàn):
- [1] http://blog.nsfocus.net/windows-apt-zebrocy/
- [2] https://www.sohu.com/a/283726515_804262
- [3] https://www.welivesecurity.com/2019/09/24/no-summer-vacations-zebrocy/
- [4] https://www.4hou.com/posts/x7jq
總結(jié)
以上是生活随笔為你收集整理的[译] APT分析报告:11.深入了解Zebrocy的Dropper文档(APT28)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: [译] APT分析报告:10.Lazar
- 下一篇: [网络安全提高篇] 一〇九.津门杯CTF