溫馨提示×

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

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

怎么進(jìn)行CVE-2019-1132詳細(xì)分析

發(fā)布時(shí)間:2021-12-22 21:03:52 來(lái)源:億速云 閱讀:105 作者:柒染 欄目:網(wǎng)絡(luò)管理

今天就跟大家聊聊有關(guān)怎么進(jìn)行CVE-2019-1132詳細(xì)分析,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

CVE-2019-1132詳細(xì)分析

一 、背景

ESET研究人員發(fā)現(xiàn)了Buhtrap組織在針對(duì)東歐的APT攻擊中使用的樣本,樣本使用了Windows的0 DAY漏洞。微軟發(fā)布了針對(duì)此漏洞的補(bǔ)丁,這個(gè)漏洞是CVE-2019-1132。因?yàn)樵撀┒幢婚L(zhǎng)期使用在APT攻擊中,所以這次事件也引起了很大的影響。本文的主要目的是對(duì)CVE-2019-1132這個(gè)漏洞做一個(gè)詳細(xì)的分析,利用的PoC來(lái)自于SHIVAM TRIVEDI。 

安全人員發(fā)現(xiàn)該漏洞是一個(gè)提權(quán)漏洞,利用了win32k.sys中的空指針間接引用。SHIVAM TRIVEDI提供的PoC在Windows 7 32(Win7 32Bit Build 7601版本)位上可以成功利用。

漏洞描述:

漏洞編號(hào):CVE-2019-1132

漏洞描述:當(dāng)Win32k組件無(wú)法正確處理內(nèi)存中的對(duì)象時(shí),Windows中存在一個(gè)提權(quán)漏洞,即“Win32k提權(quán)漏洞”

受影響版本:

Windows 7 for 32-bit Systems Service Pack 1

Windows 7 for x64-based Systems Service Pack 1

Windows Server 2008 for 32-bit Systems Service Pack 2

Windows Server 2008 for Itanium-Based Systems Service Pack 2

Windows Server 2008 for x64-based Systems Service Pack 2

Windows Server 2008 R2 for Itanium-Based Systems Service Pack 1

Windows Server 2008 R2 for x64-based Systems Service Pack 1

二、行為流程

怎么進(jìn)行CVE-2019-1132詳細(xì)分析三、詳細(xì)分析

1. 利用的基礎(chǔ)

為了完成這個(gè)利用,首先需要?jiǎng)?chuàng)建一個(gè)多級(jí)菜單和兩個(gè)窗口(我們稱(chēng)它們?yōu)镸ain窗口和Hunt窗口)。

怎么進(jìn)行CVE-2019-1132詳細(xì)分析

這三部分是完成整個(gè)利用的所有基礎(chǔ),利用的兩個(gè)關(guān)鍵步驟在于tagPopupMenu和tagWND數(shù)據(jù)結(jié)構(gòu)的修改(tagPopupMenu和tagWND分別是內(nèi)核中表示菜單和窗體的數(shù)據(jù)結(jié)構(gòu)。)。下面我們來(lái)看一下重要的代碼。

首先,需要?jiǎng)?chuàng)建一個(gè)3級(jí)的菜單,第一個(gè)菜單我們稱(chēng)為Root菜單,其他兩個(gè)菜單被設(shè)置為Root菜單的子菜單。

怎么進(jìn)行CVE-2019-1132詳細(xì)分析然后創(chuàng)建兩個(gè)窗體,即Main窗體和Hunt窗體。

怎么進(jìn)行CVE-2019-1132詳細(xì)分析

在窗體創(chuàng)建完成以后,需要給該進(jìn)程設(shè)置窗體的消息Hook和事件Hook。

 對(duì)于消息Hook來(lái)說(shuō),重要之處是在窗體創(chuàng)建的時(shí)候,向第一個(gè)Menu發(fā)送MN_CANCELMENUS消息,從而銷(xiāo)毀第一個(gè)菜單。

怎么進(jìn)行CVE-2019-1132詳細(xì)分析對(duì)于事件Hook來(lái)說(shuō),向窗體發(fā)送特定的菜單消息,以保證能觸發(fā)特定的內(nèi)核函數(shù)。

怎么進(jìn)行CVE-2019-1132詳細(xì)分析

2.利用的過(guò)程

接下來(lái),我們看一下,漏洞的形成和觸發(fā)。

在這里我們要先說(shuō)一下內(nèi)核中菜單的數(shù)據(jù)結(jié)構(gòu)tagWnd,tagWnd數(shù)據(jù)結(jié)構(gòu)中的ppopupmenuRoot項(xiàng)指向了它的子菜單的數(shù)據(jù)結(jié)構(gòu),當(dāng)它被銷(xiāo)毀的時(shí)候,這個(gè)指針被置為null,也就是0。

怎么進(jìn)行CVE-2019-1132詳細(xì)分析觸動(dòng)漏洞的過(guò)程開(kāi)始于TrackPopupMenu的使用。

怎么進(jìn)行CVE-2019-1132詳細(xì)分析當(dāng)上面基礎(chǔ)都準(zhǔn)備好后,在調(diào)用TrackPopupMenu函數(shù)在Main窗體上顯示菜單時(shí),菜單被創(chuàng)建,所以菜單窗體的消息HOOK函數(shù)就會(huì)被執(zhí)行,當(dāng)消息HOOK函數(shù)檢測(cè)到WM_NCCREATE消息和其他條件都滿(mǎn)足的時(shí)候,就向ROOT菜單發(fā)送一個(gè)WM_CANCELMENUS消息,以銷(xiāo)毀ROOT菜單。這個(gè)時(shí)候ROOT菜單數(shù)據(jù)結(jié)構(gòu)的ppopupmenuRoot項(xiàng)變成了0。而這個(gè)時(shí)候,其他的子菜單仍然會(huì)繼續(xù)創(chuàng)建。

怎么進(jìn)行CVE-2019-1132詳細(xì)分析ppopupmenuRoot為0,意味著在ROOT菜單可以引用地址為0的子菜單。接下來(lái),在地址為0的地方分配內(nèi)存,在這里構(gòu)造了一個(gè)虛假的菜單。

怎么進(jìn)行CVE-2019-1132詳細(xì)分析和這個(gè)虛假的菜單相關(guān)聯(lián)的重要概念是tagWND,也就是內(nèi)核窗體數(shù)據(jù)結(jié)構(gòu)。我們看一下tagWND數(shù)據(jù)結(jié)構(gòu)。其中有一個(gè)非常重要的標(biāo)識(shí)bServerSideWindowProc,這個(gè)標(biāo)識(shí)的值如果被置1,那么窗體的回調(diào)函數(shù)會(huì)在內(nèi)核態(tài)中被執(zhí)行。

怎么進(jìn)行CVE-2019-1132詳細(xì)分析該利用使用了Hunt窗體作為最終的利用目標(biāo)。為了達(dá)到這個(gè)目的,首先要獲取窗口數(shù)據(jù)結(jié)構(gòu)地址。

怎么進(jìn)行CVE-2019-1132詳細(xì)分析我們可以看到名為xxHMValidateHandle的函數(shù)獲取了PTHREDSKHEAD的數(shù)據(jù)結(jié)構(gòu),這個(gè)結(jié)構(gòu)中包含了窗體數(shù)據(jù)結(jié)構(gòu)的地址。這個(gè)函數(shù)的原型應(yīng)該來(lái)自于內(nèi)核函數(shù)win32k!ValidateMenu。

怎么進(jìn)行CVE-2019-1132詳細(xì)分析然后,Hunt窗體的數(shù)據(jù)結(jié)構(gòu)的一個(gè)特殊地址被賦值給了這個(gè)精心構(gòu)造的假菜單。

怎么進(jìn)行CVE-2019-1132詳細(xì)分析我們?cè)俅握{(diào)用TrackPopupMenuEx函數(shù)通過(guò)ROOT菜單和虛假的菜單來(lái)撬動(dòng)利用。這次,Hunt窗體的bServerSideWindowProc會(huì)被置為1。

怎么進(jìn)行CVE-2019-1132詳細(xì)分析最后向Hunt窗體發(fā)送消息0x1234,Hunt窗體的默認(rèn)回調(diào)函數(shù)就會(huì)在內(nèi)核空間中執(zhí)行了。

怎么進(jìn)行CVE-2019-1132詳細(xì)分析

在Hut窗體的默認(rèn)回調(diào)函數(shù)中拷貝SYSMTEM進(jìn)程的TOKEN給自身,就實(shí)現(xiàn)了進(jìn)程的提權(quán)操作。

怎么進(jìn)行CVE-2019-1132詳細(xì)分析

(上圖是成功提權(quán))


四、防護(hù)措施

1、不要輕易打開(kāi)可疑文件,如電子郵件、可疑鏈接、可疑文檔等等。

2、及時(shí)安裝系統(tǒng)補(bǔ)丁,使用最新版本的軟件。

3、安裝殺毒軟件,及時(shí)更新病毒庫(kù)。

4、使用“鐵穹高級(jí)持續(xù)性威脅預(yù)警系統(tǒng)”(簡(jiǎn)稱(chēng)“鐵穹”)發(fā)現(xiàn)潛在的攻擊行為,及時(shí)響應(yīng)和阻斷,避免造成業(yè)務(wù)中斷或經(jīng)濟(jì)損失。

看完上述內(nèi)容,你們對(duì)怎么進(jìn)行CVE-2019-1132詳細(xì)分析有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。

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

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

AI