Kerberos Delegation allows services to impersonate users and access other services on their behalf. Sounds convenient, right? It is - until attackers abuse it. Delegation misconfigurations are among the most devastating AD weaknesses.
Think of delegation like giving a butler permission to use your credit card. Unconstrained delegation is saying "use it anywhere." Constrained delegation is "only use it at the grocery store." Both can be abused if the butler (or anyone who compromises them) is malicious.
Three Types of Delegation
Windows has three delegation types: Unconstrained (most dangerous), Constrained (still risky), and Resource-Based Constrained (newest, also exploitable). We'll cover all three.
Unconstrained Delegation
Finding Unconstrained Delegation
Extracting Cached TGTs
Coercing Authentication (Printer Bug)
DC Compromise via Printer Bug
If you compromise a server with unconstrained delegation, use the Printer Bug to make the DC authenticate to you. You get the DC's machine account TGT → S4U2Self to impersonate DA → DCSync.
Constrained Delegation
Finding Constrained Delegation
Exploiting Constrained Delegation
SPN Alteration
You can often modify the SPN in the ticket! If delegation is to cifs/server, try changing to ldap/server or http/server. This depends on the service validating the SPN.
Resource-Based Constrained Delegation (RBCD)
RBCD Attack Prerequisites
Exploiting RBCD
Delegation Comparison
| Type | Scope | Configured On | Attack Method |
|---|---|---|---|
| Unconstrained | Any service | Source | Extract cached TGTs |
| Constrained | Specific SPNs | Source | S4U to target SPNs |
| RBCD | Specific targets | Target | Set RBCD + S4U |
Detection & Defense
Protected Users
Members of the Protected Users group cannot be delegated. Add Domain Admins and other privileged accounts to this group to prevent delegation-based attacks.
Delegation Attack Methodology
Delegation Attack Flow
1
EnumerateFind delegation configurations
2
Identify TypeUnconstrained, Constrained, or RBCD potential
3
CompromiseGet access to delegating account/machine
4
ExecuteExtract TGT or perform S4U attack
5
ImpersonateUse obtained ticket to access target
6
EscalateTypically leads to DA or DC compromise
Knowledge Check
Challenges
Key Takeaways
- Unconstrained delegation caches TGTs - steal them all
- Constrained delegation limits to specific SPNs
- RBCD is configured on target, exploitable via write access
- Printer Bug coerces DC authentication
- Protected Users group prevents delegation
- Set MachineAccountQuota to 0 to prevent RBCD attacks