Kerberos Constrained Delegation
What is 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.
● Examples
- 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.
● Frequently asked questions
What is 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. It belongs to the Identity & Access category of cybersecurity.
What does Kerberos Constrained Delegation mean?
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.
How does Kerberos Constrained Delegation work?
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.
How do you defend against Kerberos Constrained Delegation?
Defences for Kerberos Constrained Delegation typically combine technical controls and operational practices, as detailed in the full definition above.
What are other names for Kerberos Constrained Delegation?
Common alternative names include: KCD, Resource-Based Constrained Delegation, RBCD.
● Related terms
- identity-access№ 652
Kerberos
A ticket-based network authentication protocol that uses symmetric cryptography and a trusted Key Distribution Center to enable secure single sign-on across services.
- identity-access№ 014
Active Directory
Microsoft's enterprise directory service for Windows networks, providing centralized authentication, authorization, and policy management for users, computers, and resources.
- 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
An offline password attack that requests Kerberos service tickets for service accounts and cracks the encrypted portion to recover their cleartext passwords.
- attacks№ 886
Pass-the-Ticket
An Active Directory attack that reuses a stolen Kerberos ticket to impersonate a user or service without ever knowing the underlying password.
- attacks№ 836
NTLM Relay Attack
An adversary-in-the-middle attack (MITRE T1557.001) in which an attacker forwards a victim's NTLM authentication to another service to impersonate them without ever knowing the password.