在整理技术笔记时,翻到一篇旧文,其核心观点引人深思:在特定条件下,仅凭子域中的System权限,就有可能将影响力扩展至父域。出于对 Active Directory 安全边界的兴趣,我决定动手复现并深入研究这一攻击手法,并在此记录整个过程。
利用原理分析
首先明确一下复现环境的构成:
- 子域:主机名
10_4_45_187,域名 sub.cs.org
- 父域:主机名
10_4_45_197,域名 cs.org
攻击的起点,是我们在子域的域控上获取了NT AUTHORITY\SYSTEM权限。这个本地最高权限账户,在域内安全中扮演着特殊的角色。
为了理解其特殊性,我们需要查看域内的“配置命名上下文”。操作很简单:在子域域控上运行 mmc.exe,然后通过“添加或删除管理单元”功能连接“ADSI 编辑器”。

在弹出的连接设置中,选择“配置”作为命名上下文进行连接。

连接成功后,可以在ADSI编辑器中看到,这个“配置”命名上下文所指向的域,是父域 cs.org。这说明,子域中保存的配置分区,实际上是父域配置的一个副本。

关键的一步来了。我们右键查看这个“配置”对象(例如 CN=Sites)的安全属性(ACL)。你会发现,子域的常规域用户(如Domain Admins)在这里并没有直接修改权限。

但是,请仔细看权限条目列表。除了熟悉的域账户外,有一个特殊的条目——SYSTEM。它对这个配置对象拥有“完全控制”权限。

SYSTEM 是一个本地计算机账户,不属于任何域。这就意味着,控制它的权限,不依赖于你是否是域管理员,而只取决于你是否能在当前机器上获得 SYSTEM 权限。一旦拥有,理论上你就能修改这个父域配置的副本。
利用方式实践
既然 SYSTEM 账户能控制父域的配置命名上下文副本,我们该如何将它转化为实际的攻击路径呢?思路是利用 Active Directory 中可以通过站点(Site)链接组策略对象(GPO)的机制。
步骤一:创建并配置恶意GPO
首先,我们在子域域控上,以 SYSTEM 权限(例如通过 psexec -s 或其他方式提升)打开 PowerShell,创建一个新的组策略对象。
New-GPO jumbo_gpo_test

在组策略管理控制台(GPMC)中,可以确认这个 GPO 已经被成功创建。

接着,我们需要为这个GPO配置一个实际的操作。以“计划任务”为例,我们将其配置为在应用策略的计算机上启动记事本(notepad.exe)。在实际攻击中,这里可以替换为任何恶意命令或脚本。

步骤二:将GPO链接到父域站点
核心攻击环节来了:我们需要将这个子域创建的GPO,“链接”到父域的一个对象上。这里选择站点(Site)对象作为链接目标。
首先,确认父域默认站点的可分辨名称(DN)。可以直接在子域上查询父域的域控制器信息获取:
Get-ADDomainController -Server cs.org | select HostName, ServerObjectDN
输出类似:
HostName ServerObjectDN
-------- --------------
... CN=10_4_45_197,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=cs,DC=org
从 ServerObjectDN 中,我们可以提取出站点的 DN:CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=cs,DC=org。
然后,使用 SYSTEM 权限执行链接命令,将这个GPO应用到父域的站点上:
New-GPLink -Name "jumbo_gpo_test" -Target "CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=cs,DC=org" -Server sub.cs.org

命令执行成功,返回了链接信息。此时在父域的组策略管理控制台中查看该站点,会发现来自子域 sub.cs.org 的 jumbo_gpo_test GPO 已经成功链接并启用了。

步骤三:触发策略执行,验证攻击效果
最后,在父域的域控制器或任何隶属于该站点的计算机上,强制更新组策略。
gpupdate /force

策略更新后,系统会执行我们预先配置的计划任务,弹出记事本窗口。这证明攻击成功执行。我们也可以通过 gpresult /r 命令来确认这个“外来”的GPO已经成功应用到了父域计算机上。

总结与思考
本文复现了一种基于 Active Directory 架构特性的 域渗透 手法。它揭示了除了广为人知的 SidHistory 滥用之外,另一个可能被忽视的安全边界突破口:子域中的 SYSTEM 账户权限。
其本质在于,子域的配置分区是父域的只读副本,但 SYSTEM 账户对这个副本拥有写权限。攻击者利用此权限,通过将恶意GPO链接到父域站点的方式,实现了从子域到父域的权限跨越。这对于企业多域环境的安全审计和防御策略提出了新的挑战。
附录(参考原文)
本文首发于 云栈社区,一个专注于深度技术交流与实战分享的平台,欢迎对系统安全、网络攻防感兴趣的朋友一同探讨。