利用AD CS从域管理员提升到企业管理员

渗透技巧 1年前 (2023) admin
262 0 0
利用AD CS从域管理员提升到企业管理员

背景

本篇文章主要描述一种利用AD CS服务将域管理员权限提升到企业管理员权限的方法。该方法利用的前提是域之间相互信任且都搭建了AD CS服务器,然后使用LOCAL SYSTEM权限添加ESC1脆弱证书模板,并利用活动目录的同步特性将脆弱模板发布到林根域,最后可利用发布的脆弱模板申请企业管理员证书实现权限提升。


01 准备工作

ESC5主要指PKI相关的对象出现了脆弱的访问控制问题导致易受攻击,本次攻击利用的对象是CN=Public Key Services,CN=Services,CN=Configuration,DC=<COMPANY>,DC=<COM>,SYSTEM账户对该对象具有完全控制权限。


ESC1是一种非常常见的脆弱证书模板配置,利用此种证书模板可以使得低权限账户申请高权限账户的证书用于权限提升,此种证书模板的配置要求如下:


  1. CA授予低权限账户证书申请权限


  2. CA证书管理程序批准被禁用


  3. 授权签名的数量为0


  4. 证书模板允许低权限账户申请该模板的证书


  5. 证书模板启用了身份认证扩展


  6. 证书的使用者名称可在请求中提供


AD CS的信息存储在活动目录的“配置”上下文中,可以通过ADSI编辑器连接到配置上下文查看,具体的结构如下:

利用AD CS从域管理员提升到企业管理员


本次攻击重点关注的是“Public Key Services”与子对象“Certificate Templates”和“Enrollment Services”。其中在“Certificate Templates”中列出了所有可以发布到ADCS CA的证书模板。“Enrollment Services”容器存储了AD CS中所有可用的CA对象,这些对象的Certificate Templates属性对应了所有已发布到CA的模板:

利用AD CS从域管理员提升到企业管理员


使用ADSI编辑器连接到子域的配置上下文时,可以看到PKS容器的DN是父域的DN,这是林根域对象的本地副本。

利用AD CS从域管理员提升到企业管理员


查看“Public Key Services”的安全属性,SYSTEM和企业管管理员有完全控制权限,认证用户只有读取权限,这是本次提权的关键。因为当前系统的SYSTEM账户是子域中唯一一个能够对该对象拥有写权限的账户,子域的其他账户只有读取相关的权限。

利用AD CS从域管理员提升到企业管理员


借助psexec以SYSTEM账户身份重新启用ADSI编辑器,由于SYSTEM账户拥有完全控制,因此可修改当前对象的安全描述符。此时可以为子域的账户添加完全控制权限。

利用AD CS从域管理员提升到企业管理员


由于权限的继承添加的用户对于“Enrollment Services”及子对象也有完全控制权限,该权限在后续的利用中会有所体现。

利用AD CS从域管理员提升到企业管理员


02 利用过程

首先在子域中构造一个构造ESC1类型的证书,可以从现有证书模板进行复制。这里有个小技巧:子域域控制器的证书颁发机构中没有证书模板的菜单,可以在MMC中进行证书模板的复制。

利用AD CS从域管理员提升到企业管理员


在子域的证书模板创建成功后会自动复制到林根域的活动目录中。

利用AD CS从域管理员提升到企业管理员


在之前的部分已经介绍过利用SYSTEM账户添加权限的方法,利用SYSTEM账户可以给当前的子域账号添加证书相关节点的完全控制权限方便操作。添加模板名称到“Enrollment Services”的Certificate Templates值中,该值用于记录哪些证书模板是被发布可用于申请的,在根域的CA中能够看到被添加的证书模板。

利用AD CS从域管理员提升到企业管理员


此时使用子域的账户去申请新的证书模板,成功获得林根域的证书,证书中的AltName是林根域的DC。

利用AD CS从域管理员提升到企业管理员


将证书转化为pfx格式,然后使用证书申请林根域DC账户的TGT,成功获取。但是这里有个细节,如果林根域DC没有安装服务器验证的扩展,则无法返回TGT并提示KDC_ERR_PADATA_TYPE_NOSUPP,这种情况下可以通过SChannel进行LDAP身份认证。

利用AD CS从域管理员提升到企业管理员


至此已经成功获取到了林根域DC的TGT,权限提升完成。下面是树状图对整个攻击流程的总结。

利用AD CS从域管理员提升到企业管理员


03 总结

本次权限提升主要是利用了AD CS中的ESC5与父子域之间CA的同步特性,通过子域DC中的LOCAL SYSTEM将可提权的ESC1证书模板写入子域CA并发布,然后借助同步将证书模板同步到林根域的CA,实现子域管理员到企业管理的权限提升。这只是AD域中特性的滥用,因此可以作为一种有效的权限提升手段。防御此种攻击方法,禁用SYSTEM账户的权限最简单直接但是有可能会影响AD CS的正常运行,严格审核证书模板的配置能够有效杜绝该攻击以及其他AD CS证书模板造成的权限提升。绿盟科技智能化AD域安全风险评估系统目前已支持本文所述威胁在内的多种ADCS证书模板安全风险识别能力。


智能化AD域安全风险评估系统,由绿盟科技天元实验室基于多年AD域攻防和身份安全威胁研究积累研发,具备全面的AD域风险识别量化评估和威胁暴露面管理能力,结合行业领先的APM攻击路径管理技术,能够以攻击者视角挖掘系统内潜藏的攻击链路,帮助用户理解安全风险和影响。目前该系统已帮助绿盟科技多个行业客户在攻防演练前发现重大隐患并协助完成了系统加固。

利用AD CS从域管理员提升到企业管理员

绿盟科技天元实验室专注于新型实战化攻防对抗技术研究。

研究目标包括:漏洞利用技术、防御绕过技术、攻击隐匿技术、攻击持久化技术等蓝军技术,以及攻击技战术、攻击框架的研究。涵盖Web安全、终端安全、AD安全、云安全等多个技术领域的攻击技术研究,以及工业互联网、车联网等业务场景的攻击技术研究。通过研究攻击对抗技术,从攻击视角提供识别风险的方法和手段,为威胁对抗提供决策支撑。


利用AD CS从域管理员提升到企业管理员

M01N Team公众号

聚焦高级攻防对抗热点技术

绿盟科技蓝军技术研究战队

利用AD CS从域管理员提升到企业管理员

官方攻防交流群

网络安全一手资讯

攻防技术答疑解惑

扫码加好友即可拉群

原文始发于微信公众号(M01N Team):利用AD CS从域管理员提升到企业管理员

版权声明:admin 发表于 2023年7月12日 下午6:02。
转载请注明:利用AD CS从域管理员提升到企业管理员 | CTF导航

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...