Pass the Ticket (PtT) - Windows

To collect all tickets we need to execute Mimikatz or Rubeus as an administrator

Export Tickets

Mimikatz

Mimikatz
mimikatz # privilege::debug
Privilege '20' OK

mimikatz # sekurlsa::tickets /export
mimikatz # 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

Rubeus

Pass 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 requires administrative rights to perform the Pass the Key/OverPass the Hash attacks, while Rubeus doesn't

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

To create a PowerShell Remoting session on a remote computer, you must have administrative permissions, be a member of the Remote Management Users group, or have explicit PowerShell Remoting permissions in your session configuration.

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