8
月
在社区成长 8 月
LEVEL 30
100 XP
ESC11(企业安全控制11)代表针对Active Directory 证书服务(AD CS) 的复杂攻击路径,利用危险的漏洞组合。这种高级安全威胁利用仅RPC 证书注册强制执行、NTLM 中继漏洞以及强制从特权计算机(包括域控制器)进行NTLM 身份验证的强制技术。因此,ESC11 为潜在的权限升级和未经授权的访问打开了大门,使其成为依赖AD CS 进行证书管理的组织的一个关键问题。了解并减轻ESC11 的风险对于保护Active Directory 环境免受这些复杂且不断变化的威胁至关重要。
为了应对安全问题,Microsoft 建议在证书颁发机构上设置特定的注册表标志,以对证书请求强制加密。推荐命令是:
certutil -setreg CA\InterfaceFlags -IF_ENFORCEENCRYPTICERTREQUEST
这可确保所有证书请求均通过加密的RPC 而不是HTTP 等不安全通道进行。然而,具有讽刺意味的是,这种配置创建了一个潜在的漏洞,因为它为ESC11 打开了大门,特别是当RPC 端点仍然容易受到NTLM 中继攻击时。
已发布的易受攻击的模板(例如,DomainController): 颁发可用于Kerberos 身份验证的证书的模板。
不受保护的CA RPC 端点: 无SMB 签名、无身份验证扩展保护(EPA),且无NTLM 中继保护。
无强制活动监控: 缺少NTLM 身份验证强制流的日志记录。
ESC8:Enrollment Target: 通过HTTP 进行Web 注册。
身份验证路径: NTLM 通过HTTP 中继。
触发方法: 使用PetitPotam 和HTTP relayCA 设置Focus: 利用证书颁发机构设置中基于Web 的错误配置。
被利用的模板:主要是DomainController和UserESC11:Enrollment Target: CA RPC接口。
身份验证Path: NTLM 通过RPC 中继。
触发方法: 利用Coercer 或NXC 工具与RPC relayCA 设置Focus: 利用加密的RPC 要求,特别是IF_ENFORCEENCRYPTICERTREQUEST 注册表设置。
被利用的模板: 主要是DomainControllerNote: 虽然组织可以通过禁用Web 注册或强制执行加密的RPC 证书请求来缓解ESC8,但ESC11 会绕过这些防御。 ESC11 不像ESC8 那样滥用HTTP,而是利用基于RPC 的证书颁发,绕过现有的加密措施。
对于本演练,我们将假设以下网络设置作为先决条件
Active Directory 证书服务和证书颁发机构配置为启用RPC 加密强制
Kali Linux 包含各种工具
工具: NXC、强制、certipy-ad、Impacket-psexec
为了模拟针对ESC8 的防御,需要在CA 上启用RPC 加密强制。此操作可确保所有证书请求都经过加密,需要使用RPC 进行证书注册。然而,这种安全措施直接促进了ESC11,允许攻击者将攻击从HTTP 转向RPC。
在CA 上启用RPC 加密强制要在CA 上启用此设置,请运行以下命令:
certutil -setreg CA\InterfaceFlags -IF_ENFORCEENCRYPTICERTREQUEST
这会强制向CA 发出的所有证书请求都通过加密的RPC 通道进行,这是通过中继触发ESC11 的要求。
Note: 启用RPC 加密可以保护证书请求的安全,但它也为ESC11 创造了利用同一通道的机会。
certipy-ad find -u '[email protected]' -p 'Password@1' -dc-ip 192.168.1.4 -易受攻击
此命令查询Active Directory 以查找证书模板,这些模板允许我们在可能利用基于RPC 的注册的条件下请求证书,特别是关注DomainController 模板。
让我们回顾一下保存的输出
正如我们所看到的,ICPR 请求并未强制加密,从而为ESC11 留下了潜在的攻击向量。
certipy-ad 中继-目标'rpc://192.168.1.10' -ca 'ignite-DC2-CA' -template DomainController
此时,中继侦听器已准备就绪,正在等待来自特权计算机的NTLM 身份验证。当捕获到身份验证时,它将被转发到CA 的RPC 接口,以便在DomainController 模板下进行证书注册。
目录
概述导致ESC11 的ESC11 攻击密钥错误配置ESC8 与ESC11 – 这些攻击有何不同先决条件实验室设置用于域控制器证书滥用的枚举利用强制和RPC 中继链利用后利用通过Impacket PsExecMitigation 获得完整的系统ShellESC11 攻击概述
ESC11是针对Active Directory 证书服务(AD CS) 的高级攻击路径,利用危险的漏洞组合。它利用仅RPC 证书注册实施、易受攻击的NTLM 中继机会和强制技术来强制从特权计算机(例如域控制器)进行NTLM 身份验证。为了应对安全问题,Microsoft 建议在证书颁发机构上设置特定的注册表标志,以对证书请求强制加密。推荐命令是:
certutil -setreg CA\InterfaceFlags -IF_ENFORCEENCRYPTICERTREQUEST
这可确保所有证书请求均通过加密的RPC 而不是HTTP 等不安全通道进行。然而,具有讽刺意味的是,这种配置创建了一个潜在的漏洞,因为它为ESC11 打开了大门,特别是当RPC 端点仍然容易受到NTLM 中继攻击时。
促进 ESC11 的关键错误配置
IF_ENFORCEENCRYPTICERTREQUEST 已启用: 强制RPC 注册,使CA 容易受到RPC 中继攻击已发布的易受攻击的模板(例如,DomainController): 颁发可用于Kerberos 身份验证的证书的模板。
不受保护的CA RPC 端点: 无SMB 签名、无身份验证扩展保护(EPA),且无NTLM 中继保护。
无强制活动监控: 缺少NTLM 身份验证强制流的日志记录。
ESC8 与 ESC11 – 这些攻击有何不同
ESC8 和ESC11 是针对Active Directory 证书服务(AD CS) 的高级攻击路径,利用证书注册过程中的各种漏洞。虽然这两种攻击都利用NTLM 中继技术,但它们在方法、目标和潜在弱点方面存在显着差异。ESC8:Enrollment Target: 通过HTTP 进行Web 注册。
身份验证路径: NTLM 通过HTTP 中继。
触发方法: 使用PetitPotam 和HTTP relayCA 设置Focus: 利用证书颁发机构设置中基于Web 的错误配置。
被利用的模板:主要是DomainController和UserESC11:Enrollment Target: CA RPC接口。
身份验证Path: NTLM 通过RPC 中继。
触发方法: 利用Coercer 或NXC 工具与RPC relayCA 设置Focus: 利用加密的RPC 要求,特别是IF_ENFORCEENCRYPTICERTREQUEST 注册表设置。
被利用的模板: 主要是DomainControllerNote: 虽然组织可以通过禁用Web 注册或强制执行加密的RPC 证书请求来缓解ESC8,但ESC11 会绕过这些防御。 ESC11 不像ESC8 那样滥用HTTP,而是利用基于RPC 的证书颁发,绕过现有的加密措施。
对于本演练,我们将假设以下网络设置作为先决条件
先决条件
Windows Server 2019 作为支持PKINIT 的Active DirectoryActive Directory 证书服务和证书颁发机构配置为启用RPC 加密强制
Kali Linux 包含各种工具
工具: NXC、强制、certipy-ad、Impacket-psexec
实验室设置
请注意,我们不会在这里深入研究完整的域或ADCS 部署过程,但我们将重点关注ESC11 漏洞利用技术,该技术针对基于RPC 的证书颁发。为了模拟针对ESC8 的防御,需要在CA 上启用RPC 加密强制。此操作可确保所有证书请求都经过加密,需要使用RPC 进行证书注册。然而,这种安全措施直接促进了ESC11,允许攻击者将攻击从HTTP 转向RPC。
在CA 上启用RPC 加密强制要在CA 上启用此设置,请运行以下命令:
certutil -setreg CA\InterfaceFlags -IF_ENFORCEENCRYPTICERTREQUEST
这会强制向CA 发出的所有证书请求都通过加密的RPC 通道进行,这是通过中继触发ESC11 的要求。
Note: 启用RPC 加密可以保护证书请求的安全,但它也为ESC11 创造了利用同一通道的机会。
枚举利用
用于域控制器证书滥用的强制和 RPC 中继链
现在我们已经在证书颁发机构(CA) 上启用了RPC 加密强制执行,让我们开始发现可能被滥用的易受攻击的证书模板。具体来说,DomainController 模板通常是ESC11 中的目标,因为它允许计算机帐户请求证书,这最终可能促进权限升级或对域控制器的进一步攻击。发现易受攻击的证书模板
要识别可能被滥用的易受攻击的证书模板,可以从攻击者的计算机(Kali) 运行以下命令:certipy-ad find -u '[email protected]' -p 'Password@1' -dc-ip 192.168.1.4 -易受攻击
此命令查询Active Directory 以查找证书模板,这些模板允许我们在可能利用基于RPC 的注册的条件下请求证书,特别是关注DomainController 模板。
让我们回顾一下保存的输出
正如我们所看到的,ICPR 请求并未强制加密,从而为ESC11 留下了潜在的攻击向量。
启动到 CA 的 RPC 端点的第一次中继
我们使用以下命令向CA 的RPC 端点发起第一次NTLM 中继尝试:certipy-ad 中继-目标'rpc://192.168.1.10' -ca 'ignite-DC2-CA' -template DomainController
此时,中继侦听器已准备就绪,正在等待来自特权计算机的NTLM 身份验证。当捕获到身份验证时,它将被转发到CA 的RPC 接口,以便在DomainController 模板下进行证书注册。