91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Flash 0day漏洞CVE-2018-5002的實例分析

發布時間:2021-12-22 21:41:45 來源:億速云 閱讀:201 作者:柒染 欄目:安全技術

本篇文章給大家分享的是有關Flash 0day漏洞CVE-2018-5002的實例分析,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

0x1 概述 

騰訊御見威脅情報中心近日監控到一例使用Adobe Flash 0day漏洞(CVE-2018-5002)的APT攻擊,攻擊者疑通過即時聊天工具和郵箱等把惡意Excel文檔發送給目標人員,誘騙目標人員打開文檔。實際上,該惡意Excel文檔經過特別構造,被嵌入了flash對象,用戶一旦打開文檔電腦就會中毒。

CVE-2018-5002影響Adobe Flash Player 29.0.0.171及所有之前的版本。Adobe官方于6月7日下午發布安全公告(公告ID:APSB18-19),Adobe Flash Player的版本已更新到30.0.0.113。具體可參考Adobe 官方安全公告:https://helpx.adobe.com/security/products/flash-player/apsb18-19.html

我們及時向Adobe官方上報了漏洞利用樣本,并獲得了Adobe官方確認和致謝。 

Flash 0day漏洞CVE-2018-5002的實例分析

(攻擊流程圖)

0x2 攻擊流程分析

1. 漏洞文檔行為分析

此次攻擊時使用的誘餌文檔文件名為《basic_salary.xlsx》,主要內容為阿拉伯語言撰寫的外交部官員基本工資情況。誘餌文檔嵌入了一個在線的Flash對象,用戶打開文檔后,就會自動加載Flash文件。

Flash 0day漏洞CVE-2018-5002的實例分析

(google翻譯后的文檔內容)

Flash 0day漏洞CVE-2018-5002的實例分析

(誘餌文檔內容)

2. SWF1行為分析

SWF1文件中的代碼高度混淆,后續圖片中的源碼,均是對混淆代碼進行一定優化后截取的。

Flash 0day漏洞CVE-2018-5002的實例分析

(混淆后的SWF1代碼)

誘餌文檔中嵌入了一個在線swf對象,當打開帶漏洞的excel表格時,會加載“Movie”字段所指向的在線Flash文件,這里取名為SWF1。

Excel會將FlashVars指向的文本會以參數的形式傳遞給SWF1,這里存放的是漏洞利用樣本(SWF2文件) 和 ShellCode等URL信息,分別被標記為了stabUrl、encKeyUrl、downloadUrl、imageUrl。

Flash 0day漏洞CVE-2018-5002的實例分析

(SWF1運行時取參數)

SWF1運行后,會以post方式從參數encKeyUrl 指向的WEB服務器得到解密key及加密的swf。使用aes算法解密后,得到漏洞swf文件,取名為SWF2。

Flash 0day漏洞CVE-2018-5002的實例分析

(SWF1以post方式下載加密的SWF2)

Flash 0day漏洞CVE-2018-5002的實例分析

(SWF1使用aes解密SWF2)

SWF1通過LoadBytes將解密后的漏洞利用文件SWF2加載執行,并將downloadUrl等參數傳給SWF2。

Flash 0day漏洞CVE-2018-5002的實例分析

(SWF1加載SWF2)

3. SWF2(0day漏洞)行為分析

CVE-2018-5002是由于Flash未能正確處理包含特殊字節碼序列的SWF文件時產生的棧越界讀寫漏洞。該漏洞同之前的CVE-2017-11292類似,都需要修改SWF文件的字節碼來觸發漏洞。同時該漏洞的利用只需要簡單的內存布局,不需要復雜的堆噴,一個樣本同時在32位和64位系統中穩定運行。    

1) 漏洞原理分析

a. 漏洞代碼

ASC2(ActionScript 2)引入了一組用于快速操作內存的函數,如li8, si8等等。該組函數的具體含義如下:

Flash 0day漏洞CVE-2018-5002的實例分析

樣本代碼經過了惡意混淆,下面是清除混淆后的觸發漏洞代碼。

Flash 0day漏洞CVE-2018-5002的實例分析

其中包含li8的靜態初始化(Static Initializer)代碼并沒有被完全反編譯,下圖是根據其字節碼得出的偽碼:

Flash 0day漏洞CVE-2018-5002的實例分析

實際調試發現,執行li8指令時會觸發異常,同時異常會交由當前的catch塊來處理。而catch部分的代碼可以越界將其調用者的棧上的兩個對象指針(local_448, local_449)互換,從而實現類型混淆。

這里就產生兩個重要的問題:

I  li8指令并不在try塊中,為什么產生的異常能被當前的catch塊捕獲?

II  catch塊正常情況下只能訪問local_0和local_1,為什么這里能越界讀寫?

b. 異常處理

Flash的虛擬機AVM在執行可能會觸發異常的字節碼前,會記錄當前執行的位置previous_bytecode_offset,當發生異常后則根據記錄的執行位置從異常處理例程表ExceptionHandlerTable中查找對應的異常處理函數,即AS腳本或字節碼中的catch塊。

Flash在創建domainMemory時,會為其初始化一個大小為0x400的內存。

Flash 0day漏洞CVE-2018-5002的實例分析

Flash在執行li8(123456)指令時,首先會檢查偏移123456是否超過了domainMemory的大小。由于偏移123456超過了domainMemory的范圍0-1023,所以Flash會拋出一個Range Error的異常,如下圖所示,其中0x34為li8的字節碼0x35 – 1。

Flash 0day漏洞CVE-2018-5002的實例分析

在執行該段代碼前,previous_bytecode_offset被初始化為0。此后一共執行了三個字節碼,分別是:jump,push,li8,這三個字節碼的執行都沒有保存當前執行的位置到previous_bytecode_offset。

這樣Flash在處理li8字節碼觸發的異常時,認為異常發生的位置為0,接下來FindExceptionHandler函數根據異常發生的位置查找對應的異常處理函數,由于異常位置0位于當前的Try塊內,FindExceptionHandler函數就認為該異常應該交給當前的catch塊來處理。

下圖就是調試該過程的截圖,FindExceptionHandler的第二個參數就是出現異常的偏移即previous_bytecode_offset,值為0。

Flash 0day漏洞CVE-2018-5002的實例分析

c. 棧越界讀寫

棧越界讀寫主要是通過繞過Flash對Catch代碼塊的檢查(Verify)實現的。

Flash在對Try代碼塊進行檢查時,發現當前代碼塊只有一條jump指令,而jump指令不會拋出異常。

Flash 0day漏洞CVE-2018-5002的實例分析

同時,由于jump目標區域的字節碼序列不在Try代碼塊內, Flash AVM認為整段代碼不會發生異常,對應的catch代碼不會被執行到,所以略過了對catch代碼塊的檢查,從而可以在catch代碼塊內實現越界讀寫。

Flash 0day漏洞CVE-2018-5002的實例分析

越界讀寫前:

Flash 0day漏洞CVE-2018-5002的實例分析

觸發越界讀寫,交換local_448和local_449:

Flash 0day漏洞CVE-2018-5002的實例分析

2) 行為分析

SWF2運行后會從downloadUrl指向的WEB服務器下載加密的數據,以得到shellcode。

Flash 0day漏洞CVE-2018-5002的實例分析

(SWF2 取shellcode下載鏈接)

Flash 0day漏洞CVE-2018-5002的實例分析

(SWF2下載shellcode)

取加密數據的前16個字節作為解密的Key,通過AES解密ShellCode。

Flash 0day漏洞CVE-2018-5002的實例分析

(SWF2解壓縮并執行shellcode)

再借助0day漏洞將shellcode執行起來。由于ShellCode服務器已經關閉,已經無法獲取ShellCode的具體內容。

Flash 0day漏洞CVE-2018-5002的實例分析

(執行32位或64位shellcode)

Flash 0day漏洞CVE-2018-5002的實例分析

(執行shellcode)

0x3 總結

該APT組織使用0day漏洞攻擊政府相關部門,利用純shellcode在宿主進程excel中干壞事。而這種0day漏洞加純shellcode的攻擊方式對安全軟件的檢測和防護能力是一個挑戰。    

騰訊御見威脅情報中心判斷在此0day漏洞利用方法未被廣泛傳播之前,該漏洞仍將主要被技術實力強勁的APT組織所掌握。而鑒于Adobe Flash Player幾乎安裝在每一臺電腦上,且有大量用戶未能及時修補安全漏洞,當該漏洞的利用方法被病毒木馬黑色產業掌握時,或將會帶來大面積的網頁掛馬威脅。    

騰訊安全專家提醒政府機關、相關企業用戶切勿隨意打開來歷不明的文檔,安裝安全軟件防御攻擊。此外,及時升級Adobe Flash Player到最新版本(30.0.0.113)以防御可能的漏洞攻擊威脅,下載地址:https://get.adobe.com/cn/flashplayer/

目前,騰訊御界高級威脅檢測系統已經可以檢測并阻斷該輪攻擊的連接行為。企業用戶通過部署御界高級威脅檢測系統,可以及時感知惡意流量,檢測釣魚網址和遠控服務器地址在企業網絡中的訪問情況,保護企業網絡安全。

Flash 0day漏洞CVE-2018-5002的實例分析

以上就是Flash 0day漏洞CVE-2018-5002的實例分析,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

新源县| 紫云| 旅游| 磴口县| 容城县| 泾阳县| 兴安县| 信阳市| 扎兰屯市| 红桥区| 兰考县| 萝北县| 泸西县| 监利县| 汽车| 宁阳县| 理塘县| 吉木萨尔县| 东阿县| 新田县| 万宁市| 富宁县| 呈贡县| 静宁县| 堆龙德庆县| 商南县| 锦屏县| 北流市| 乐清市| 商都县| 沐川县| 闸北区| 长宁区| 壤塘县| 赞皇县| 万源市| 饶河县| 来凤县| 孟村| 阿拉善盟| 惠来县|