如何進(jìn)行CVE-2018-4990漏洞分析-創(chuàng)新互聯(lián)

這篇文章給大家介紹如何進(jìn)行CVE-2018-4990 漏洞分析,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。

創(chuàng)新互聯(lián)建站成立以來(lái)不斷整合自身及行業(yè)資源、不斷突破觀念以使企業(yè)策略得到完善和成熟,建立了一套“以技術(shù)為基點(diǎn),以客戶需求中心、市場(chǎng)為導(dǎo)向”的快速反應(yīng)體系。對(duì)公司的主營(yíng)項(xiàng)目,如中高端企業(yè)網(wǎng)站企劃 / 設(shè)計(jì)、行業(yè) / 企業(yè)門戶設(shè)計(jì)推廣、行業(yè)門戶平臺(tái)運(yùn)營(yíng)、重慶App定制開(kāi)發(fā)成都手機(jī)網(wǎng)站制作、微信網(wǎng)站制作、軟件開(kāi)發(fā)、雅安服務(wù)器托管等實(shí)行標(biāo)準(zhǔn)化操作,讓客戶可以直觀的預(yù)知到從創(chuàng)新互聯(lián)建站可以獲得的服務(wù)效果。

測(cè)試版本:AcroRdrDC1700920044_en_US

漏洞模塊: Escript.api

漏洞函數(shù)


如何進(jìn)行CVE-2018-4990 漏洞分析

修復(fù)函數(shù)

如何進(jìn)行CVE-2018-4990 漏洞分析

問(wèn)題分析

拷貝對(duì)象的時(shí)候把DWORD類型的對(duì)象地址作為BYTE類型進(jìn)行了拷貝,堆對(duì)象拷貝溢出漏洞。對(duì)象偏移在0x50的地方,也就是錯(cuò)誤的位置。

如何進(jìn)行CVE-2018-4990 漏洞分析

Javascript里面噴射的對(duì)象代碼。
如何進(jìn)行CVE-2018-4990 漏洞分析

修復(fù)方案

定位到問(wèn)題很好修復(fù)。

ROP技術(shù)

使用EScript.api模塊作為ROP執(zhí)行地址,基址為69260000,ROP表如下.

0D130064 692E2803 EScript.692E2803

0D130068 692E2803 EScript.692E2803

0D13006C 692E2802 EScript.692E2802

0D130070 693F7084 <&KERNEL32.VirtualAlloc>

0D130074 69271784 EScript.69271784

0D130078 693EAF26 EScript.693EAF26

0D13007C 69278000 EScript.69278000

0D130080 69283AAA EScript.69283AAA

0D130084 6936F282 EScript.6936F282

0D130088 00010201

0D13008C 692E2802 EScript.692E2802

0D130090 692695C4 EScript.692695C4

0D130094 77842FB6 kernel32.VirtualAlloc

0D130098 69283AAA EScript.69283AAA

第一條ROP指令RETN在692E2803,為一條RETN指令。因?yàn)橛蠥SLR保護(hù),所以地址看起來(lái)不一樣。

如何進(jìn)行CVE-2018-4990 漏洞分析

ROP指令不進(jìn)行一一講解,接下來(lái)通過(guò)ROP技術(shù)構(gòu)造了一個(gè)函數(shù)VirtualAlloc分配一段內(nèi)存。注意看下EAX寄存器的值。


如何進(jìn)行CVE-2018-4990 漏洞分析

EAX是0x90909090,adobe的javascript的堆噴射器里面也有0x90909090。


如何進(jìn)行CVE-2018-4990 漏洞分析

使用VirtualAlloc函數(shù)申請(qǐng)了一段可讀可寫(xiě)可執(zhí)行的內(nèi)存,大小為66049字節(jié)。為什么呢?因?yàn)閻阂鈖df里面還有個(gè)pe文件,shellcode應(yīng)該帶有一個(gè)pe加載器,直接在本進(jìn)程在內(nèi)存執(zhí)行pe文件。


如何進(jìn)行CVE-2018-4990 漏洞分析

接下來(lái)返回到了惡意內(nèi)存中的shellcode繼續(xù)執(zhí)行。注意一下,前面4字節(jié)是0x90。說(shuō)明那個(gè)是填充的NOP指令。


如何進(jìn)行CVE-2018-4990 漏洞分析

Shellcode

第一個(gè)功能就是在shellcode長(zhǎng)度(0x2710字節(jié)長(zhǎng)度)后面搜索一個(gè)4字節(jié)的標(biāo)記0xBFAFBFAF。搜索標(biāo)記的作用是定位PE頭。

如何進(jìn)行CVE-2018-4990 漏洞分析

接下來(lái)用經(jīng)典的fs:[0x30]技術(shù)定位kernel32的基址。


如何進(jìn)行CVE-2018-4990 漏洞分析

接下來(lái)通過(guò)解析PE文件搜索GetProcAddress函數(shù)的地址,這也是windows經(jīng)典的shellcode技術(shù)。


如何進(jìn)行CVE-2018-4990 漏洞分析
<p  >使用getprocaddress函數(shù)得到loadlibrarya、virtualalloc、virtualfree、virtualprotect、getmodulehandlea的地址
如何進(jìn)行CVE-2018-4990 漏洞分析

如何進(jìn)行CVE-2018-4990 漏洞分析

接著是PE加載器的經(jīng)典功能,拷貝PE頭、修復(fù)區(qū)段、重定位、填充輸入表等等。


如何進(jìn)行CVE-2018-4990 漏洞分析

接著使用VirtualProtect函數(shù)改寫(xiě)PE為可讀可執(zhí)行可寫(xiě)。


如何進(jìn)行CVE-2018-4990 漏洞分析

最后調(diào)用PE文件的入口函數(shù),因?yàn)镻E是dll所以入口是DllMain。


如何進(jìn)行CVE-2018-4990 漏洞分析

這個(gè)dll只有一個(gè)功能,使用MessageBoxA彈一個(gè)對(duì)話框。


如何進(jìn)行CVE-2018-4990 漏洞分析

Dll的入口函數(shù)。


如何進(jìn)行CVE-2018-4990 漏洞分析

關(guān)于如何進(jìn)行CVE-2018-4990 漏洞分析就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。

網(wǎng)站題目:如何進(jìn)行CVE-2018-4990漏洞分析-創(chuàng)新互聯(lián)
轉(zhuǎn)載注明:http://muchs.cn/article30/dpgcpo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開(kāi)發(fā)、自適應(yīng)網(wǎng)站微信公眾號(hào)、全網(wǎng)營(yíng)銷推廣、建站公司關(guān)鍵詞優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

微信小程序開(kāi)發(fā)