網(wǎng)站制作預(yù)付款會計分錄小程序運營推廣公司
一、引言
在現(xiàn)代企業(yè)網(wǎng)絡(luò)環(huán)境中,Active Directory Certificate Services(AD CS) 是微軟提供的一項關(guān)鍵服務(wù),用于構(gòu)建和管理公鑰基礎(chǔ)設(shè)施(PKI)。AD CS通過頒發(fā)和管理數(shù)字證書,支持多種安全場景,例如智能卡登錄、Wi-Fi/VPN認(rèn)證、加密文件系統(tǒng)(EFS)以及自動化證書注冊。然而,AD CS的復(fù)雜性和配置靈活性使其成為攻擊者的潛在目標(biāo)。一旦配置不當(dāng),攻擊者可以利用AD CS的漏洞迅速從普通域用戶提權(quán)至域管理員,威脅整個域環(huán)境的完整性。
二、AD CS攻擊簡介
2.1 AD CS的核心功能
AD CS是Active Directory環(huán)境中用于管理數(shù)字證書的核心組件,其主要功能包括:
- 證書頒發(fā)機構(gòu)(CA):負(fù)責(zé)生成、頒發(fā)和撤銷數(shù)字證書。
- 智能卡登錄:通過證書實現(xiàn)高安全性的用戶認(rèn)證。
- Wi-Fi和VPN認(rèn)證:利用證書確保設(shè)備和用戶的安全連接。
- 加密文件系統(tǒng)(EFS):為文件提供基于證書的加密保護。
- 自動化證書注冊(Autoenrollment):簡化證書的分發(fā)和管理流程。
- 網(wǎng)絡(luò)設(shè)備注冊服務(wù)(NDES):支持非域設(shè)備(如路由器)獲取證書。
- Web Enrollment:通過Web界面提供證書申請功能。
這些功能使AD CS成為企業(yè)安全基礎(chǔ)設(shè)施的重要組成部分,但也因其復(fù)雜性帶來了潛在風(fēng)險。
2.2 AD CS攻擊的威脅
AD CS攻擊的核心目標(biāo)是利用CA服務(wù)或證書模板的配置漏洞,偽造高權(quán)限用戶(如域管理員)的身份,從而獲取對域控制器的完全控制。常見的攻擊場景包括:
- 偽造Kerberos票據(jù)(TGT):通過偽造用戶身份獲取域內(nèi)任意服務(wù)的訪問權(quán)限。
- 權(quán)限提升:從低權(quán)限用戶(如普通域用戶)提權(quán)至域管理員。
- 持久化攻擊:利用證書實現(xiàn)長期的隱秘訪問。
由于AD CS的廣泛部署(尤其在大型企業(yè)中),攻擊者只需滿足少量條件即可實施高危攻擊。因此,深入了解AD CS攻擊的條件和原理對紅藍(lán)雙方都至關(guān)重要。
三、AD CS攻擊的前提條件與環(huán)境特征
要成功實施AD CS攻擊,攻擊者需要滿足一系列網(wǎng)絡(luò)、權(quán)限和配置條件。以下是詳細(xì)的前提條件分析。
3.1 網(wǎng)絡(luò)層面前提
攻擊者需要在目標(biāo)域環(huán)境中獲得初始立足點(Foothold),這通常包括以下情況:
- 域內(nèi)用戶憑據(jù):攻擊者通過釣魚、密碼噴灑或漏洞利用獲取普通域用戶賬戶。
- 普通域權(quán)限:如域用戶組(Domain Users)的默認(rèn)權(quán)限。
- 機器權(quán)限:控制域內(nèi)某臺工作站或服務(wù)器的本地管理員權(quán)限。
- 網(wǎng)絡(luò)連通性:攻擊者需要與目標(biāo)CA服務(wù)器通信,通常通過以下協(xié)議:
- HTTP/HTTPS:用于訪問Web Enrollment服務(wù)(如
certsrv
)。 - DCOM/RPC:用于與CA服務(wù)器交互或執(zhí)行證書請求。
- HTTP/HTTPS:用于訪問Web Enrollment服務(wù)(如
如果目標(biāo)網(wǎng)絡(luò)啟用了防火墻或網(wǎng)絡(luò)分段,攻擊者可能需要進(jìn)一步利用代理(如SOCKS)或橫向移動技術(shù)來確保通信暢通。
3.2 AD CS部署特征
目標(biāo)環(huán)境中必須部署AD CS,且包含以下組件之一:
- 企業(yè)CA(Enterprise CA):與Active Directory深度集成,允許基于域用戶權(quán)限的證書申請。
- Web Enrollment服務(wù):通過Web界面(如
https://<CA-Server>/certsrv
)提供證書申請功能,通常是攻擊的切入點。 - 網(wǎng)絡(luò)設(shè)備注冊服務(wù)(NDES):允許非域設(shè)備申請證書,某些場景下可能被濫用。
- 證書模板:企業(yè)CA的核心組件,定義了證書的用途、權(quán)限和屬性。攻擊者通常針對配置不當(dāng)?shù)哪0逭归_攻擊。
3.3 配置漏洞(攻擊的關(guān)鍵)
AD CS攻擊的成功往往依賴于目標(biāo)環(huán)境的配置錯誤。以下是常見的漏洞類型:
3.3.1 弱權(quán)限控制的證書模板(Misconfigured Certificate Templates)
證書模板是AD CS攻擊的核心目標(biāo)。以下配置錯誤可能導(dǎo)致模板被濫用:
- 低權(quán)限用戶可注冊:模板允許
Authenticated Users
或低權(quán)限組(如Domain Users)申請證書。 - 啟用高危EKU:模板包含
Client Authentication
(客戶端認(rèn)證)或Smartcard Logon
(智能卡登錄)擴展密鑰用法(EKU),可用于Kerberos認(rèn)證。 - 支持ALT UPN:模板允許在證書的
Subject Alternative Name(SAN)
字段中指定任意用戶主名稱(UPN),從而偽造高權(quán)限用戶身份。 - 自定義SAN:攻擊者可以自由指定SAN字段,構(gòu)造惡意證書。
攻擊場景(ESC1):攻擊者利用支持Client Authentication
且允許低權(quán)限用戶申請的模板,請求包含域管理員UPN的證書,進(jìn)而通過PKINIT協(xié)議獲取域管理員的TGT。
3.3.2 證書模板濫用(ESC系列漏洞)
SpecterOps的研究團隊提出了ESC(Exploitable Security Configuration)系列漏洞,總結(jié)了AD CS中常見的模板濫用場景。以下是主要漏洞類型:
漏洞編號 | 條件 | 描述 |
---|---|---|
ESC1 | 模板允許Authenticated Users 請求,EKU包含客戶端認(rèn)證 | 攻擊者可申請包含任意UPN的證書,用于偽造Kerberos TGT。 |
ESC2 | 模板允許“任意主體”注冊,支持自定義UPN | 攻擊者可偽造任何用戶身份,包括域管理員。 |
ESC3 | 模板允許簽名證書用于身份認(rèn)證 | 攻擊者可利用簽名證書執(zhí)行S4U2Self/S4U2Proxy攻擊。 |
ESC6 | 攻擊者可寫入危險模板屬性 | 通過修改模板配置實現(xiàn)橫向移動或權(quán)限提升。 |
ESC8 | CA允許任意模板申請 | 攻擊者可利用未授權(quán)模板注冊高權(quán)限證書。 |
3.3.3 Web Enrollment服務(wù)漏洞
Web Enrollment服務(wù)(certsrv
)通常通過HTTP/HTTPS提供證書申請功能。如果該服務(wù)未啟用身份驗證或配置不當(dāng),攻擊者可能通過以下方式濫用:
- 使用工具如
certreq
或certutil
直接申請證書。 - 結(jié)合
PetitPotam
和NTLM Relay
攻擊,強制CA服務(wù)器向攻擊者控制的服務(wù)器發(fā)起認(rèn)證,竊取憑據(jù)或證書。
3.3.4 CA服務(wù)賬戶權(quán)限錯誤
CA服務(wù)器的權(quán)限配置不當(dāng)可能導(dǎo)致嚴(yán)重后果,例如:
- CA服務(wù)以域管理員賬戶運行:攻擊者可直接提取高權(quán)限憑據(jù)。
- CA服務(wù)賬戶擁有過多權(quán)限:如對域?qū)ο蟮膶憴?quán)限,可用于提權(quán)或持久化。
3.4 工具支持的環(huán)境
AD CS攻擊依賴于成熟的工具鏈和域環(huán)境的默認(rèn)配置:
- AD CS服務(wù)啟用:目標(biāo)域內(nèi)至少存在一臺CA服務(wù)器。
- Kerberos認(rèn)證:Active Directory默認(rèn)使用的認(rèn)證協(xié)議,支持PKINIT(基于證書的Kerberos認(rèn)證)。
- 常用工具:
- Certify:用于枚舉CA服務(wù)器和證書模板。
- Certipy:支持證書申請、濫用和Kerberos票據(jù)生成。
- Rubeus:執(zhí)行PKINIT認(rèn)證,獲取TGT。
- Mimikatz:提取憑據(jù)或執(zhí)行后續(xù)攻擊。
四、AD CS攻擊的基本原理與典型攻擊鏈
4.1 攻擊原理概述
AD CS攻擊的核心在于利用CA服務(wù)或證書模板的配置漏洞,生成偽造的高權(quán)限證書。攻擊者通過以下步驟實現(xiàn)提權(quán):
- 枚舉環(huán)境:識別CA服務(wù)器、可用模板和權(quán)限配置。
- 申請惡意證書:利用弱權(quán)限模板,請求包含高權(quán)限用戶(如域管理員)UPN的證書。
- 偽造身份:使用惡意證書通過PKINIT協(xié)議獲取Kerberos TGT。
- 權(quán)限提升:利用TGT訪問域控制器或其他高價值目標(biāo)。
4.2 典型攻擊鏈:ESC1場景
以下是一個基于ESC1漏洞的完整攻擊流程,假設(shè)攻擊者已獲得普通域用戶憑據(jù):
- 獲取初始憑據(jù):通過釣魚或漏洞利用獲得普通域用戶賬戶(如
user1@domain.local
)。 - 枚舉證書模板:使用
Certify
運行以下命令,枚舉CA服務(wù)器和可用模板:
輸出顯示存在一個名為UserCert的模板,支持Certify.exe /ca:ca.corp.local\Corp-CA /enum
Client Authentication
,允許Authenticated Users
申請。 - 確認(rèn)漏洞:檢查模板是否允許自定義SAN字段。
- 申請惡意證書:使用
Certipy
請求包含域管理員UPN的證書:
輸出為一個PFX格式的證書文件。certipy req -u user1@domain.local -p password -ca Corp-CA -template UserCert -upn admin@domain.local
- 執(zhí)行PKINIT認(rèn)證:使用
Rubeus
將證書轉(zhuǎn)換為Kerberos TGT:
輸出為域管理員的TGT。Rubeus.exe asktgt /user:admin@domain.local /certificate:user1.pfx
- 訪問域控制器:使用TGT通過
Mimikatz
或其他工具訪問域控制器,提取所有域憑據(jù):mimikatz.exe "sekurlsa::logonpasswords" "exit"
結(jié)果:攻擊者從普通域用戶提權(quán)至域管理員,獲得對整個域環(huán)境的完全控制。
五、優(yōu)化與高級攻擊策略
5.1 提高攻擊隱蔽性
為避免觸發(fā)防御機制(如EDR或SIEM),攻擊者可優(yōu)化以下方面:
- 減少網(wǎng)絡(luò)指紋:通過代理(如
proxychains
)隱藏請求來源。 - 繞過監(jiān)控:使用混淆后的工具或自定義
Certipy
腳本,避免特征檢測。 - 清理日志:在申請證書后,刪除或修改CA服務(wù)器的日志記錄(如
Event ID 4886
)。
5.2 結(jié)合其他攻擊向量
AD CS攻擊可與其他技術(shù)結(jié)合,形成更復(fù)雜的攻擊鏈:
- NTLM Relay:利用
PetitPotam
強制CA服務(wù)器發(fā)起NTLM認(rèn)證,結(jié)合Web Enrollment服務(wù)竊取憑據(jù)。 - Golden Ticket:在獲取域管理員TGT后,生成長期有效的Golden Ticket以實現(xiàn)持久化。
- Pass-the-Ticket:將TGT傳遞到其他攻擊節(jié)點,擴大攻擊范圍。
5.3 防御與緩解措施
防御者可通過以下措施降低AD CS攻擊的威脅:
- 加固證書模板:
- 禁用不必要的模板,限制
Authenticated Users
的申請權(quán)限。 - 移除高危EKU(如
Client Authentication
)或禁止自定義SAN。
- 禁用不必要的模板,限制
- 限制CA服務(wù)權(quán)限:
- 確保CA服務(wù)以低權(quán)限賬戶運行,避免使用域管理員賬戶。
- 啟用監(jiān)控:
- 監(jiān)控CA服務(wù)器的異常證書申請事件(如
Event ID 4887
)。 - 檢查Kerberos認(rèn)證日志,檢測異常的PKINIT請求。
- 監(jiān)控CA服務(wù)器的異常證書申請事件(如
- 網(wǎng)絡(luò)隔離:
- 限制CA服務(wù)器與普通工作站的直接通信,啟用強認(rèn)證。
- 定期審計:
- 使用工具如
PingCastle
或BloodHound
定期掃描AD CS配置,識別潛在漏洞。
- 使用工具如
六、總結(jié)
AD CS攻擊是現(xiàn)代域環(huán)境滲透測試中的高級技術(shù),利用了企業(yè)CA和證書模板的配置缺陷,進(jìn)而為攻擊者提供了從普通域用戶到域管理員的快速提權(quán)路徑。通過深入理解AD CS的配置、漏洞和攻擊鏈,紅隊可以更高效地發(fā)現(xiàn)和利用漏洞,而藍(lán)隊則可以采取加固措施降低風(fēng)險。