新聞中心
漏洞簡(jiǎn)介
2022年5月10日,微軟發(fā)布補(bǔ)丁修復(fù)了一個(gè) AD域權(quán)限提升漏洞(CVE-2022–26923)。該漏洞是由于在申請(qǐng)證書(shū)時(shí)對(duì)AD域中的計(jì)算機(jī)賬戶(hù)身份審核不夠嚴(yán)格,經(jīng)過(guò)身份驗(yàn)證的攻擊者可以操縱他們擁有或管理的計(jì)算機(jī)帳戶(hù)的屬性,假冒DC從AD CS 服務(wù)器獲取DC證書(shū),最終導(dǎo)致普通權(quán)限用戶(hù)提升至域管理員權(quán)限。這一漏洞最早由安全研究員Oliver Lyak在2021年12月14日?qǐng)?bào)告給微軟,微軟在2022年5月的安全更新中對(duì)其進(jìn)行了修補(bǔ)。

公司主營(yíng)業(yè)務(wù):成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè)、移動(dòng)網(wǎng)站開(kāi)發(fā)等業(yè)務(wù)。幫助企業(yè)客戶(hù)真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。成都創(chuàng)新互聯(lián)是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開(kāi)放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來(lái)的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶(hù)帶來(lái)驚喜。成都創(chuàng)新互聯(lián)推出錦屏免費(fèi)做網(wǎng)站回饋大家。
AD CS身份識(shí)別
默認(rèn)情況下,CA允許域用戶(hù)注冊(cè)User模板證書(shū),允許域計(jì)算機(jī)注冊(cè)Machine模板證書(shū)。兩個(gè)證書(shū)模板都允許客戶(hù)端身份驗(yàn)證。這意味著頒發(fā)的證書(shū)可用于通過(guò)PKINIT Kerberos 擴(kuò)展對(duì)KDC進(jìn)行身份驗(yàn)證。
通過(guò)對(duì)比User和DomainController兩個(gè)模板的msPKI-Certificate-Name-Flag屬性可以看到User模版包含SUBJECT_ALT_REQUIRE_UPN,DomainController包含 SUBJECT_ALT_REQUIRE_DNS。這兩個(gè)字段分別標(biāo)識(shí)證書(shū)中的用戶(hù)和計(jì)算機(jī)的身份,用于CA識(shí)別證書(shū)的所有者。
如當(dāng)我們使用User模板請(qǐng)求證書(shū)時(shí),用戶(hù)帳戶(hù)的UPN將嵌入到證書(shū)中。在進(jìn)行進(jìn)行身份驗(yàn)證時(shí),KDC會(huì)嘗試將 UPN 從證書(shū)映射到用戶(hù)。
嘗試修改用戶(hù)的UPN屬性,如果能夠?qū)⒃搶傩孕薷臑锳D管理員賬號(hào)的UPN,則可以實(shí)現(xiàn)欺騙AD CS獲取AD管理員權(quán)限證書(shū),但是實(shí)際上DC會(huì)對(duì)UPN檢查保持全林唯一。
雖然UPN無(wú)法假冒,但是不代表dnsHostName不可以假冒。在MS-ADTS(3.1.1.5.1.3 唯一性約束)文檔中并沒(méi)有標(biāo)識(shí)dnsHostName屬性具有唯一性。實(shí)際上,通過(guò)下面的漏洞分析也可以發(fā)現(xiàn)實(shí)際這個(gè)屬性可以重復(fù),這也是這個(gè)漏洞產(chǎn)生的主要原因。
漏洞分析復(fù)現(xiàn)
成功利用該漏洞需要滿(mǎn)足以下幾個(gè)必要條件:
- 攻擊者獲取到一個(gè)通過(guò)認(rèn)證的普通域用戶(hù)憑據(jù)或計(jì)算機(jī)賬戶(hù)憑據(jù)
- AD 域內(nèi)已配置了 AD CS 服務(wù)
- Machine模板證書(shū)可以自動(dòng)申請(qǐng)
首先第一步需要獲得一個(gè)已知憑據(jù)的計(jì)算機(jī)賬戶(hù),如果沒(méi)有可以使用普通賬戶(hù)通過(guò)Impacket創(chuàng)建一個(gè)新的計(jì)算機(jī)賬戶(hù)。
默認(rèn)情況下每個(gè)普通用戶(hù)都擁有添加10個(gè)機(jī)器賬戶(hù)的權(quán)限,添加機(jī)器權(quán)限可以通過(guò)編輯組策略控制,在Windows Server 2012以下版本的DC可以通過(guò)用戶(hù)的屬性 MS-DS-Machine-Account-Quota設(shè)置可添加計(jì)算機(jī)賬戶(hù)的數(shù)量。
嘗試直接修改機(jī)器的dnsHostName,提示出現(xiàn)操作錯(cuò)誤(無(wú)法更新屬性值),但是沒(méi)有提示唯一性錯(cuò)誤,因此可以猜測(cè)該值可以修改為DC的dnsHostName,但是出于某種限制,如值的類(lèi)型不對(duì)或者是有某種對(duì)象的值依賴(lài)于該值導(dǎo)致無(wú)法成功更新修改到AD。
觀察使用賬戶(hù)test3創(chuàng)建的主機(jī),發(fā)現(xiàn)其ACL信息非常有意思。雖然是test3創(chuàng)建的計(jì)算機(jī)賬戶(hù),但是機(jī)器賬戶(hù)的所有者卻是Domain Admins賬戶(hù)。機(jī)器賬戶(hù)的中幾條ACL信息非常有價(jià)值,分別是:
- 已驗(yàn)證的到DNS主機(jī)名的寫(xiě)入
- 已驗(yàn)證的到服務(wù)主體名的寫(xiě)入
- 已驗(yàn)證的到計(jì)算機(jī)屬性的寫(xiě)入
這證明創(chuàng)建計(jì)算機(jī)賬戶(hù)的用戶(hù)賬戶(hù)是有計(jì)算機(jī)賬戶(hù)的dnsHostName、servicePrincipalName和其他屬性的寫(xiě)權(quán)限,因此修改dnsHostName屬性值在ACL權(quán)限上是可行的。
通過(guò)普通域用戶(hù)對(duì)其創(chuàng)建主機(jī)的dnsHostName進(jìn)行修改,將值修改為一個(gè)不存在的主機(jī)名發(fā)現(xiàn)成功,因此實(shí)現(xiàn)本漏洞的關(guān)鍵是如何繞過(guò)限制進(jìn)行修改。
在將dnsHostName從mc7.moin.com修改為xxx.moin.com時(shí),發(fā)現(xiàn)該計(jì)算機(jī)賬戶(hù)的servicePricipalName屬性也發(fā)生了變化,其中的兩個(gè)字段包含了新的dnsHostName??梢酝茰y(cè)這個(gè)屬性對(duì)dnsHost Name有依賴(lài)。
查看微軟的官方文檔https://docs.microsoft.com/en-us/windows/win32/adschema/r-validated-spn,發(fā)現(xiàn)官方對(duì)servicePrincipalName屬性的描述為“驗(yàn)證寫(xiě)入權(quán)限以啟用符合計(jì)算機(jī) DNS 主機(jī)名的 SPN 屬性設(shè)置”,因此猜測(cè)是該屬性中對(duì)應(yīng)的值中包含現(xiàn)有的dnsHostName,嘗試刪除servicePrincipalName中包含hostHostName的值,也可直接刪除servicePrincipalName屬性。
在刪除后,通過(guò)修改dnsHostName屬性值為DC的dnHostName,發(fā)現(xiàn)修改成功。
現(xiàn)在成功獲得一個(gè)dnsHostName與域控相同的機(jī)器賬戶(hù),由于創(chuàng)建賬戶(hù)時(shí)指定了賬戶(hù)密碼,因此可以利用該賬戶(hù)欺騙AD CS獲取域控權(quán)限證書(shū)。
該漏洞的主要實(shí)現(xiàn)過(guò)程可以總結(jié)為以下幾步:
- 獲取一個(gè)已知密碼的計(jì)算機(jī)賬戶(hù)
- 刪除計(jì)算機(jī)賬戶(hù)的servicePrincipalName屬性或刪除其中與dnsHostName有關(guān)的值
- 修改dnsHostName為DC的dnsHostName
最后使用該機(jī)器賬戶(hù)向AD CS服務(wù)器申請(qǐng)模版為“Machine”的證書(shū)并保存的本地,此時(shí)獲取的實(shí)際是DC權(quán)限的證書(shū)。
使用該證書(shū)申請(qǐng)TGT,能夠成功獲取域控賬戶(hù)的NT Hash,說(shuō)明證書(shū)有效。這說(shuō)明成功的從普通域用戶(hù)權(quán)限提升到了域控權(quán)限。
查看AD CS服務(wù)器中的證書(shū)申請(qǐng)記錄,也可以看出AD CS認(rèn)為認(rèn)為頒發(fā)的證書(shū)為DC。
痕跡信息
在進(jìn)行修改dnsHostName值時(shí),會(huì)在域控產(chǎn)生事件ID為5136的目錄服務(wù)更改日志。其中的特征為將計(jì)算機(jī)對(duì)象的dNSHostName值修改為DC的名稱(chēng)。
同時(shí)會(huì)產(chǎn)生事件ID為4742的計(jì)算機(jī)管理審核成功日志,日志信息中包含了被修改的計(jì)算機(jī)賬戶(hù)信息和修改后的dnsHostName信息。如若使用此漏洞后需要進(jìn)行痕跡清理,這兩條日志最為關(guān)鍵。
總結(jié)
本次漏洞產(chǎn)生的主要原因是計(jì)算機(jī)賬戶(hù)關(guān)鍵屬性的ACL設(shè)置問(wèn)題和AD CS檢查客戶(hù)端身份不嚴(yán)格導(dǎo)致,結(jié)合之前的samAccountName欺騙漏洞,AD域中涉及身份認(rèn)證標(biāo)識(shí)的問(wèn)題不止一次,微軟在AD域中不用具有唯一性的自動(dòng)編號(hào)字段SID而是其他字段作為身份認(rèn)證標(biāo)識(shí)在安全方面著實(shí)欠妥。
本次漏洞利用簡(jiǎn)單,流量特征不明顯難以檢測(cè),同時(shí)獲取的AD域證書(shū)有效時(shí)間長(zhǎng),因此對(duì)于AD域的提權(quán)和權(quán)限維持都有很高的利用價(jià)值。
分享題目:CVE-2022–26923漏洞分析
新聞來(lái)源:http://www.fisionsoft.com.cn/article/djgodji.html


咨詢(xún)
建站咨詢(xún)
