Unconstrained Delegation
Last updated
Last updated
Delegation allows a user or computer to impersonate another account in order to access resources (such as backend database servers). Practical examples can be found .
Unconstrained delegation will cache the user's TGT if it interacts with the system. So if we compromise a machine with unconstrained delegation, we can extract any TGT from it's memory and use them to impersonate users.
Technique: If we compromise a computer with unconstrained delegation, we can social engineer a user to interact with it and steal their TGT. We can also just wait for users and harvest TGT's! Interaction can be as simple as dir \web\c$
Note: Domain Controllers are always permitted for unconstrained delegation.
Rubeus triage & monitor will show all tickets that are currently cached. It will show the users LUID. The faster way is just to use monitor.
From the triage & createnetonly we can dump the TGT
We can steal use token with Cobalt Strike's steal_token.
We can obtain TGT's for computer accounts by forcing them to authenticate remotely to the unconstrained machine.
Rubeus' monitor
command will drop into loop and continuously monitor for and extract new TGT as they get cached. It's a superior strategy when compared to running triage manually because there's little chance of us not seeing or missing a ticket.
Next, run SharpSpoolTrigger.
Where:
DC-2 is the "target".
WEB is the "listener".
Rubeus will then capture the ticket.
To stop Rubeus, use the jobs
and jobkill
commands.\