Adobe閱讀器漏洞(adobe_cooltype_sing)學習研究

實驗環境:Kali 2.0+Windows XP sp3+Adobe Reader 9.0.0shell

類別:緩衝區溢出windows

描述:這個漏洞針對Adobe閱讀器9.3.4以前的版本,一個名爲SING表對象中一個名爲uniqueName的參數形成緩衝區溢出。spa

參考資料:《Metasploit魔鬼訓練營》p286-p298debug

 

Adobe漏洞滲透過程:調試

kali上使用windows/fileformat/adobe_cooltype_sing,載荷爲windows/meterpreter/reverse_http,生成惡意構造的pdf文件,並打開exploit/multi/handler進行監聽。code

在windows xp sp3靶機上打開該pdf,成功執行shellcode,回連到kali!orm

 

Adobe漏洞機理分析:對象

先經過源代碼瞭解下此漏洞的大概機理。blog

100     # uniqueName
101     # "The uniqueName string must be a string of at most 27 7-bit ASCII characters"                                                              
102     #sing << "A" * (0x254 - sing.length)
103     sing << rand_text(0x254 - sing.length) 
104
105 # 0xffffffff gets written here @ 0x7001400 (in BIB.dll) 106 sing[0x140, 4] = [0x4a8a08e2 - 0x1c].pack('V') 107 108 # This becomes our new EIP (puts esp to stack buffer) 109 ret = 0x4a80cb38 # add ebp, 0x794 / leave / ret 110 sing[0x208, 4] = [ret].pack('V')

構造了一個長度爲0x254的字符串,其中偏移爲0x208處的4字節將成爲溢出以後的新eip。ip

 

接下來要尋找程序的溢出點。爲了方便,修改下代碼。

去除字符串隨機性,將

sing << rand_text(0x254 - sing.length)

改成

sing << "A" * (0x254 - sing.length)

而後將ret=0x4a80cb38改成ret=0x42424242(字符串「BBBB」)。

從新生成樣本文件debug.pdf,並在靶機windows xp中打開。

然而我並無獲得書上的結果,跳出了兩個OllyIce,後一個關於AcroRd32.exe的已經終止

前一個最後也沒有由於訪問地址0x42424242而異常,而是另外一個地址。

暫且解決不了這個問題,我決定「做弊"!

既然以上這步是爲了找到溢出點,因此我直接看書找到相應的異常處並下斷點。

而後,我再次調試打開debug.pdf,仍是如上。

看來是在溢出點以前就有其餘的異常,只能先用OllyDbg打開以前成功攻擊的構造文件FormalAttack.pdf來調試。

 仍是不行,雖然直接FormalAttack.pdf能夠成功執行shellcode回連,可是經過OllyDbg打開FormalAttack.pdf就會產生異常,在中斷處日後執行幾步奇怪的指令後就終止了,根本沒通過咱們下斷點的CoolType模塊。

相關文章
相關標籤/搜索