Kerberos Constrained Delegation
Kerberos Constrained Delegation 是什么?
Kerberos Constrained DelegationAn Active Directory delegation mode that allows a service to impersonate users only to a specified set of target services — safer than unconstrained delegation, but still abused via S4U2Self / S4U2Proxy attacks when misconfigured.
Kerberos Constrained Delegation (KCD), introduced with Windows Server 2003, restricts which other services an account can impersonate a user to: the account's `msDS-AllowedToDelegateTo` attribute lists exactly those target SPNs. KCD comes in two flavors. Classic KCD requires Domain Admin to configure the trust on the delegating account. Resource-Based Constrained Delegation (RBCD), introduced in Windows Server 2012, inverts the configuration so the target service controls who can impersonate to it via `msDS-AllowedToActOnBehalfOfOtherIdentity` — useful for cross-forest scenarios. KCD is far safer than unconstrained delegation, but it is not safe by default: attackers with control of an account that has constrained delegation rights can use S4U2Self to mint tickets for arbitrary users (including Domain Admins) and then S4U2Proxy to access the allowed targets, an attack chain documented since the 2018 Elad Shamir 'Wagging the Dog' research. RBCD attacks via control of computer-account writes (CVE-2021-42278/42287, sAMAccountName spoofing) are equally well known. Modern hardening includes Protected Users group membership for sensitive accounts, the 'Account is sensitive and cannot be delegated' flag, and rigorous review of all delegation attributes in AD.
● 示例
- 01
A web application's service account is constrained to delegate only to the SQL Server SPN; the same account cannot impersonate users to other services.
- 02
A red-team that gains write access to a computer object configures it for RBCD and S4U2Selfs into Domain Admin, demonstrating the need to restrict ms-DS-MachineAccountQuota.
● 常见问题
Kerberos Constrained Delegation 是什么?
An Active Directory delegation mode that allows a service to impersonate users only to a specified set of target services — safer than unconstrained delegation, but still abused via S4U2Self / S4U2Proxy attacks when misconfigured. 它属于网络安全的 身份与访问 分类。
Kerberos Constrained Delegation 是什么意思?
An Active Directory delegation mode that allows a service to impersonate users only to a specified set of target services — safer than unconstrained delegation, but still abused via S4U2Self / S4U2Proxy attacks when misconfigured.
Kerberos Constrained Delegation 是如何工作的?
Kerberos Constrained Delegation (KCD), introduced with Windows Server 2003, restricts which other services an account can impersonate a user to: the account's `msDS-AllowedToDelegateTo` attribute lists exactly those target SPNs. KCD comes in two flavors. Classic KCD requires Domain Admin to configure the trust on the delegating account. Resource-Based Constrained Delegation (RBCD), introduced in Windows Server 2012, inverts the configuration so the target service controls who can impersonate to it via `msDS-AllowedToActOnBehalfOfOtherIdentity` — useful for cross-forest scenarios. KCD is far safer than unconstrained delegation, but it is not safe by default: attackers with control of an account that has constrained delegation rights can use S4U2Self to mint tickets for arbitrary users (including Domain Admins) and then S4U2Proxy to access the allowed targets, an attack chain documented since the 2018 Elad Shamir 'Wagging the Dog' research. RBCD attacks via control of computer-account writes (CVE-2021-42278/42287, sAMAccountName spoofing) are equally well known. Modern hardening includes Protected Users group membership for sensitive accounts, the 'Account is sensitive and cannot be delegated' flag, and rigorous review of all delegation attributes in AD.
如何防御 Kerberos Constrained Delegation?
针对 Kerberos Constrained Delegation 的防御通常结合技术控制与运营实践,详见上方完整定义。
Kerberos Constrained Delegation 还有哪些其他名称?
常见的别称包括: KCD, Resource-Based Constrained Delegation, RBCD。
● 相关术语
- identity-access№ 652
Kerberos
基于票据的网络认证协议,利用对称加密和受信的密钥分发中心实现跨服务的安全单点登录。
- identity-access№ 014
Active Directory
微软面向 Windows 网络的企业级目录服务,为用户、计算机和资源提供集中式身份验证、授权与策略管理。
- identity-access№ 654
Kerberos Unconstrained Delegation
An Active Directory configuration that lets a service receive and store TGTs for any authenticating user, allowing it to impersonate them to any other service — a high-impact misconfiguration repeatedly abused for credential theft and domain compromise.
- attacks№ 651
Kerberoasting
一种针对服务账户的离线口令破解攻击:申请 Kerberos 服务票据并对其加密部分进行离线破解,以还原明文密码。
- attacks№ 886
票据传递攻击
针对 Active Directory 的攻击,通过重放窃取的 Kerberos 票据冒充用户或服务,而无需知道其密码。
- attacks№ 836
NTLM Relay 攻击
一种中间人攻击 (MITRE T1557.001),攻击者将受害者的 NTLM 认证转发到另一服务,从而在不知密码的情况下冒充受害者。