麻豆国内精品欧美在线-麻豆国内精品久久久久久-麻豆国产在线观看一区二区-麻豆国产在线观看免费-麻豆国产原创-麻豆国产一区二区在线观看

VBScript引擎中的漏洞會影響Internet Explorer運行Shellcode區(qū)塊鏈

曲速未來安全區(qū) 2018-08-30 20:01
分享到:
導(dǎo)讀

7月11日的時候發(fā)現(xiàn)了一個高風(fēng)險的InternetExplorer(IE)漏洞,就在微軟7月補丁周二的第二天。

在7月11日的時候發(fā)現(xiàn)了一個高風(fēng)險的Internet Explorer(IE)漏洞,就在微軟7月補丁周二的第二天。雖然此漏洞(現(xiàn)在指定為CVE-2018-8373)會影響最新版Windows中的VBScript引擎,但Internet Explorer 11并不容易受到攻擊,因為默認(rèn)情況下Windows 10 Redstone 3(RS3)中的VBScript已被有效禁用。

然后發(fā)現(xiàn)了惡意網(wǎng)絡(luò)流量中的漏洞。URL如下所示:

圖1.使用的惡意URL

發(fā)現(xiàn)了這種漏洞之后,從而進行了更深入的分析。有趣的是,發(fā)現(xiàn)此漏洞利用示例使用與CVE-2018-8174相同的混淆技術(shù),CVE-2018-8174是5月份修補的VBScript引擎遠程執(zhí)行代碼漏洞。

圖2. CVE-2018-8373(左側(cè))和CVE-2018-8174(右側(cè))的比較

此外,這是用于運行shellcode的示例exploit的方法:

圖3. CVE-2018-8373(左側(cè))和CVE-2018-8174(右側(cè))如何運行shellcode的比較

經(jīng)過調(diào)查懷疑這個漏洞利用樣本來自同一個創(chuàng)建者。因為經(jīng)過分析顯示它在vbscript.dll中使用了一個新的use-after-free(UAF)漏洞。

漏洞根本原因分析

現(xiàn)在詳細介紹對此漏洞的分析,該漏洞已在微軟周二的八月補丁中得到解決。由于原始漏洞被嚴(yán)重混淆,就進行演示了一個概念驗證(PoC)來解釋如何利用此漏洞:

圖4. IE漏洞PoC

這個PoC定義了一個名為MyClass的類,它有一個名為array的成員變量和兩個名為Class_Initialize和Default Property Get P的成員函數(shù)。Class_Initialize是一個不推薦使用的方法,現(xiàn)在由New過程替換。首次實例化對象時會自動調(diào)用它。在該PoC中,Class_Initialize函數(shù)被重載,以及何時呼叫VBScriptClass::InitializeClass后,它會被分派到重載函數(shù)。

默認(rèn)屬性是一個類屬性,可以在不指定的情況下訪問它。在此PoC中,Default Property Get函數(shù)重載MyClass的默認(rèn)屬性。當(dāng)調(diào)用訪問cls時,它將被調(diào)度到重載函數(shù)。

漏洞的觸發(fā)流程可以簡化為以下三個步驟:

1.設(shè)置cls = New MyClass

這將調(diào)用重載函數(shù)Class_Initialize。在Class_Initialize中,ReDim數(shù)組(2)將調(diào)用vbscript!RedimPreserveArray來創(chuàng)建一個元素的計數(shù)為3的數(shù)組:

圖5.內(nèi)存中的ReDim數(shù)組

2. cls.array(2)

它將調(diào)用vbscript!AccessArray來獲取數(shù)組元素的地址。在vbscript!AccessArray中,它將首先檢查數(shù)組元素的索引是否超出邊界:

圖6.在vbscript中檢查元素索引!AccessArray

然后計算元素的地址,將其保存在堆棧中,并返回以下內(nèi)容:

圖7.在堆棧上保存元素地址

3. cls.array(2)= cls

這將調(diào)用vbscript!AssignVar將MyClass默認(rèn)屬性值設(shè)置為cls.array(2)。獲取MyClass默認(rèn)屬性值時,調(diào)用公共默認(rèn)屬性Get P并在公共默認(rèn)屬性Get P中執(zhí)行腳本ReDim數(shù)組(1),這將導(dǎo)致原始array.pvData被釋放:

圖8.釋放原始pvData

但是,如第二步所述,數(shù)組(2)的地址仍保存在堆棧中。公共默認(rèn)屬性Get P的返回值將訪問釋放的內(nèi)存,從而觸發(fā)vbscript中的use-after-free(UAF)漏洞!AssignVar:

圖9. vbscript中的崩潰!AssignVar

如前所述,vbscript!AccessArray檢查數(shù)組元素的索引是否超出邊界。但是當(dāng)獲取類的默認(rèn)屬性值時,它將觸發(fā)腳本回調(diào)函數(shù)Default Property獲取修改數(shù)組的長度,而不是在vbscript!AssignVar中訪問時再次檢查數(shù)組的元素。

剝削分析

可以通過以下三個步驟簡化利用:

  1. 使用此漏洞將二維數(shù)組的長度修改為0x0FFFFFFF。

  2. 實現(xiàn)讀/寫原語。

  3. 偽造CONTEXT結(jié)構(gòu)并執(zhí)行shellcode。

讓我們詳細談?wù)劺茫?/p>

1.修改二維數(shù)組的長度

首先,漏洞定義了兩個數(shù)組,在下圖中將其標(biāo)記為array1和array2的數(shù)組1是先前在PoC中描述的陣列,且數(shù)組2是一個二維陣列,其中每個元素的值是3。

圖10. array2的定義

然后它使用腳本回調(diào)函數(shù)Default Property Get釋放原始array1.pvData并將array2設(shè)置為new array1.pvData。因為原來的大小array1.pvData,這是的0x30字節(jié)在存儲器中,相同array2.SAFEARRAY結(jié)構(gòu),一些的array2.SAFEARRAY結(jié)構(gòu)將重用在原釋放的內(nèi)存array1.pvData。同時,Default Property Get的返回值0x0FFFFFFFF將覆蓋array2.SAFEARRAY的SAFEARRAYBOUND結(jié)構(gòu),并將二維數(shù)組的長度修改為0x0FFFFFFF。

圖11.默認(rèn)屬性Get的定義

圖12.修改數(shù)組長度的步驟

2. RW原語

這里得到一個數(shù)組,array1(index_vuln)(0x0FFFFFFE,2),其長度由UAF調(diào)節(jié)。通過搜索array1的元素,可以在以下腳本中找到index_vuln:

圖13.搜索array1(index_vuln)(0x0FFFFFFE,2)

然后它使用array1(index_vuln)(0x0FFFFFFE,2)來實現(xiàn)越界(OOB)并找到兩個數(shù)組元素混淆的元素。

圖14.搜索第一個數(shù)組的元素

圖15.搜索第二個數(shù)組的元素

這里漏洞獲取兩個數(shù)組的元素:array1(index_B)(0,0)和array1(index_vuln)(index_A,0),它們在內(nèi)存中的距離為8字節(jié)。在內(nèi)存中搜索的充分利用如下所示:

圖16.在內(nèi)存中搜索方式的演示

最后,它使用兩個數(shù)組的元素來實現(xiàn)類型混淆的讀寫原語:

圖17. RW基元的實現(xiàn)

3.運行shellcode

它使用read原語來泄漏模塊的地址:

圖18.泄漏模塊的地址

通過將一些VARIANT的VarType修改為0x4d并將值修改為0,將調(diào)用vbscript!VAR :: Clear,然后將調(diào)用堆棧返回地址修改為NtContinue的地址并偽造CONTEXT結(jié)構(gòu)以運行shellcode:

圖19.修改VARIANT

圖20.運行shellcode

經(jīng)過一系列的分析,可以穩(wěn)定地利用此漏洞。此外,由于它是今年在野外發(fā)現(xiàn)的第二個VB引擎漏洞利用,因此預(yù)計未來VB引擎中的其他漏洞發(fā)現(xiàn)并非遙不可及。

總結(jié)

作為第一道防線,區(qū)塊鏈安全公司W(wǎng)F曲速未來建議在可用時應(yīng)用最新的安全補丁以防止漏洞利用。用戶還可以使用可以抵御可能漏洞攻擊的解決方案。主動,多層次的安全方法是利用漏洞(來自網(wǎng)關(guān),端點,網(wǎng)絡(luò)和服務(wù)器)的威脅的關(guān)鍵。

漏洞 數(shù)組 array 使用 利用
分享到:

1.TMT觀察網(wǎng)遵循行業(yè)規(guī)范,任何轉(zhuǎn)載的稿件都會明確標(biāo)注作者和來源;
2.TMT觀察網(wǎng)的原創(chuàng)文章,請轉(zhuǎn)載時務(wù)必注明文章作者和"來源:TMT觀察網(wǎng)",不尊重原創(chuàng)的行為TMT觀察網(wǎng)或?qū)⒆肪控?zé)任;
3.作者投稿可能會經(jīng)TMT觀察網(wǎng)編輯修改或補充。


專題報道

主站蜘蛛池模板: 国产高清经典露脸3p | 亚洲AV永久无码精品老司机蜜桃 | 性欧美sexvideo另类 | 亚洲精品国产AV成人毛片 | 奇米影视4444 | 成人国产在线观看 | 乳女教师欲乱动漫无修版动画3d | 男人天堂新 | 无限在线看免费视频大全 | 日本人成在线视频免费播放 | 9l桃色| 国产成人精品高清不卡在线 | julia ann黑人巨大 | 女人被爽到呻吟娇喘的视频动态图 | ova巨公主催眠1在线观看 | gay男男白袜chinese | 色哺乳妇hd | 黄a级| www.尤物在线| 国产福利在线观看91精品 | 波多野结在线观看 | 探花 在线| 日韩视频在线精品视频免费观看 | 欧美不卡一区二区三区 | 成人丁香乱小说 | 色中色破解版 | 91精品国产99久久 | 99热久久国产精品这里 | 欧美特黄特色aaa大片免费看 | 日本特级a禁片在线播放 | 日本大尺度激情做爰叫床 | 免费看黄色片的网站 | 日本高清全集免费观看 | 日本一区三区 | 小SAO货边洗澡边CAO你动漫 | 免看一级a一片成人123 | 天天舔天天干天天操 | 私人chinese beauty| 欧美日韩成人在线 | 超级乱淫伦短篇在车上 | 国产精品久久久久久久久 |