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 -UnConstrained

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 alternative

Printer 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.

  1. Run on compromised Server Rubeus monitor

  1. Run on compromised Domain User the RPC Call using SpoolSamplearrow-up-right \ Coercerarrow-up-right

  1. Pass The Ticket

  2. 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-AllowedToDelegateTo attribute.

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