终极指南:如何利用ForgeCert工具实现DPERSIST1攻击向量的实战应用

📅 2026/7/28 8:32:08 👁️ 阅读次数 📝 编程学习
终极指南:如何利用ForgeCert工具实现DPERSIST1攻击向量的实战应用

终极指南:如何利用ForgeCert工具实现DPERSIST1攻击向量的实战应用

【免费下载链接】ForgeCert"Golden" certificates项目地址: https://gitcode.com/gh_mirrors/fo/ForgeCert

ForgeCert是一款强大的安全工具,它利用BouncyCastle C# API和被盗的证书颁发机构(CA)证书及私钥,为任意用户伪造能够对Active Directory进行身份验证的证书。这种攻击在"Certified Pre-Owned"白皮书中被编码为DPERSIST1,本文将详细介绍其实战应用。

🚨 什么是DPERSIST1攻击向量?

DPERSIST1是一种利用被盗CA证书和私钥来伪造身份验证证书的攻击方法。正如白皮书中"背景"和"使用被盗CA证书伪造证书 - DPERSIST1"部分所述,证书颁发机构(CA)证书的私钥通过DPAPI或硬件(HSM/TPM)在CA服务器上受到保护。此外,证书(不含私钥)会发布到NTAuthCertificates森林对象,该对象定义了启用AD身份验证的CA证书。

📊 证书伪造的工作流程

证书伪造过程涉及多个关键步骤,以下是简化的工作流程:

图:证书注册流程示意图,展示了客户端与企业CA服务器之间的证书请求和颁发过程

  1. 客户端生成密钥对:客户端(用户或计算机)生成公钥/私钥对
  2. 发送证书请求:客户端向企业CA服务器发送证书请求(CSR)
  3. CA验证请求:CA服务器检查证书模板是否存在、CSR中的设置是否被证书模板允许以及用户是否被允许注册证书
  4. 生成并签署证书:CA生成证书并使用CA私钥对其进行签名
  5. 存储证书:客户端将证书存储在Windows证书存储中,并使用证书执行允许的操作(身份验证、代码签名等)

🔧 ForgeCert工具的核心功能

ForgeCert使用BouncyCastle的X509V3CertificateGenerator来执行证书伪造。该工具的主要功能包括:

  • 利用被盗的CA证书和私钥生成伪造证书
  • 支持为任意用户创建可用于AD身份验证的证书
  • 提供灵活的命令行选项以定制证书属性

基本命令示例

C:\Tools\ForgeCert>ForgeCert.exe --CaCertPath ca.pfx --CaCertPassword "Password123!" --Subject "CN=User" --SubjectAltName "localadmin@theshire.local" --NewCertPath localadmin.pfx --NewCertPassword "NewPassword123!"

⚠️ 防御与缓解措施

虽然DPERSIST1攻击强大,但仍有一些防御和缓解措施可以实施:

  1. 保护CA私钥:确保CA私钥受到严格保护,最好使用硬件安全模块(HSM)或TPM
  2. 实施OCSP检查:如Fabian Bader所述,通过调整Microsoft OCSP可以减轻"黄金证书"的许多使用场景
  3. 监控证书请求:密切监控异常的证书请求和颁发活动
  4. 限制证书模板权限:严格控制谁可以使用敏感的证书模板

📚 进一步学习资源

  • 完整的CA私钥窃取和伪造身份验证证书演练,请参见白皮书中的DPERSIST1部分
  • ForgeCert的TypeRefHash为b26b451ff2c947ae5904f962e56facbb45269995fbb813070386472f307cfcf0
  • ForgeCert的TypeLib GUID为bd346689-8ee6-40b3-858b-4ed94f08d40a,反映在当前仓库的Yara规则中

通过了解DPERSIST1攻击向量和ForgeCert工具的工作原理,安全专业人员可以更好地保护组织免受此类攻击,并制定有效的防御策略。

【免费下载链接】ForgeCert"Golden" certificates项目地址: https://gitcode.com/gh_mirrors/fo/ForgeCert

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考