
CVE-2024-30088:Windows內(nèi)核權限提升漏洞解析
聲明:該文章由作者(拇指兔)發(fā)表,轉(zhuǎn)載此文章須經(jīng)作者同意并請附上出處(0XUCN)及本頁鏈接。。
在最近的Windows安全補丁中,CVE-2024-30088是一個引起廣泛關注的安全漏洞。這個漏洞存在于Windows內(nèi)核函數(shù)AuthzBasepCopyoutInternalSecurityAttributes中,涉及到內(nèi)核在將_AUTHZBASEP_SECURITY_ATTRIBUTES_INFORMATION結(jié)構從內(nèi)核對象的當前令牌復制到用戶模式時的安全隱患。
漏洞結(jié)構解析
該結(jié)構的定義如下:
//0x30 bytes (sizeof)struct?_AUTHZBASEP_SECURITY_ATTRIBUTES_INFORMATION?{? ?ULONG?SecurityAttributeCount; ? ? ? ? ? ? ??//0x0? ?struct?_LIST_ENTRY?SecurityAttributesList; ?//0x8? ?ULONG?WorkingSecurityAttributeCount; ? ? ? ?//0x18? ?struct?_LIST_ENTRY?WorkingSecurityAttributesList;?//0x20};
在執(zhí)行到復制SecurityAttributesList列表時,內(nèi)核直接將SecurityAttribute的結(jié)構列表指向用戶提供的指針。此后,它調(diào)用RtlCopyUnicodeString和AuthzBasepCopyoutInternalSecurityAttributeValues函數(shù)來復制安全屬性結(jié)構的名稱和值,導致該函數(shù)中存在多個時間競爭問題(TOCTOU)。
通過在RtlCopyUnicodeString調(diào)用前用競爭線程修改屬性名稱的Buffer指針,攻擊者可以輕易地實現(xiàn)對任意地址的寫操作,且可控制寫入的值和大小。
漏洞觸發(fā)機制
此漏洞可通過調(diào)用NtQueryInformationToken函數(shù),并指定TokenAccesInformation類來觸發(fā)。
補丁分析
為了解決這一問題,補丁在內(nèi)核棧上使用局部變量(在代碼中為v18)作為緩沖區(qū),先將安全屬性的名稱復制到該緩沖區(qū),然后再寫回用戶緩沖區(qū)。這種改進顯著提高了系統(tǒng)的安全性,防止了通過用戶模式調(diào)用系統(tǒng)調(diào)用時的潛在危險。
...*(_QWORD?*)&v18.Length?=?0i64;v18.MaximumLength?=?Flink_low;v18.Buffer?=?v17;RtlCopyUnicodeString(&v18.Length, (unsigned?__int16?*)&Flink[2]);*(_UNICODE_STRING?*)(v13?-?0x48)?=?v18;...
在調(diào)試會話中,我們可以看到經(jīng)過補丁后,rcx寄存器是內(nèi)核地址:
5:?kd>?nt!AuthzBasepCopyoutInternalSecurityAttributes+0x1aa:fffff803`5dbcf14a e8810fa5ff call nt!RtlCopyUnicodeString (fffff803`5d6200d0)
演示代碼和實驗
對于想深入了解該漏洞如何被利用的研究者和安全專家,可以參考這個演示視頻鏈接:漏洞利用演示。
[超站]友情鏈接:
四季很好,只要有你,文娛排行榜:https://www.yaopaiming.com/
關注數(shù)據(jù)與安全,洞悉企業(yè)級服務市場:https://www.ijiandao.com/
- 1 看總書記關心的清潔能源這樣發(fā)電 7904227
- 2 央視曝光直播間“高端四件套”貓膩 7809667
- 3 以總理:絕不會有巴勒斯坦國 等著瞧 7712076
- 4 長春航空展這些“首次”不要錯過 7617479
- 5 租客長租15年不到1年就被勸退 7522206
- 6 浙江大學教授被留置 持股市值31億 7423584
- 7 9月23日晚8點將上演“龍收尾”天象 7330365
- 8 馬斯克特朗普鬧掰后首次同框 7238552
- 9 風王“樺加沙”體型超整個廣東省 7137685
- 10 我們?yōu)槭裁匆プ矒粜⌒行?/a> 7039412