您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關CVE-2018-5002 Flash 0day漏洞APT攻擊實例分析,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
360企業安全威脅情報中心近期捕獲到了一例使用Flash 0day漏洞配合微軟Office文檔發起的APT攻擊案例,攻擊使用的樣本首次使用了無Flash文件內置技術(Office文檔內不包含Flash實體文件)。我們在確認漏洞以后第一時間通知了廠商Adobe,成為國內第一個向廠商報告此攻擊及相關漏洞的組織,Adobe在昨日發布的安全通告中致謝了360威脅情報中心。
Adobe反饋確認漏洞存在并公開致謝
整個漏洞攻擊過程高度工程化:攻擊者將Loader(第一階段用于下載Exploit的Flash文件)、Exploit(第二階段漏洞利用代碼)、Payload(第三階段ShellCode)分別部署在服務器上,只有每一階段的攻擊/檢測成功才會繼續下載執行下一階段的代碼,這樣導致還原整個攻擊流程和漏洞利用代碼變得非常困難。360威脅情報中心通過樣本的特殊構造分析、大數據關聯、域名分析,發現本次使用的相關漏洞攻擊武器疑似與Hacking Team有關。
由于此漏洞及相應的攻擊代碼極有可能被黑產和其他APT團伙改造以后利用來執行大規模的攻擊,構成現實的威脅,因此,360威脅情報中心提醒用戶采取應對措施。
漏洞名稱 | Adobe Flash Player遠程代碼執行漏洞 |
---|---|
威脅類型 | 遠程代碼執行 |
威脅等級 | 高 |
漏洞ID | CVE-2018-5002 |
利用場景 | 攻擊者通過網頁下載、電子郵件、即時通訊等渠道向受害者發送惡意構造的Office文件誘使其打開處理,可能觸發漏洞在用戶系統上執行任意指令獲取控制。 |
受影響系統及應用版本 | Adobe Flash Player(29.0.0.171及更早的版本) |
不受影響影響系統及應用版本 | Adobe Flash Player 30.0.0.113(修復后的最新版本) |
修復及升級地址 | https://get.adobe.com/flashplayer/ |
從捕獲到的攻擊樣本語言屬性、CC服務器關聯信息我們推斷這是一起針對卡塔爾地區的APT攻擊。樣本于5月31日被上傳到VirusTotal以后的幾天內為0惡意檢出的狀態,直到6月7日也只有360公司的病毒查殺引擎將其識別為惡意代碼,360威脅情報中心通過細致的分析發現了其中包含的0day漏洞的利用。
通過對樣本執行過程的跟蹤記錄,我們還原的樣本整體執行流程如下:
包含Flash 0day的惡意文檔整體執行流程
攻擊者首先向相關人員發送含有Flash ActiveX對象的Excel誘餌文檔,誘騙受害者打開:
而誘餌文檔中包含了一個FlashActiveX控件:
但該FlashActiveX對象中并不包含實體Flash文件,需要加載的Flash文件通過ActiveX對象中的URL連接地址遠程加載,這樣能非常好的躲避殺毒軟件查殺:
通過Excel文檔向遠程加載的Flash傳遞參數,其中包含了第二階段Flash的下載地址以及樣本和CC服務器的通信地址:
通過FlashActiveX對象中的URL連接地址下載回來一階段的Flash文件,該Flash文件最主要的功能是繼續和遠程服務器通信并下載回來使用AES加密后的第二階段Flash文件:
獲取第一階段Flash文件
由于第一階段的Flash會落地,所以為了避免實施漏洞攻擊的Flash代碼被查殺或者被捕獲,攻擊者通過第一階段的Flash Loader繼續從服務器下載加密的攻擊模塊并內存加載。
從服務器返回的數據為[KEY+AES加密數據]的形式,第一階段的Flash文件將返回的數據解密出第二階段的Flash文件:
獲取AES加密后的第二階段Flash
解密出使用AES CBC模式加密的第二階段的Flash文件:
接著內存加載第二階段的Flash文件,第二階段的Flash文件中則包含Flash0day漏洞利用代碼:
Flash 0day漏洞利用代碼執行成功后再向服務器通過POST請求返回第三階段的ShellCode并執行最后的攻擊:
如下圖所示漏洞的關鍵觸發利用代碼發生在replace函數中,漏洞觸發成功后可以通過交換vector中的兩個對象以轉換為類型混淆來實現代碼執行,函數執行前聲明了兩個SafeStr_5,SafeStr_7類型的對象實例,并將這兩個對象實例作為參數交替傳入函數SafeStr_61中,一共256個參數,SafeStr_5,SafeStr_7類型各占128個:
SafeStr_5類如下所示:
SafeStr_7類如下所示:
Jit代碼中生成對應的SafeStr_5類實例:
最終進入SafeStr_61前生成的SafeStr_5,SafeStr_7類實例如下所示,其中前兩個是全局聲明的實例,后兩個是replace中聲明的實例,之后作為SafeStr_61參數傳入:
進入SafeStr_61函數前:
SafeStr_61函數如下所示,首先創建了一個SafeStr_6的類實例(用于觸發漏洞),及SafeStr_5,_SafeStr_7類型的vector,之后將參數交叉傳入兩個vector中:
接著開始vector賦值:
賦值之后如下所示:
現在來看看用于觸發漏洞的_SafeStr_6類實例,AS代碼如下:
可以看到,由于Flash解析器處理對應的Try-Catch代碼塊時沒有合理處理好異常處理代碼的作用范圍,解析器誤認為不會有代碼可以執行到Catch語句內,因此沒有對Catch中代碼對應的字節碼進行檢測,而該函數中的li8(123456)操作由于會觸發異常并被Catch捕獲,這樣由于對Catch代碼塊中的代碼缺乏檢查,那么代碼中的字節碼通過setlocal,getlocal操作就可以實現對棧上數據的非法修改,最終將棧上兩個對象指針的位置進行的替換,從而轉化為類型混淆來實現任意代碼執行!
再來看看觸發漏洞的代碼上下文,其中_SafeStr_6即為上圖所示觸發漏洞的類實例代碼:
如下所示可以看到對應SafeStr_5類型的vector中的一個對象的指針被修改為了SaftStr的對象指針,其尋址標記為0x1c1=449,即為上圖中getlocal操作的變量:
之后將SafeStr_7類型的vector中的一個對象的指針修改為了SaftSt_5r的對象指針:
接著遍歷SafeStr_5中的每個對象的m_p1成員變量,獲取對應修改成SafeStr_7指針的成員:
由于SafeStr_5對象被混淆成SafeStr_7,因此對該混淆的SafeStr_5對象的操作,實際上作用的是SafeStr_7的內存空間,此時通過設置SafeStr_5對象的m_p1變量,即可實現對SafeStr_7對象對應內存偏移的操作,而該偏移在SafeStr_7對象中指向了對應的SafeStr_5對象,此時相當于SafeStr_7.SafeStr_5.m_p1的操作受_SafeStr_5對象的m_p1對象的控制,從而實現指定地址讀寫,之后轉化為任意代碼執行:
結合該漏洞投遞文件(Excel文檔)插入Flash ActiveX控件的技巧(復合二進制bin+遠程Flash加載),360威脅情報中心通過大數據關聯到另外一個使用相同技巧的投遞Flash漏洞利用的文檔控件文件(MD5:5b92b7f4599f81145080aa5c3152dfd9):
其內置的用于加載遠程Flash漏洞攻擊的URL如下:
hxxps://mynewsfeeds.info/docs/P6KMO6/5v1z1p3r1p1o.swf
該域名在2015年到2016年初用于下載多個SWF Payload文件:
而該域名mynewsfeeds.info歷史曾由marchaopn@gmail.com注冊,在HackingTeam 2015年7月的泄露事件后,該域名做了隱私保護:
結合360威脅情報平臺,該域名也關聯到CVE-2015-5119的漏洞利用樣本,該漏洞同樣也是Hacking Team泄露事件曝光的Flash 0day漏洞!
其中marchaopn@gmail.com郵箱注冊的簽名證書正是Hacking Team所屬:
以及HackingTeam與客戶的交流郵件中提到該域名和郵箱的信息:
至此,360威脅情報中心通過本次泄露的0day漏洞利用樣本的特殊構造方式找到一個高度相似的樣本,而該樣本則指向Hacking Team。
自Hacking Team泄露事件以來,其新的相關活動及其開發的間諜木馬也被國外安全廠商和資訊網站多次披露,證明其并沒有完全銷聲匿跡。
360威脅情報中心結合多方面的關聯,列舉本次0day攻擊事件和歷史Hacking Team之間的一些對比:
l Hacking Team長期向多個情報機構或政府部門銷售其網絡間諜武器
l 在過去HackingTeam泄露資料中表明其對Flash 0day漏洞和利用技術有深厚的基礎;而本次0day漏洞中的利用手法實現也是非常通用
l 本次0day漏洞的EXP制作方式和漏洞利用上也與HackingTeam過去的一些利用相似
360威脅情報中心提醒各單位/企業用戶,謹慎打開來源不明的文檔,并盡快通過修復及升級地址下載安裝最新版Adobe Flash Player,也可以安裝360安全衛士/天擎等防病毒軟件工具以盡可能降低風險。
看完上述內容,你們對CVE-2018-5002 Flash 0day漏洞APT攻擊實例分析有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。