Attribute | Details |
|---|---|
|
Attack Type |
AdminSDHolder / SDProp manipulation (ACL abuse) |
|
Impact Level |
Very High |
|
Target |
Active Directory domains (enterprise, government, service providers) |
|
Primary Attack Vector |
Modified AdminSDHolder ACL, abused ACL write permissions, compromised privileged/delegated accounts |
|
Motivation |
Privilege escalation, persistent backdoors, domain takeover |
|
Common Prevention Methods |
Restrict write rights to AdminSDHolder, monitor AdminSDHolder/adminCount changes, tiered admin model, PAM/JIT for privileged access |
Risk Factor | Level |
|---|---|
|
Potential Damage |
Very High — domain-wide compromise possible |
|
Ease of Execution |
Medium — requires some privileges or a path to modify AD ACLs |
|
Likelihood |
Medium — many environments expose weak ACL delegation or stale permissions |
什么是 AdminSDHolder 修改?
AdminSDHolder 是 AD(CN=AdminSDHolder,CN=System,DC=...)中的特殊容器,用于保存安全描述符。该描述符用于保护特权账户和组。SDProp 进程会定期将该描述符复制到 adminCount 属性等于 1 的对象,从而确保这些对象保留强化的 ACL,并且不会因正常的 ACL 继承而被削弱。攻击者如果能够修改 AdminSDHolder 的 ACL——或者创建带有被篡改 ACL 或 adminCount 的特权对象——就可能通过 SDProp 把该更改自动应用到许多特权账户上。
AdminSDHolder 的修改是如何运作的?
下面是一个典型的攻击链示例,用来说明对手如何滥用 AdminSDHolder 及相关行为。
1. 获取初始据点
攻击者在域中获得访问权限,例如:低权限的域用户、被入侵的服务账号、已委派的管理员(Account Operators、Schema Admin 等)或配置错误的自动化凭据。 他们还可能利用暴露的管理接口或存在漏洞的主机。
2. 侦察 AD 保护和 ACL
在取得立足点后,攻击者会枚举目录对象,以发现 AdminSDHolder 对象及其 ACL,确定哪些主体对 AdminSDHolder 和 CN=System 具有 Write/Modify 权限,找出 adminCount=1 的账户集合,以及特权组的成员关系。工具:PowerShell Get-ACL、LDAP 查询、ADSI 脚本。
3. 确定修改路径
攻击者会寻找一条路径,使其能够更改 AdminSDHolder 上的 ACL(例如:错误委派的用户、权限过大的组,如“Account Operators”,或拥有 DS 写入权限的服务账户)。拥有提升后的 AD 写入权限的自动化/服务账户,或权限仍然保留的被遗弃账户,都是很有吸引力的目标。
4. 修改 AdminSDHolder 或受保护对象的 ACL
如果允许,攻击者会修改 AdminSDHolder 安全描述符(security descriptor),以添加一条 ACE,将强大的权限(WriteDacl、FullControl、WriteProperty)授予所选主体(principal)。或者,他们也可以更改单个受保护账户上的 ACL,或在后门账户上设置 adminCount=1。方法:Set-ACL、LDIF、ldapmodify、本机 Windows APIs。
5. 等待 SDProp 进行传播
SDProp 在域控制器上定期运行,并将 AdminSDHolder 描述符传播到所有 adminCount=1 的对象。一旦发生传播,恶意 ACE 就会应用到受保护的账户(通常是 Domain Admins),从而为攻击者提供持久的提升权限访问。
6. 使用提升的权限以维持持久性并横向移动
通过新的 ACL,攻击者可以接管域管理员账户(如果允许),读取/修改敏感配置(GPO、信任关系),创建额外的服务主体或影子管理员账户,并在未检测到 ACL 变更的情况下维持能够经受简单修复的持久性。
✱ 变体:直接设置 adminCount 或修改单个对象的 SD
能够修改单个对象的攻击者可以在目标账户上设置 adminCount=1,使其成为 SDProp 的目标;或者直接替换高价值账户的安全描述符。两种变体都可能带来持久的特权访问。
攻击流程图
示例:组织视角
攻击者入侵一个由旧版备份工具使用的服务账户。该服务账户已将对 CN=System 下某个子树的写入权限委派给了相应主体。攻击者编写一条 ACE,授予其攻击者账户在 AdminSDHolder 上的 FullControl 权限,等待 SDProp 生效,然后使用由此获得的提升权限来接管域管理员账户并导出域机密。
示例(现实世界的模式)
Case | Impact |
|---|---|
|
Delegation misconfiguration |
Attackers abused delegated rights (service accounts/automation) to change AdminSDHolder, producing tenant-wide elevated rights. |
|
Shadow admin creation |
An attacker set adminCount=1 for a backdoor account and engineered SD changes so the account inherited privileged ACLs. |
修改 AdminSDHolder 的后果
更改 AdminSDHolder 描述符或受保护对象可能会产生毁灭性影响:
财务后果
受损的特权账户可能导致 IP、财务记录或客户 PII 被盗,随后可能面临监管罚款、事件响应成本、法律费用以及可能的赎金要求。
运营中断
域被攻破会削弱整个环境中的身份验证和授权。可能会禁用服务,AD 可能需要进行谨慎的修复或重建,并且在恢复期间业务运营可能会停止。
声誉受损
域被攻破的证据表明存在重大的安全漏洞,并可能损害客户信任、合作伙伴关系以及公众声誉。
法律与监管影响
受监管数据的暴露可能会触发 GDPR、HIPAA 或特定行业的合规行动、调查以及罚款。
Impact Area | Description |
|---|---|
|
Financial |
|
|
Operational |
Auth outages, service disruptions, recovery workload |
|
Reputational |
Loss of trust, contractual penalties |
|
Legal |
Fines, lawsuits, regulatory scrutiny |
常见目标:谁有风险?
由 AdminSDHolder 保护的帐户
域管理员、企业管理员、架构管理员、Administrators(管理员)
服务帐户以及被委派的非人类主体
服务账户意外被授予对系统容器的写入权限
传统自动化
具备对 AD 写入能力的备份工具、监控代理和 DevOps 脚本
规模庞大且审计不充分的 AD 环境
大量被委派的权限以及过期账户
风险评估
Risk Factor | Level |
|---|---|
|
Potential Damage |
Very High — domain control and broad data access possible. |
|
Ease of Execution |
Medium — needs either a path to write AD ACLs or a compromised delegated account. |
|
Likelihood |
Medium — occurs in environments with weak delegation hygiene or unmanaged automation credentials. |
如何防止修改 AdminSDHolder
防止措施需要减少能够编辑 AdminSDHolder 的人员,并提升检测与治理能力。
ACL 与委派权限的规范管理
限制对 CN=AdminSDHolder 的权限:仅应向一组最小数量的受信任高权限主体授予 WriteDacl、WriteOwner 或 FullControl。审计 CN=System 下的已委派权限,并撤销过度的权利。避免向非特权服务账户授予 AD 写入权限;自动化应使用专用且受控的高权限身份。
Privileged Access Management (PAM)
在进行管理任务时使用 JIT/just-enough access,而不是长期保留特权。尽可能为服务使用托管服务帐户(gMSA)以及短生命周期的证书/密钥。
加固与账户控制
强化紧急访问/“破窗(break-glass)”帐户,禁用或移除遗留/未使用的服务帐户,并强制执行生命周期管理。
变更控制与职责分离
对关键 AD 对象(AdminSDHolder、域根 ACL) 的变更要求多人审批。记录并审查与 ACL 更改相关联的变更工单。
基线与完整性检查
保留 AdminSDHolder 的安全描述符(security descriptor)基线副本,并定期与实时对象进行对比;一旦发生偏移立即告警。定期扫描 adminCount=1 的对象以及特权组中意外的账号。
检测、缓解与响应策略
检测
- 审计并告警对 CN=AdminSDHolder 的写入:启用目录服务审计(DS Access),以捕获对 AdminSDHolder 的修改,并在属性 nTSecurityDescriptor 或 DACL 发生更改时生成告警。
- 监控 adminCount 的变化:当对异常账户将 adminCount 设置为 1 时发出告警。
- 当新的 ACE 授予非管理员主体在受保护对象上的高权限时发出告警。
- 留意受保护账户的修改是否出现激增(密码重置、ACL 更改)。
- 监控特权组的组成员变更以及意外的新增。
响应
- 立即移除恶意 ACE,并将 AdminSDHolder 恢复到最后已知良好的安全描述符(或从已验证的备份中恢复)。
- 撤销攻击者的访问权限:禁用账户,轮换凭据,并吊销/作废已使用的服务账户证书或机密。
- 尽可能使认证会话失效(强制清除 Kerberos 票据,强制重新认证)。
- 进行域完整性与影响评估:列出恶意 ACE 的传播位置,识别已被攻陷的特权账户,并搜索横向移动痕迹。
- 为受影响的特权账户执行凭据重置,并轮换服务密钥(service secrets)。
- 追查持久化(persistence):检查是否创建了服务主体(service principals)、是否存在计划任务、是否有包含恶意脚本的 GPO,或是否修改了委派(delegation)条目。
缓解
- 通过移除不必要的写入委派(write delegations)、加强控制,并为管理活动实施 Privileged Access Management(PAM)/JIT 来限制未来的暴露风险。
- 改进审计,并将告警集成到 IR(事件响应)剧本中,以加快检测与遏制。
Netwrix 如何提供帮助
Netwrix Threat Prevention 帮助您通过实时检测并阻止对关键 AD 对象的未授权更改来停止 AdminSDHolder 滥用。它会为对象和属性变更创建完整、抗篡改的审计追踪,并可自动对诸如 DACL 编辑以及特权组或 GPO 修改等高风险操作发出警报或加以阻止,从而缩短持久化和域接管的窗口。团队可以根据需要定制策略,锁定敏感容器,并在触及 AdminSDHolder 或受保护账户时强制立即响应,增强以 Identity 为起点的数据安全。
行业特定影响
Industry | Impact |
|---|---|
|
Healthcare |
Loss of domain control could expose EHR systems and patient data, risking HIPAA violations and operational disruption. |
|
Finance |
Domain compromise enables access to financial systems, transaction logs, and customer PII — high regulatory & fraud risk. |
|
Government |
High risk of espionage and national security impact if privileged domains are abused. |
攻击演变与未来趋势
- ACL 侦察自动化——攻击者正在自动化搜索,以在大型 AD 环境中查找可写系统容器和已委派的权限。
- 与其他 AD 攻击的组合——AdminSDHolder 滥用会与 Golden Ticket / DCSync / ACL 滥用链条结合,以实现更稳健的持久化。
- 供应链与 DevOps 暴露——在流水线中泄露的自动化凭据仍不断成为委派 ACL 修改的攻击载体。
- 噪音更少、隐蔽性更强——攻击者更倾向于篡改 ACL/DACL,因为这类行为能与合法的管理员活动融为一体。
关键统计与遥测(建议检查)
• 具有对 CN=System 或 AdminSDHolder 的非标准写入权限的域的百分比(用于衡量卫生状况)。
• adminCount=1 且近期没有合法管理员活动的账户数量
• 环境中具有 AD 写入权限的服务帐户数量
最终思考
AdminSDHolder 修改是一种影响巨大且隐蔽的技术:通过攻击 AD 用于保护特权帐户的机制,攻击者可以实现持久的、覆盖整个域的特权提升,即使在许多简单的补救步骤之后也能继续存在。防御它需要严格的 ACL 治理、最小权限委派、强有力的特权访问控制(Privileged Access Management/JIT)、对 AdminSDHolder 和 adminCount 对象进行持续审计,并准备演练过的响应预案,以便快速移除恶意 ACE 并轮换受影响的凭据。
常见问题
分享到
Kerberoasting 攻击——工作原理与防御策略
滥用 Entra ID 应用权限——工作原理与防御策略
AS-REP Roasting 攻击:工作原理与防御策略
Hafnium 攻击——工作原理与防御策略
DCSync 攻击解析:对 Active Directory 安全的威胁
Golden SAML 攻击终极指南
什么是 Golden Ticket 攻击?工作原理、检测与防护
gMSA 利用攻击与 Golden gMSA 攻击详解
DCShadow 攻击——工作原理、真实案例与防御策略
ChatGPT 提示注入(prompt injection):了解风险、示例与防范
NTDS.dit 提取攻击详解
理解 Pass-the-Hash(PtH)攻击
Pass-the-Ticket(传票)攻击解析:风险、示例与防御策略
理解密码喷洒(password spraying)攻击
明文密码提取(Plaintext Password Extraction)解析:风险、示例与防范
Zerologon 漏洞详解:风险、利用方式与缓解措施
勒索软件攻击完整指南
Skeleton Key 攻击:工作原理与检测方法
4 种服务账号攻击及防护方法
如何防止恶意软件攻击影响您的业务
什么是凭证填充(Credential Stuffing)?
使用 PowerUpSQL 破坏 SQL Server
什么是 Mousejacking(鼠标劫持)攻击,以及如何防御
使用 Security Support Provider(SSP)窃取凭据
彩虹表攻击:工作原理与防御方法
深入了解密码攻击及其防止方法
LDAP Reconnaissance
通过 Pass-the-Cookie 攻击绕过 MFA
Silver Ticket 攻击