方程式組織EQUATION DRUG平臺解析

2021-02-15 黑白之道

1          本版本更新小語

安天在此前發布的報告版本的基礎上,增加了一個方程式組織主機作業的模塊積木圖。這個積木圖初步展示了一個將主機情報作業按照「原子化」拆分的模塊組合的拼裝,在本版本中安天CERT也細化了對部分模塊的分析,儘管目前的分析只覆蓋這些模塊的一少部分。

在數天前,安天CERT把這份暫時稱為「提綱」的未完成分析結果發布出來,這並非因為我們期望「速戰速決」,而草率地發布一點粗淺的進展,而是我們需要獲得更多的建議和批判。所幸的是,在上一版本發布後,獲得了業內專家中肯而尖銳的批評,讓安天認識到,在面對這組2007~2008年的攻擊模塊集合時,分析小組再次出現了和當年分析「火焰」時一樣的迷茫(儘管安天曾經一度以為自己比那時更清晰)。這些龐雜的模塊展開了一組拼圖碎片,每一張圖上都是有意義的圖案,但如果逐一跟進進去,這些圖案就會組成一個巨大的迷宮。迷宮之所以讓人迷惑,不在於其處處是死路,而在於其看起來處處有出口,但所有的磚塊都不能給進入者以足夠的提示。此時,最大的期待,不只是有一隻筆,可以在走過的地方做出標記,而是插上雙翼凌空飛起,俯瞰迷宮的全貌。當然這是一種提升分析方法論的自我期待,我輩當下雖身無雙翼,但或可練就一點靈犀。

目前安天的積木還原工作還剛剛起步,對於能夠在中國的傳統節日春節前,發布出分析報告的新版本,安天還是有些許欣慰的。網絡安全註定是一個需要永遠保持警惕和勤奮的行業,我們的分析工作會持續進行下去,即使是在焰火升騰,鞭炮響起的時刻,依然需要有緊盯反彙編代碼和威脅態勢的眼睛。

感謝業內專家同仁對安天的關注和支持,感謝安天客戶對安天產品與服務的信任,祝大家新春快樂!

2          背景

對於方程式組織,在過去的兩年中,安天已經連續發布了三篇分析報告:在《修改硬碟固件的木馬——探索方程式(EQUATION)組織的攻擊組件》[1] 中,安天對多個模塊進行了分析,並對其寫入硬碟固件的機理進行了分析驗證;在《方程式(EQUATION)部分組件中的加密技巧分析》[2]報告中,對攻擊組件中使用的加密方式實現了破解;在《從「方程式」到「方程組」——EQUATION攻擊組織高級惡意代碼的全平臺能力解析》[3]報告中,安天獨家提供了方程式在Linux和Solaris系統的樣本分析,這也是業內首次正式證實這些「惡靈」真實存在的公開分析。

APT的分析成果,與研發反APT產品一樣,都要基於充分的基礎積累,而不可能「一夜之間建成羅馬」。對於方程式這樣大至無形的超級攻擊組織來說,安天過去所做的具體的分析工作都是盲人摸象的過程,一旦飄忽的線索落入安天已經摸索過的範圍之內,就可以迅速發布儲備成果,而如果面對的是一個未曾充分探查的區域,則需要更長的時間展開分析工作,因此與安天此前已經發布的三篇方程式的長篇報告相比,本篇報告目前的版本依然是比較倉促的,因此安天會堅持稱之為「提綱」,旨在能拋磚引玉,邀請更多兄弟團隊共同加入分析工作,以便進一步呈現出其全貌。

本篇展現的分析工作是圍繞2017年1月12日「影子經紀人」放出Equation Group 組件中的61個文件[4] 而展開的。經分析,在本次放出的61個文件中,其中含有Equation Group 組件和DanderSpritZ(RAT)工具中的一些插件。DanderSpritZ是NSA(National Security Agency)的間諜工具之一,在1月7號「影子經紀人」放出的Windows攻擊工具[5]中也包含了大量DanderSpritZ的插件名稱。

組件EquationDrug是一個很複雜的模塊,其存活時間有近10年,後來被GrayFish升級替代。從EquationDrug到GrayFish是攻擊平臺級別的惡意代碼體系,具有安裝與卸載插件功能。在本次「影子經紀人」放出的文件中,安天CERT看到了更多的EquationDrug組件中的插件。通過分析比對發現,這些插件比之前安天分析過的插件版本低,但其中包含了一些此前未曾被業內捕獲到的模塊。

3          方程式線索曝光和分析成果時間鏈梳理

從2013年起,安天從樣本分析中,逐步發現存在一個擁有全平臺載荷攻擊能力的攻擊組織,並逐步關聯分析了其多個平臺的樣本。在這個過程中,安天感到一個大至無形的超級攻擊組織的存在,但並未找到其攻擊背景。

2015年2月,卡巴斯基實驗室曝光了一個名為方程式(Equation Group)[6]的攻擊組織,引發了全球關注,卡巴斯基認為該組織已活躍近20年,可能是目前世界上存在的最複雜的APT攻擊組織之一,並認為該組織是震網(Stuxnet)和火焰(Flame)病毒幕後的操縱者。經過線索比對,安天發現這正是此前一直跟蹤的超級攻擊組織,決定通過報告公開其針對硬碟固件作業的原理[1]和已破解的其部分加密算法[2],形成了安天對於方程式系列分析的前兩篇報告。

2015年3月,卡巴斯基實驗室發布了基於Equation Drug組件或平臺的剖析[7],Equation Drug是方程式組織所用的主要間諜組件或平臺之一,最早可追溯到2001年,並且一直沿用至今。該組件或平臺的架構類似於一個具有內核模式和用戶模式的微型作業系統,通過自定義接口進行交互。該組件或平臺包括驅動程序、平臺內核(協調器)和若干插件,其中一些插件配備獨特的ID和版本號,用於定義相關功能等。

2016年8月,一個自稱「影子經紀人」(The Shadow Brokers)的個人(或組織)聲稱入侵了網絡間諜組織方程式(Equation)[8],並以100萬比特幣(當時約價值為5.6億美元)的價格,公開「拍賣」所掌握的方程式組織的攻擊工具,方程式組織被認為與NSA存在聯繫。為證明成功入侵的真實性,「影子經紀人」於當月13日在開源項目託管平臺GitHub加密發布了這些攻擊工具,並有意將其中的少量攻擊工具以明文形式發布。

2016年8月,卡巴斯基實驗室通過對方程式組織與「影子經紀人」曝光的數據進行對比驗證[9],確認了曝光的數據與方程式組織有關。2016年10月,「影子經紀人」對攻擊工具再度發起拍賣[10],並稱在GitHub發布的方程式攻擊工具只佔其掌握的60%。

2016年11月,「影子經紀人」公開了一份遭受入侵的伺服器清單[11],並稱攻擊方與NSA有關。清單的日期顯示,各系統遭受入侵的時間是在2000年到2010年之間,受控IP及域名分布在49個國家,主要集中在亞太地區,受影響的國家包括中國、日本、韓國、西班牙、德國、印度等。 安天將這些數據導入到安天態勢感知和預警平臺,形成了下圖的可視化展現。

在「影子經紀人」的爆料中,提及的相關伺服器可能是Linux、FreeBSD和Solaris。而在2016年上半年的兩次技術會議中,安天則明確說明,方程式有針對多個系統平臺的樣本,其中包括Linux和Solaris。安天最終於2016年11月5日公開了方程式組織針對Linux和Solaris的部分樣本載荷的分析報告(安天方程式系列報告之三)[3]。

圖 3 ‑ 1 安天態勢感知與監控預警平臺:「方程式」組織對全球網際網路節點的入侵可視化復現

安天分析團隊小組對方程式的上述信息進行了梳理,整理出方程式事件曝光和相關分析的時間鏈。

圖 3 ‑ 2 方程式事件相關信息曝光和廠商分析的時間鏈

4          DanderSpritz攻擊平臺

安天通過對本次洩露的文件以及對以往方程式資料的分析發現,方程式組織的「EquationDrug」平臺與洩露文件中提到的「DanderSpritz」具有一定內在聯繫:

1.         本次洩露的msgkd.ex_、msgki.ex_、msgks.ex_、msgku.ex_為GROK插件,是「DanderSpritz」的插件或模塊,該插件在「EquationDrug」平臺中也曾出現,通過分析發現本次洩露的GROK為低版本GROK插件。

2.         本次曝光的各類DLL插件中的一處數據為插件ID,插件ID都是以0x79開頭,如:0x79A4、0x79D8,同樣,「EquationDrug」平臺的插件也設有內置ID,「EquationDrug」平臺的插件ID為0x80開頭,且兩個平臺的插件導出函數參數的數據結構也存在相似之處。

因此,基本可以認為方程式組織使用的「EquationDrug」攻擊平臺與「DanderSpritz」使用了相同的架構設計,兩者可能是不同的版本代號,或至少來自同一開發團隊或資源高度共享的團隊。

圖 4 ‑ 1 方程式組織的DanderSpritz攻擊平臺

圖 4 ‑ 2 「影子經紀人」洩露的「DanderSpritz」攻擊平臺截圖

本次「影子經紀人」所曝光的文件中多數為「DanderSpritz」平臺的攻擊插件,一是文件列表,二是61個部分插件實體文件。從放出的文件列表HASH和截圖來看,攻擊工具和插件非常豐富且標準化,具體包括遠控、漏洞利用、後門、插件等。DanderSpritz_All_Find.txt文件內容多達7千餘行,其中插件有數百個之多。對洩露出來的61個文件進行分析梳理,根據樣本中的一些信息推斷,這61個樣本應該屬於兩類:測試版本與發布版本。測試版本中含有一些明文信息,並沒有進行加密處理,使用了常規的函數調用方式,而在發布版本中這些信息並不存在,函數調用方式也改為動態調用,更加隱蔽。從時間戳上來看,測試版本的生成時間比發布版本要早5秒左右。測試版本是不應用於實際攻擊中的,從側面也再次證實了這些文件是被從開發和保管場景竊取出來的,而不是在攻擊中捕獲到的。

表 4 ‑ 1 洩露實體文件的部分插件功能列表

測試版本

發布版本

功能


DoubleFeatureDll.dll.unfinalized

該模塊用於創建線程執行函數,地址由調用者傳入。同時,內部還有SHA256、AES、CRC32等算法。

DuplicateToken_Lp.dll

DuplicateToken_Implant.dll

該模塊用於獲取Token,並執行操作。


DXGHLP16.SYS

該模塊用於網絡嗅探 監測乙太網和VPN的流量 ,用於Windows 9x系統。

EventLogEdit_Lp.dll

EventLogEdit_Implant.dll

該模塊可對事件日誌文件進行編輯。

GetAdmin_Lp.dll

GetAdmin_Implant.dll

該模塊用於獲取管理員權限,並執行操作。


kill_Implant.dll

該模塊功能是結束進程,傳入參數中有要結束進程的ID,該功能的實現使用了常規的系統函數,如:OpenProcess、TerminateProcess。


kill_Implant9x.dll

該模塊功能與kill_Implant.dll相同,是針對64位系統的版本。

LSADUMP_Lp.dll

LSADUMP_Implant.dll

該模塊可用來讀取LSA憑據,根據傳入參數的不同執行不同的操作。

modifyAudit_Lp.dll

modifyAudit_Implant.dll

該模塊用於修改審核配置。

modifyAuthentication_Lp.dll

modifyAuthentication_Implant.dll

該模塊用於修改權限認證。

ModifyGroup_Lp.dll

ModifyGroup_Implant.dll

該模塊用於修改用戶組權限。

ModifyPrivilege_Lp.dll

ModifyPrivilege_Implant.dll

該模塊用於修改用戶權限。


msgkd.ex_

釋放GROK鍵盤/剪貼板記錄器驅動。


msgki.ex_


msgks.ex_


msgku.ex_


mstcp32.sys

該模塊用於網絡嗅探 監測乙太網和VPN的流量 。

nethide_Lp.dll

nethide_Implant.dll

該模塊用於隱藏網絡連接。


ntevt.sys

該模塊是事件日誌相關驅動。


ntevtx64.sys

該模塊功能與ntevt.sys相同,是針對64位系統的版本。

PortMap_Lp.dll

PortMap_Implant.dll

該模塊進行埠映射。

ProcessHide_Lp.dll

ProcessHide_Implant.dll

該模塊可以進行隱藏進程,恢復隱藏的進程,根據傳入參數的不同執行不同的操作。


processinfo_Implant.dll

該模塊可以用來獲取進程信息。


processinfo_Implant9x.dll

該模塊功能與processinfo_Implant.dll相同,是針對64位系統的版本。

ProcessOptions_Lp.dll

ProcessOptions_Implant.dll

該模塊用於設定進程執行屬性。

pwdump_Lp.dll

pwdump_Implant.dll

該模塊可用來讀取系統中密碼,根據傳入參數的不同執行不同的操作。

RunAsChild_Lp.dll

RunAsChild_Implant.dll

該模塊用於創建子進程,並執行操作。


tdi6.sys

該模塊用於網絡嗅探 監測乙太網和VPN的流量 。

PassFreely_LP.dll

PassFreely_Implant.dll

正在分析中


 

表 4 ‑ 2 僅洩露文件名的部分插件功能猜測

測試版本

發布版本

猜測功能

Users_Lp.dll

Users_Implant.dll

查看當前用戶列表

GroupUsers_Lp.dll

GroupUsers_Implant.dll

修改指定用戶所在組


nc.exe

nc網絡工具

ProcessCheck_Lp.dll

ProcessCheck_Implant.dll

檢測指定進程

machineinfo_LP.dll

machineinfo_Implant.dll

獲取主機相關信息

IpConfig_LP.dll

IpConfig_Implant.dll

IP信息獲取

FileAttribs_LP.dll

FileAttribs_Implant.dll

文件屬性獲取

NetstatMon_LP.dll

NetstatMon_Implant.dll

網絡狀態獲取

Dns_LP.dll

Dns_Implant.dll

DNS設置獲取

language_LP.dll

language_Implant.dll

語言信息獲取

Environment_LP.dll

Environment_Implant.dll

環境變量信息獲取

CheckMouse_LP.dll

CheckMouse_Implant.dll

滑鼠相關檢測

CheckKeyboard_LP.dll

CheckKeyboard_Implant.dll

鍵盤相關檢測

NetBios_LP.dll

NetBios_Implant.dll

網絡共享查看

NetGetDCName_LP.dll

NetGetDCName_Implant.dll

網絡主機名獲取

Scheduler_LP.dll

Scheduler_Implant.dll

計劃任務設置

AdUser_LP.dll

AdUser_Implant.dll

添加帳戶

ArpScan_LP.dll

ArpScan_Implant.dll

ARP掃描

PacketRedirect_LP.dll

PacketRedirect_Implant.dll

數據包重定向

PacketScan_LP.dll

PacketScan_Implant.dll

數據包掃描

RegKeys_LP.dll

RegKeys_Implant.dll

註冊表操作

RegQuery_LP.dll

RegQuery_Implant.dll

註冊表鍵值內容獲取

procMon _LP.dll

procMon_Implant.dll

進程監控

RemoteExecute_LP.dll

RemoteExecute_Implant.dll

遠程執行文件

安天CERT根據分析出的部分實體文件功能和文件列表進行梳理,再加上之前卡巴斯基[7]和安天[1]對方程式插件的分析,整理了這些功能插件在攻擊過程中可能形成的組合,並繪製了「方程式組織主機作業模塊積木圖」。從圖中可以看出攻擊者通過對這些插件進行組合來完成相應的功能,這些插件體現了如下架構風格——不編寫功能高度複雜的單一木馬,而是把功能拆解成高度獨立的小模塊,這種拆解的粒度,幾乎到了「原子化」的程度,即使簡單如獲取系統信息的操作,也把類似獲取環境變量、語言集、網絡狀態等都作為一個獨立的小模塊,這將保證系統作業可以完全按需展開,從而最大化的保證作業的謹慎和靜默。從對主機安全環境的逃逸和對抗來看,這批插件的編譯時間為2007年,從反病毒技術發展上來看,正是主機主動防禦技術走入成熟的階段。主動防禦技術普遍採用行為加權的思路對未知文件進行判定,但這些完成這種「原子」操作的模塊,是不會累加到閾值的。這種單獨功能片段不僅在當時的情況下很難被發現,即使從現代的動靜態檢測角度上來看也很難被發現。每個單獨功能片段不具任何明顯的惡意功能,只有總調度平臺將各功能插件協調使用才會組合出各種作業能力。這種作業方式,也會導致安全廠商很難獲取到完整的模塊,而在沒有有效Loader的情況下,這些模塊很難在沙箱中被加載起來,從而也很難有效地進行行為分析,其比那些探測虛擬環境從而拒絕執行的木馬更難以分析。

從文件名上來看,這些模塊的功能規劃得非常清晰。當然在實際作業中,這些DLL可能會以其他的一些形態表現出來,其中包括可能使用竊取的數字證書進行籤名。在這種情況下,部分驅動文件的Version信息預計也會被定製為對應的數字證書信息,其使用的文件名,可能與其偽裝的系統或應用的風格一致,或者使用類似震網[12]、毒曲[13]和火焰[14]中使用的偽裝成預編譯或者臨時文件的技巧。

 

表 4 ‑ 3 系列 A2PT 行動中樣本使用的數字籤名和場景中的文件命名風格

A2PT事件

使用過的籤名信息

命名規律

Stuxnet

JMicron Technology Corp

仿冒系統文件如:MRxCls.sys,S7HKIMDX.DLL,comspol32.ocx;按照Windows命名規律偽裝成oem、和mdm開頭的pnf預編譯文件;偽裝成臨時文件。

Realtek Semiconductor Corp

Flame

亞洲誠信數字籤名測試證書

仿冒系統文件名,如:MSSECMGR.OCX,icsvntu32.ocx,FRAGWIZ.OCX

Duqu

HON HAI PRECISION INDUSTRY CO. LTD

仿冒系統文件名,如:adpu321.sys,igdkmd16b.sys,iaStor451.sys

C-Media Electronics Incorporation

Equation

尚未發現

仿冒系統文件名,如:mstcp32.sys,DXGHLP16.SYS,tdi6.sys;偽裝成Dat文件。

當然,這些模塊也可能是以採用文件不落地的方式進行投放的,其直接運行在內存中,而沒有相應的文件實體。

圖 4 ‑ 3 方程式組織主機作業模塊積木圖

「DanderSpritz」一詞在「稜鏡」事件中曾被曝光,在ANT中的「FIREWALK」[16]工具中也提及到了DNT的「DanderSpritz」,DNT與ANT同屬於NSA的網絡組織。類似這種攻擊裝備可被用於多種作業場景,通過「FIREWALK」[16]工具的網絡流量採集和注入使得受害主機與攻擊者的遠程控制中心建立聯繫,使得遠控變成了抵近戰術作業,如,通過物流鏈劫持或者在內部節點上插入或替換設備,只要啟動遠控工具,就可以達成就近控制和人工作業相結合的攻擊方式

圖 4 ‑ 4 斯諾登曝光的NSA-ANT網絡武器FIREWALK(安天公益翻譯小組譯)

NSA-ANT網絡武器最早在2013年斯諾登事件中曝光,共包含48個攻擊武器,隨著事件的發酵,不斷有媒體和組織對其進行曝光,安天安全分析工程師根據目前曝光的全部資料和技術分析嘗試初步繪製了相關攻擊裝備的圖譜。

圖 4 ‑ 5 NSA-TAO攻擊裝備體系(完善中)

5          部分組件與插件分析(繼續完善中)

通過一段時間的跟進分析安天CERT發現此次曝光的插件具有模塊化和反檢測特點,安天CERT根據現有分析情況總結了這批攻擊插件的三個特點:

1.         各個插件在DllMain函數中均不直接實現惡意行為。基於沙箱的威脅檢測系統在檢測DLL形態PE文件時,通常會調用Windows API LoadLibrary() 來實現動態加載待檢測對象,執行待檢測對象的DllMain函數功能,觸發待檢測對象動態行為。但對於這些方程式插件,由於DllMain函數並不表現惡意行為(如 圖 5‑1 所示),很容易被沙箱視作非惡意程序。

圖 5 ‑ 1 DllMain函數並沒有惡意功能

2.         各插件的導出函數中均不直接實現惡意功能。這些方程式插件均只提供4個按序號(而不是按名稱)導出的函數。在其函數功能中,第1個導出函數負責接收調用者以特定數據結構傳遞的回調函數指針或參數(如 圖 5‑2 所示);第2個導出函數負責在必要釋放已申請資源;第3個導出函數根據調用參數返回其核心功能函數指針;第4個導出函數負責填寫調用者提供的數據結構、向調用者傳遞插件版本信息。除了第4個導出函數未對參數進行嚴格判斷而可能因訪問空指針產生異常外,各插件的導出函數均不直接實現惡意功能,基於沙箱的威脅檢測系統無法通過調用各導出函數觸發其惡意行為,從而將其視作非惡意程序。

圖 5 ‑ 2 i1函數中的回調函數指針或參數

3.         各個插件均只實現最基本能力。這些方程式插件均只實現最基本的功能,即使分析人員掌握了插件的調用方法,傳遞正確的調用參數,也只能執行最基本的程序功能,並在回調函數得到程序功能的中間結果(如進程名稱、模塊名稱、用戶密碼),如果不是非常有經驗的分析人員,是很難將這些程序功能與正常程序的功能實現區分開。方程式攻擊組織這樣設計插件,除了考慮到框架的可擴展性和功能剪裁的方便性等因素之外,很可能是以此繞過某些反病毒引擎的靜態檢測機制。

5.1         Processinfo插件遍歷進程模塊

由於這批插件的複雜性,安天CERT挑選了其中相對較小的文件以便於分析。通過分析發現,用於實現對指定進程的模塊遍歷,並調用上層模塊預設的回調函數。

5.1.1          樣本標籤

表 5 ‑ 1 樣本標籤

病毒名

Trojan/Win32.EquationDrug

原始文件名

processinfo_Implant9x.dll

MD5

6042EA9707316784FBC77A8B450E0991

處理器架構

X86-32

文件大小

8 KB (8,192 字節)

文件格式

BinExecute/Microsoft.DLL[:X86]

時間戳

45A40EC7->2007-01-10 05:53:11

5.1.2          主要功能

本插件提供四個基於序號導出的函數。

表 5 ‑ 2 主要功能

序號

功能

1

設置上層模塊回調函數,創建互斥體

2

釋放資源

3

返回核心功能函數地址

4

獲取插件版本信息

圖 5 ‑ 3  1號導出函數 設置上層模塊回調函數

  

圖 5 ‑ 4  3號導出函數 返回核心功能函數地址

 

圖 5 ‑ 5  4號導出函數 獲取插件版本信息

圖 5 ‑ 6 遍歷指定進程,默認為當前進程

圖 5 ‑ 7 遍歷指定進程模塊,計算模塊對應文件HASH(SHA1)

5.2         kill_Implant插件殺進程模塊

該模塊是另一個相對較小的文件,安天CERT通過分析發現,該插件主要功能為根據傳入的進程ID來結束對應進程。

5.2.1          樣本標籤

表 5 ‑ 3 樣本標籤

病毒名

Trojan/Win32.EquationDrug

原始文件名

kill_Implant.dll

MD5

BDD2B462E050EF2FA7778526EA4A2A58

處理器架構

X86-32

文件大小

21 KB(21,504 字節)

文件格式

BinExecute/Microsoft.DLL[:X86]

時間戳

45A40616->2007-01-10 05:16:06

5.2.2          主要功能

模塊調用者傳遞進來進程ID,該模塊利用函數OpenProcess獲取句柄,再利用函數TerminateProcess結束對應進程。

圖 5 ‑ 8 結束進程

5.3         GROK鍵盤與剪貼版記錄器驅動

本次洩露的文件除DLL插件外還有一些EXE格式,安天CERT發現其中幾個EXE文件與之前方程式平臺中的GROK組件相同,本次曝光的版本為1.2.0.1,均可以從資源段中解密並釋放鍵盤與剪貼版記錄器驅動msrtdv.sys。

 

5.3.1          樣本標籤

表 5 ‑ 4 樣本標籤

病毒名

Trojan/Win32.EquationDrug

原始文件名

msrtdv.sys

MD5

6A4461AF87371B89D240A34846A7BC64

處理器架構

X86-32

文件大小

36.3 KB (37,248 字節)

文件格式

BinExecute/Microsoft.SYS[:X86]

時間戳

0x4B7F1480—>2010-02-20 06:45:20

該惡意代碼樣本是鍵盤記錄器及剪貼版監視工具,在之前友商報告中曾經提到過有相似功能的惡意代碼,下面對其相似之處進行對比。

5.3.2          版本信息

樣本包含版本信息,文件版本為5.1.1364.6430,源文件名為msrtdv.sys,文件描述為MSRTdv interface driver。其中文件版本低於之前已經曝光的版本5.3.1365.2180,源文件名與文件描述的不同在於將兩個字母「d」和「v」的位置互換,一個是「mstrdv.sys」,另一個是「msrtvd.sys」。

圖 5 ‑ 9 本次洩露版本與之前曝光版本的版本信息

5.3.3          主要功能

兩個不同版本的樣本其主要功能相同,通過給轉儲程序建立專用的進程來匯集所收集的數據,每隔30分鐘,將結果壓縮到文件"%TEMP%\tm154o.da"。之前曝光的版本中,包含多個IoControlCode,分別對應不同的功能。

圖 5 ‑ 10 之前曝光版本的主要功能代碼

而本次洩露的樣本中,IoControlCode雖然只有0x22002C,但一些主要功能仍然存在,可以通過反編譯後的代碼看出它們的相同之處。

圖 5 ‑ 11 之前曝光版本的主要功能代碼

 

圖 5 ‑ 12 本次洩露版本的主要功能代碼

從以上分析比較中可以發現,本次洩露的惡意代碼樣本應為較低版本,版本信息低於之前卡巴斯基與安天分析曝光的版本,功能也弱於相關版本。在影子經紀人洩露出的文件DanderSpritz_All_Find.txt中,GROK的版本號也清楚的說明了這個問題,影子經紀人所釋放出的只是GROK組件的低版本部分文件。但這批文件信息的豐富程度,則是將「千年暗室」打開了一個難得的縫隙。

圖 5 ‑ 13 GROK組件的不同版本號

6          小結

此次「影子經紀人」釋放的Equation Group中的61個文件,對於全球網絡安全研究者分析釐清EQUATION相關攻擊平臺的組成和架構有很大幫助。特別是能夠觀察其惡意代碼的Debug版本,這在常規超級攻擊組織的對抗中是很難想像的,這是一次難得從「內部」觀察發動方程式組織的機會。經過初步打通和分析相關曝光信息,安天CERT看到、分析和梳理了該攻擊平臺的更多信息,包括如數百個攻擊插件以及「DanderSpritz」攻擊平臺。

安天CERT分析相關文件後,判斷其中部分組件與之前曝光的GROK組件為同類樣本,而這些組件均為早期的低版本。另外,安天CERT的分析結果也表明「DanderSpritz」與Equation Drug使用了相同的組件和架構設計,「DanderSpritz」可能就是方程式組織使用的Equation Drug攻擊平臺,而其模塊「原子化」的設計思路,讓更多人可以看到該方程式組織支撐體系的龐大精密,作業過程的嚴密謹慎,以及其在武器研發使用中,繞過安全防禦手段異常豐富的經驗。

五年前,在安天展開針對Flame(火焰)蠕蟲的馬拉松分析中,有專家曾提醒我們不要「只見樹葉,不見森林」,這讓安天的安全工程師們深刻地反思了傳統分析工程師「視野從入口點開始」的局限性,從那時開始嘗試建立從微觀見宏觀的分析視野。安天CERT的安全工程師們通過本次分析,發現自己依然在迷宮中掙扎——或許這就是面對超級攻擊者時,安全分析團隊面臨的分析常態。

過去的四年,針對方程式組織的持續跟蹤分析,是安天了解最高級別攻擊者(即A2PT——高級的APT)的極為難得的經歷。深入研究這種具有超級成本支撐和先進理念引領的超級攻擊者,對於改善和增強安天探海、智甲、追影等高級威脅檢測和防禦產品的防禦能力也非常關鍵。安天也在深入思考和探索麵對行業和地域的大規模態勢感知系統,即達成「以資產防護為核心」的有效能力,尤其是面對海量事件鎖定關鍵威脅和高級攻擊者的能力。但對於應對A2PT攻擊者來說,無論是有效改善防禦,還是進行更為全面深入系統的分析,都不是一家安全企業能夠獨立承載的,此中還需要更多協同和接力式分析,而不是重複「發明輪子」。正是基於這種共同認知,在不久之前的第四屆安天網絡安全冬訓營上,安天和360企業安全等安全企業向部分與會專家介紹了能力型安全廠商分析成果互認的部分嘗試。唯有中國的機構用戶和能力型安全廠商形成一個積極互動的體系,才能更好的防禦來自各方面的威脅。

我們警惕,但並不恐懼。對於一場防禦戰而言,除了紮實的架構、防禦和分析工作之外,必勝的信念是一個最大的前提。

無形者未必無影,安天追影,畫影圖形。


 

附錄一:參考資料

[1]      安天《修改硬碟固件的木馬 探索方程式(EQUATION)組織的攻擊組件》

http://www.antiy.com/response/EQUATION_ANTIY_REPORT.html

[2]      安天《方程式(EQUATION)部分組件中的加密技巧分析》

http://www.antiy.com/response/Equation_part_of_the_component_analysis_of_cryptographic_techniques.html

[3]      安天《從「方程式」到「方程組」EQUATION攻擊組織高級惡意代碼的全平臺能力解析》

http://www.antiy.com/response/EQUATIONS/EQUATIONS.html

[4]      The Shadow Brokers closed, going dark

https://onlyzero.net/theshadowbrokers.bit/post/messagefinale/

[5]      Stolen NSA "Windows Hacking Tools" Now Up For Sale!

http://thehackernews.com/2017/01/nsa-windows-hacking-tools.html

[6]      Kaspersky:Equation: The Death Star of Malware Galaxy

http://securelist.com/blog/research/68750/equation-the-death-star-of-malware-galaxy/

[7]      Kaspersky:Inside the EquationDrug Espionage Platform

https://securelist.com/blog/research/69203/inside-the-equationdrug-espionage-platform/

[8]      Equation Group Cyber Weapons Auction - Invitation

https://github.com/theshadowbrokers/EQGRP-AUCTION

[9]      The Equation giveaway

https://securelist.com/blog/incidents/75812/the-equation-giveaway/

[10]   I just published 「TheShadowBrokers Message #3」

https://medium.com/@shadowbrokerss/theshadowbrokers-message-3-af1b181b481

[11]   Shadow Brokers reveals list of Servers Hacked by the NSA

http://thehackernews.com/2016/10/nsa-shadow-brokers-hacking.html

[12]   安天《對Stuxnet蠕蟲攻擊工業控制系統事件的綜合分析報告》

http://www.antiy.com/response/stuxnet/Report_on_the_Worm_Stuxnet_Attack.html

[13]   《管中窺豹——Stuxnet、Duqu和Flame的分析碎片與反思》

http://www.antiy.com/resources/Analysis_and_Introspection_of_Stuxnet_Duqu_and_Flame.pdf

[14]   Flame蠕蟲樣本集分析報告

http://www.antiy.com/response/flame/Analysis_on_the_Flame.html

[15]   ANTProductData2013

https://search.edwardsnowden.com/docs/ANTProductData2013-12-30nsadocs

[16]   Kaspersky:A Fanny Equation: "I am your father, Stuxnet"

http://securelist.com/blog/research/68787/a-fanny-equation-i-am-your-father-stuxnet/

[17]   Kaspersky:Equation Group: from Houston with love

http://securelist.com/blog/research/68877/equation-group-from-houston-with-love/

[18]   Kaspersky:Equation_group_questions_and_answers

https://securelist.com/files/2015/02/Equation_group_questions_and_answers.pdf

[19]   Kaspersky:The Equation giveaway

https://securelist.com/blog/incidents/75812/the-equation-giveaway/

長按公眾號,可「置頂

----

要聞、乾貨、原創、專業
關注「黑白之道」 微信:i77169
華夏黑客同盟我們堅持,自由,免費,共享!

相關焦點

  • equation怎麼記
    equation怎麼記equequation,使相等、左右兩邊同等對待,等式、化學方程式、多種因素的平衡體,綜合體、同等、等同。想想看,其實數學公式和化學方程式都是一個等號連接了可以被同等看待的對象。而多種因素共同作用產生的綜合體也是在內部達到了平衡,平衡也是因為相互制約,同等看待,所以都是equation啦~ 學單詞,只記住意思可不行,會用才行,小夥伴們可以在評論區造句,我們一起學習哦!
  • AP calculus AB/BC 考點複習精講:Differential equation
    大家好又見面了,今天馬斯老師帶大家複習下微積分AB/BC中第7單元內容:Differential equation 中的考點
  • 情緒暴力化研究:簡介解析情緒方程式理論
    如何控制情緒,美國企業家兼心理學家奇普*康利提出了一種新的情緒控制理論,即情緒方程式理論。他認為,人們的某種情緒總能與另外一些情緒情感、現實生活、人的某種行為存在一定的函數關係,建立相應的數學方程式,這種數學方程式稱之為情緒方程式,控制情緒就是解析這種情緒方程式。
  • 情緒暴力化研究:怎樣解析情緒暴力化過程方程式
    如果我們能解析這個方程,也就能控制情緒暴力化。一、不滿感受方程式的解析。當人對客觀事物(即對包括自身狀況和其主觀狀況)的體驗與反應不佳達到一定程度時,即產生不滿感受。不滿感受是人的情緒的前奏,是一種情緒的傾向,也是情緒暴力化的起點。它主要有二種產生途徑:一是由利益與需求途徑產生的;一種是由人生偏差產生的。
  • F1應該翻譯成「一級方程式」嗎?
    比如,有人建議將「一級方程式汽車賽」簡稱為「一方賽」。但這個體育比賽項目的名稱,漢譯本身就錯了,如果在此基礎上簡稱「一方賽」,同樣是錯的。「一級方程式」這個譯名,可能是從香港傳來的。報紙、網絡上有專門解釋這個名稱的文章,說是:「由於參賽車輛都採用同樣容量的汽缸,所以叫一級方程式」。可是,這還是沒說清楚「汽缸容量」和「方程式」——而且還是「一級」的——有何聯繫。有人說:這很簡單,「一級方程式」 英文是「Formula One」,Formula的意思是方程式,所以直譯為「一級方程式」。
  • CHINA DRUG REGISTRATION REGULATION
    , drug already with national standards, or import drug.its new drug processing technology to a drug manufacturing enterprise that will apply for the drug production.
  • 情緒暴力化研究:怎樣解析情緒暴力化階段方程式
    大家好,我們又見面了,今天跟大家聊聊以下話題:怎樣解析情緒暴力化階段方程式
  • 一日一技:用Python程序求解二次方程式
    用Python程序求解二次方程式 現在,我們直接來解決方程式 二次方程的標準形式為: ax2 + bx + c = 0,其中a,b和c是實數,a≠0 好了,我們現在用代碼來實現求解,如下所示:
  • 【講座】Structural Equation Modeling——ShenyangGuo,PhD
    Covariance algebra,correlation,and regressionPathanalysis(PartⅠ)Path analysis(Part Ⅱ)Confirmatoryfactor analysis(Part)Confirmatoryfactor analysis(Part Ⅱ)Generalstructural equation
  • 影響人類文明的11個數學方程式
    數學方程式數學方程式不僅能夠幫助人們解決知識上的問題,同時,從某種角度來看,它們本身也是非常美麗的。
  • 超級難寫的化學方程式匯總
    (1)寫出水解的化學方程式。(2)有人將BiOCl叫做次氯酸鉍,你認為這有什麼不妥之處? [解析] 水解的前提是H2O一解為二。 寫出過二硫酸銨在酸性溶液中氧化Mn2+的離子方程式。 [解析] 過氧基的兩個O的氧化數為-1而不是-2(類似H2O2)。但配平時仍可將S當「+7價」計。S降1,升Mn5。
  • 《化學方程式簡單計算》失誤解析、解題絕招,狙擊中考化學
    化學方程式的計算是中考必考的重要知識,縱觀近幾年的中 考試題,壓軸大題往往以生產、生活及社會發展為背景,創設真實的問題 情景,將有關的化學方程式的計算與混合物、實驗探究、圖表數據結合在 一起,綜合考查學生的閱讀理解能力,觀察想像能力,分析推理能力及科 學規範的表達能力。
  • 難寫的化學方程式歸納總結
    (1)寫出水解的化學方程式。(2)有人將BiOCl叫做次氯酸鉍,你認為這有什麼不妥之處?[解析] 水解的前提是H2O一解為二。請寫出此燃燒反應的化學方程式。[解析] 「有限量」的空氣即氧氣不足,是為了得到硫磺(加焦炭也是為了防止硫燃燒)。既然氧氣不足,Fe和C的主要燃燒產物不應該是它們的最高價。
  • Drug ring sentenced in Guangzhou
    進入英語學習論壇下載音頻 去聽寫專區一展身手Two drug traffickers, including a Chinese French citizen, were sentenced to death on Saturday for manufacturing, transporting and
  • 減肥藥 slimming drug
    請看《中國日報》的報導:Fifteen weight-loss products containing the drug sibutramine have been recalled across the country over concern that the  diet pills could lead to
  • 高中化學方程式記到頭禿?方程式規律整理,比死記硬背容易多了!
    親愛的同學們~學姐又雙叒叕來給大家帶乾貨啦~高中化學其實並不難,大家學不會化學的原因就是方程式特別多,記憶起來非常容易混淆,更別說遇到難一點的方程式,所以今天學姐把這份高中階段終極版方程式送給大家!整理不易,望珍惜!
  • 質量守恆定律和化學方程式
    2.A[解析]氫氣具有可燃性,在氧氣中燃燒生成水。3.A[解析]化學方程式2KNO3+3C+SK2S+X↑+3CO2↑中,根據質量守恆定律可知,反應前後原子的種類和個數不變,K、N、S、O、C原子的個數在反應前為2、2、1、6、3,根據反應前後原子的數目不變,可推出X的化學式為N2。
  • 《熱化學方程式的書寫》教案
    本文以化學學科《熱化學方程式的書寫》為例,為您呈現10-20分鐘的課堂教案,精簡的速寫教案將成為您備考的參考依據。一、教學目標【知識與技能】認識熱化學方程式的意義並能正確書寫熱化學方程式。【過程與方法】通過對熱化學方程式與化學方程式的對比觀察,學會分析問題的一般方法。
  • Inherited vulnerability to drug addiction discovered
    Scientists have discovered structural abnormalities in the brains of drug addicts and their non-addicted
  • 二輪備考特訓----離子方程式
    【答案】B【解析】A.CaCO3與稀硝酸反應生成硝酸鈣和水和二氧化碳,碳酸鈣是固體難溶物,寫離子方程式時不能拆成離子形式,正確的離子方程式為:【答案】A【解析】A.NaOH為強鹼,可以拆成離子形式,氯氣單質不能拆,產物中NaCl和NaClO為可溶性鹽,可拆成離子形式,水為弱電解質,不能拆,故A正確;B.該離子方程式反應前後電荷不守恆,正確的離子方程式為:2Al+2OH-+2H2O =2AlO2-+3H2↑,故B錯誤;C.室溫下,銅與稀硝酸反應生成NO ,正確的離子方程式為:3Cu+2NO3-+8H