最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

揭秘域管理員提權(quán)路徑:使用ESC5從DA到EA

2023-07-14 18:44 作者:北京中安網(wǎng)星  | 我要投稿

一種從域管理員提權(quán)到企業(yè)管理員的全新攻擊路徑。

一、ESC5

ESC5又被稱為“易受攻擊的PKI對象訪問控制”。Will Schroeder和Lee Christensen編寫的《Certified Pre-Owned》白皮書在討論ESC5時提到了三類對象:

  • CA服務(wù)器的AD計(jì)算機(jī)對象(即通過S4U2Self或S4U2Proxy進(jìn)行攻擊)

  • CA服務(wù)器的RPC/DCOM 服務(wù)

  • 容器中的子對象或子容器(例如證書模板容器、證書頒發(fā)機(jī)構(gòu)容器、NTAuthCertificates 對象、注冊服務(wù)容器等)

本文主要討論第三項(xiàng)的工作原理,并演示如何使用它通過域信任提升到企業(yè)管理員。

二、ADCS LDAP 層次結(jié)構(gòu)

ADCS在LDAP中存儲有關(guān)CA和證書模板的信息,可以通過打開ADSI并連接到配置命名上下文(Configuration NC)來查看這些對象。然后向下檢索:

Configuration > Services > Public Key Services

下面是該層次結(jié)構(gòu)的圖表,包括將要濫用的對象:

"Certificate Templates"容器存儲著可以發(fā)布到ADCSCA的模板。查看下述對話框,它能夠幫助列出該容器中的所有模板對象:

"Enrollment Services"容器為每個CA存儲一個pKIEnrollmentService對象。這些對象在其"Certificate Templates"屬性上列出了已“發(fā)布”到CA的模板:

這是需要控制來執(zhí)行ESC5?的兩個LDAP對象,包括一個證書模板和 pKIEnrollmentService對象。假設(shè)pKIEnrollmentService對象與受信任執(zhí)行域身份驗(yàn)證的CA相關(guān)聯(lián),并且它要么作為根CA受信任,要么鏈接到根CA。

三、Configuration NC的特殊現(xiàn)象

在展示如何進(jìn)行攻擊之前,需要了解一些基礎(chǔ)知識。

配置命名上下文(Configuration NC)是ActiveDirectory中存儲著整個林范圍配置數(shù)據(jù)的位置,子域在復(fù)制配置數(shù)據(jù)時必須從這里復(fù)制。Configuration NC的Distinguished Name為CN=Configuration,DC=example,DC=local,其中DC=example,DC=local是林根域的DN。

正如您所預(yù)想的那樣,如果配置中的某個對象在林根域處發(fā)生更改,則該更改會向下復(fù)制到林中的所有域。但您可能不知道的是,反之亦然:如果配置中的對象在子域中發(fā)生更改,則該更改會復(fù)制到林根。這是因?yàn)榱种械拿總€可寫域控制器都有一個林配置命名上下文(Configuration NC)的可寫副本。

Jonas Bülow Knudsen、Martin Sohn Christensen和 Tobias Thorbj?rn Munch Torp 撰寫了一篇博客文章(improsec.com/tech-blog/),文章中提到他們?yōu)E用此機(jī)制,通過濫用指向站點(diǎn)的GPO鏈接,從子域中的域管理員升級到林根中的企業(yè)管理員。

這里是一個實(shí)驗(yàn)環(huán)境,域管理員有一個名為ForestRoot.local的林根域和一個名為ChildDomain.ForestRoot.Local的子域:

當(dāng)連接到子域的配置命名上下文(Configuration NC)時,查看公鑰服務(wù)容器的DN,然后查看配置命名上下文(Configuration NC)的域名:

這里查看的其實(shí)是林根域?qū)ο蟮淖佑虮镜馗北尽?/p>

現(xiàn)在看一下此對象的安全描述符:

作為子域中的域管理員,無法控制此對象。您可以看到此處添加ACE的按鈕變灰,但需要注意到SYSTEM主體對此對象具有完全控制權(quán)。

關(guān)閉MMC并重新打開它,但這次使用PsExec以SYSTEM用戶身份啟動MMC:

再次連接到域本地配置命名上下文(Configuration NC),導(dǎo)航到Public Key Services容器,并顯示其安全描述符:

現(xiàn)在可以添加ACE。向該對象添加一個ACE,以便Bob?-?子域中的用戶?-完全控制該容器:

現(xiàn)在再看一下Public Key Services容器,但這次是在林根域控制器上的配置命名上下文(Configuration NC)中:

可以看到ACE已經(jīng)從子域復(fù)制到了林根域。

四、整合

當(dāng)想濫用LDAP中PKI對象的控制時,至少需要以下能力來執(zhí)行 ESC5:

  • 能夠?qū)⑿履0逄砑拥阶C書模板容器。

  • 對與林根CA關(guān)聯(lián)的pKIEnrollmentService對象的寫入訪問權(quán)限,以及與NT身份驗(yàn)證可信的CA關(guān)聯(lián)或鏈接到的pKIEnrollmentService 對象。

接下來將向您展示如何將子域中的域管理員轉(zhuǎn)換為林根目錄中的企業(yè)管理員。通過之前的知識您可以看到,作為子域中的域管理員,可以完全控制Public Key Services容器。

雖然無法完全控制 pKIEnrollmentService 對象,但可以授予自己其控制權(quán),因?yàn)樵搶ο髥⒂昧藱?quán)限繼承:

但是默認(rèn)模板禁用了權(quán)限繼承,作為子域中的域管理員無法控制它們:

接下來看一下Certificate Templates容器本身的安全描述符:

使用PsExec以SYSTEM用戶身份在子DC上啟動MMC:

然后,將連接到域本地配置命名上下文(Configuration NC)并導(dǎo)航到Certificate Templates容器?,F(xiàn)在可以完全控制該對象,其中包括添加子對象的能力。

可以用SYSTEM用戶身份打開certsrv.msc,然后復(fù)制現(xiàn)有模板:

打開新模板的屬性,通過在模板配置以下選項(xiàng)來執(zhí)行ESC1:

1.向在子域中控制的主體授予注冊權(quán)限。

2.將客戶端身份驗(yàn)證包含在應(yīng)用程序策略中。

3.允許證書請求中的 SAN。

4.未啟用管理員批準(zhǔn)或授權(quán)簽名。

將新模板寫入企業(yè)配置命名上下文(Configuration NC)的子域副本中,然后它將自行復(fù)制到林根域控制器的配置命名上下文(Configuration NC)中:

現(xiàn)在,需要將模板發(fā)布到CA??梢酝ㄟ^濫用對該對象的完全控制,以子DC上的SYSTEM用戶身份執(zhí)行此操作:

當(dāng)證書在此對象的certificateTemplates屬性上列出時,證書就會“發(fā)布”到CA。所以說,想將模板“發(fā)布”到CA,需要做的就是將模板添加到該列表中:

如果在林根域控制器上啟動certsrv.ms 并檢查CA的“證書模板”,確實(shí)可以看到這個新的惡意模板現(xiàn)在已“發(fā)布”并可供使用:

現(xiàn)在準(zhǔn)備工作已經(jīng)完成,可以執(zhí)行 ESC1 將子域中的 DA 轉(zhuǎn)換為林根域的 EA。

使用 Certify 來獲取證書,指定惡意模板和想要模擬的企業(yè)管理員:

使用openssl將證書轉(zhuǎn)換為PFX:

通過 RDP 連接將 PFX 放到子域DC上,使用Rubeus為企業(yè)管理員用戶獲取 TGT:

可以通過wmic證明TGT是有效的:

五、基于圖表思考

用圖表來描述這個攻擊路徑將有助于理解所有的橫向移動關(guān)鍵點(diǎn)。

從林根域及其配置命名上下文(Configuration NC)中的相關(guān)對象開始,青色節(jié)點(diǎn)是根域,橙色節(jié)點(diǎn)是容器,紫色節(jié)點(diǎn)是C 對象:

現(xiàn)在添加與林根域具有雙向信任的子域:

子域具有林根域的配置命名上下文(Configuration NC)的子域本地副本:

對子域中的域本地對象所做的更改將復(fù)制到林根域中的相應(yīng)對象:

子域的域控制器上的SYSTEM用戶可以完全控制從林根域的配置命名上下文(Configuration NC)復(fù)制到本地子域的某些對象:

對"Certificate Templates"容器的完全控制意味著能夠向該容器添加新對象。此處添加的任何新模板也會復(fù)制到林根域:

CA是林根域的根CA,林根域有著自己的用戶,如ForestRootDA用戶:

紅色邊緣顯示了從子域的域控制器到林根域管理員的整個攻擊路徑:


這篇文章展示了攻擊者如何使用ESC5,然后使用ESC1將子域中的DA轉(zhuǎn)換為林根域處的EA。

還有一些問題需要花時間去思考:如果 ADCS 尚未部署怎么辦?例如,如果完全控制"Public Key Services"容器但沒有CA,是否可以引導(dǎo)必要的LDAP對象并頒發(fā)CA將DA轉(zhuǎn)變?yōu)镋A?


*本文部分節(jié)選自SpecterOps公司發(fā)表的《From DA to EA with ESC5》一文。

原文鏈接:https://specterops.io/blog/2023/05/16/from-da-to-ea-with-esc5/



揭秘域管理員提權(quán)路徑:使用ESC5從DA到EA的評論 (共 條)

分享到微博請遵守國家法律
深水埗区| 安福县| 海阳市| 沂源县| 北票市| 原阳县| 喀喇沁旗| 青河县| 开封县| 行唐县| 兴仁县| 开原市| 巴彦县| 象州县| 离岛区| 清镇市| 抚顺县| 广水市| 沙坪坝区| 启东市| 黄冈市| 绥宁县| 永春县| 施秉县| 明光市| 江门市| 南岸区| 马关县| 长汀县| 北流市| 郸城县| 龙里县| 洮南市| 永定县| 永清县| 石嘴山市| 青神县| 牟定县| 五寨县| 宣恩县| 彭州市|