0x00 背景
最近玩了一个有很有意思的攻击技术,利用黄金证书可以伪造域内任意用户的凭证来pth等操作。
0x01 实践
1)以ADCS ESC11 漏洞为例,利用NTLM Relay,让CA服务器向攻击者控制的任意服务器发起强制认证,再将请求Relay到另一台CA服务器的RPC端点,申请发起强制认证的CA服务器的机器账户的证书。
2)使用获取到的机器账户证书进行Kerberos认证,获取CA机器账户的Hash。
3)通过CA机器账户构造高权限账户(例如domain admin)的白银票据。(该白银票可以用来登录指定那台CA)
4)使用高权限账户白银票据横向到CA命令执行。
5)登录CA服务器导出ADCS证书的私钥。(最简单最好用的方式,运行框输入certsrv.msc)
此处以用户证书为例,运行框输入certmgr.msc

certmgr.msc:
这是个人证书管理控制台,主要用于管理当前用户的证书。通过此控制台,用户可以查看、导入、导出和删除个人证书。它主要用于用户级别的证书管理,适合普通用户或应用程序的证书管理。
certlm.msc:
这是计算机证书管理控制台,用于管理本地计算机的证书。与 certmgr.msc 不同,certlm.msc 管理的是系统级别的证书,包括用于服务和应用程序的证书。管理员可以通过此控制台查看和管理计算机上的所有证书。
certsrv.msc:
这是证书颁发机构(CA)管理控制台。它用于管理 Windows Server 上的证书颁发服务。通过此控制台,管理员可以管理证书请求、颁发和撤销证书,配置证书模板,以及监控证书颁发机构的状态。
这里需要注意:
*.导出私钥
*.选择导出密码时不输入让导出密码为空 (前面试过设定导出密码但是后面导入时失败,有师傅成功可以和我交流下)
*.也可以使用 SharpDPAPI.exe 在CA服务器提取,注入内存执行,但是这个工具不免杀,SEP这种普通的杀软都会隔离。
SharpDPAPI.exe certificates /machine
提取的私钥和证书可以写入扩展名为 .pem 的文件中。执行以下命令可以将证书转换为可用格式,如 .pfx/.p12 允许用于使用 Rubeus 进行身份验证。
openssl pkcs12 -in cert.pem -keyex -CSP "Microsoft Enhanced Cryptographic Provider v1.0" -export -out cert.pfx
但是后面 linux版 certipy 不支持导入的证书私钥带密码,windows 版 certify.exe 虽然支持但是我试验没导入成功带密码的私钥,windows版的 forgecert.exe GitHub - GhostPack/ForgeCert: "Golden" certificates (c# 需要自己编译) 虽然支持但是我试验也没导入成功。
所以我导出私钥没带密码。且用SharpDPAPI.exe生成的不带密码证书也没认证成功。只有gui手动导出的无密码CA认证成功了。
6)使用 certipy forge 和 certipy auth 连招获取 DC 机器账户Hash
certipy auth 依赖 upn、dn 和 crl 等参数。
7) 使用 ticketer 利用DC机器账户Hash构造一张域管访问DC CIFS服务的白银票。
8) 白银票据 ptt 到DC (注意协议/工具等)
export KRB5CCNAME=xx.ccache
0x02 后记
It should be noted that the certificate must be created for an active user on the domain. Therefore it cannot be used for the “krbtgt” account. The forging certificate will have a validity period of 1 year and will be valid as long as the CA certificate is valid (typically 5 years). Except of domain user accounts, machine accounts could be used as well for domain persistence as techniques such as DCSync, Pass the Ticket and S4U2Self can be utilized.
0x03 reference
ADCS知识点全收录! 如何利用证书服务器对域控进行多角度攻击(上)
ADCS知识点全收录! 如何利用证书服务器对域控进行多角度攻击(中)
ADCS知识点全收录! 如何利用证书服务器对域控进行多角度攻击(下)
NetStar出品 | 一本关于“ADCS”最通俗的技术读物Part IV:ESC11-13
Golden Certificate – Penetration Testing Lab (腾讯云翻译的原文)
https://www.thehacker.recipes/ad/persistence/adcs/golden-certificate
新一代Kerberos攻击 钻石票据与蓝宝石票据 - mt0u - 博客园 (To read)

1060

被折叠的 条评论
为什么被折叠?



