Pass the Ticket (PtT) - Windows
Export Tickets
Mimikatz
Mimikatzmimikatz # privilege::debug
Privilege '20' OK
mimikatz # sekurlsa::tickets /exportmimikatz # exit
Bye!
c:\tools> dir *.kirbi
Directory: c:\tools
Mode LastWriteTime Length Name
---- ------------- ------ ----
<SNIP>
-a---- 7/12/2022 9:44 AM 1445 [0;6c680]-2-0-40e10000-plaintext@krbtgt-inlanefreight.htb.kirbi
-a---- 7/12/2022 9:44 AM 1565 [0;3e7]-0-2-40a50000-DC01$@cifs-DC01.inlanefreight.htb.kirbi
<SNIP>If you pick a ticket with the service krbtgt, it corresponds to the TGT of that account.
Rubeus
RubeusPass the Key or OverPass the Hash
An advantage of abusing Kerberos tickets is the ability to forge our own tickets. Let's see how we can do this using the OverPass the Hash or Pass the Key technique.
OverPass-The-Hash generate tokens from hashes or key
Mimikatz - Extract Kerberos Keys
Then Pass the Key or OverPass the Hash
Mimikatz - Pass the Key or OverPass the Hash
Invoke-Mimikatz
SafetyKatz
Rubeus - Pass the Key or OverPass the Hash
No need elevation
Need elevation
Pass The Ticket
Rubeus
All in one
Import .kirbi
Base64 We can also use the base64 output from Rubeus or convert a .kirbi to base64 to perform the Pass the Ticket attack. We can use PowerShell to convert a .kirbi to base64.
Mimikatz
We can use the Mimikatz module misc to launch a new command prompt window with the imported ticket using the misc::cmd command
PowerShell Remoting
Suppose we find a user account that doesn't have administrative privileges on a remote computer but is a member of the Remote Management Users group. In that case, we can use PowerShell Remoting to connect to that computer and execute commands.
WinRM (5985, 5986)Mimikatz
Rubeus
The above command will open a new cmd window. From that window, we can execute Rubeus to request a new TGT with the option /ptt to import the ticket into our current session and connect to the DC using PowerShell Remoting.
Resources
Last updated