AD CS证书攻击与防御:ESC1

简介

2021年的BlackHat大会上,Will Schroeder和Lee Christensen发布了关于Active Directory Certificate Services 利用白皮书《Certified Pre-Owned - Abusing Active Directory Certificate Services》。
攻击对象为AD CS,攻击手法主要是利用证书模版配置、证书模版访问权限配置,PKI访问权限配置和CA访问权限配置错误,导致的windows域内权限提升或持久化。

条件

  • 攻击者已拿下域内一个低权限账户
  • 存在错误配置且已发布的证书
    (1) 颁发CA授予低权限用户读取权限(默认)
    (2) 模板中CA管理员审批未启用(默认)
    (3) 模板中不需要授权的签名(默认)
    (4) 模板允许低权限用户注册
    (5) 模板定义了启用认证的EKU
    (6) 证书模板允许请求者在请求中中指定一个SAN
  • AD: 支持PKINIT扩展认证(client通过证书进行kerberos认证,可选)

过程

  1. AD CS配置存在漏洞的证书: certsrv.msc->证书模版->右键管理
    在这里插入图片描述
  2. 复制现有的User证书,将新证书配置如下
    在这里插入图片描述
  3. 回到证书模版界面,右边空白处右键,新建->要颁发的证书模版,选择启用刚刚创建的ESC1证书模版
    在这里插入图片描述
  4. Certify find /vulnerable, 寻找错误配置证书ESC1
    在这里插入图片描述
  5. certipy req -username test@hack.com -password xxx -ca hack-2012-DC-CA -target 2012-DC.hack.com -template ESC1 -upn test2@hack.com
    在已获得域用户账户密码情况下,利用存在配置错误的ESC1证书模版,使用-upn参数指定要伪造的用户(此处test2为域管)
    在这里插入图片描述
  6. certipy auth -pfx test2.pfx -dc-ip 192.168.190.142, 利用已获取的test2域管证书拿其TGT,此时会出现error,表示kdc不支持通过证书进行kerberos认证(默认也没开启)
    在这里插入图片描述
  7. 可选择去域控上,组策略管理器->计算机配置->策略->管理模版->系统->KDC,开启PKINIT认证
    在这里插入图片描述
  8. certipy auth -pfx test2.pfx -dc-ip 192.168.190.142 -kirbi,获取域管test2的tgt。拿到域管tgt后的利用不再赘述
    在这里插入图片描述
  9. .另外,实战中不能改预控配置情况下,可选择使用ldaps进行证书验证(Active Directory supports certificate authentication over two protocols by default: Kerberos and Secure Channel (Schannel). One protocol that supports client authentication via Schannel is LDAPS (LDAP over SSL/TLS))
    在这里插入图片描述
  10. 工具默认支持对创建新用户,将用户加入组,改用户密码等。成功新建用户test_ldap,并加入域管组
    在这里插入图片描述
    在这里插入图片描述

防御

  1. 证书模版配置正确,另外也需确保证书模版访问权限,PKI访问权限,CA访问权限配置无误
  2. 日志开启
    win默认不开启证书相关日志审核,需要在AD CS服务器上,certsrv.msc中,右键左侧的CA名->属性->审核中勾选上要审核的事件
    在这里插入图片描述
  3. 日志监控
    可重点监控4886和4887相关折证书申请和签发日志
    在这里插入图片描述
    在这里插入图片描述
    其他event id:
    (1) Certificate设置相关更改
    	Windows    4873: A certificate request extension changed
    	Windows    4873: A certificate request extension changed
    	Windows    4873: A certificate request extension changed
    	Windows    4899: A Certificate Services template was updated
    	Windows    4900: Certificate Services template security was updated
    

(2) Certificate申请

	    Windows    4868: The certificate manager denied a pending certificate request
		Windows    4869: Certificate Services received a resubmitted certificate request
		Windows    4886: Certificate Services received a certificate request
		Windows    4887: Certificate Services approved a certificate request and issued a certificate
		Windows    4888: Certificate Services denied a certificate request
		Windows    4898: Certificate Services loaded a template
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值