Pass the Ticket from Windows
Kerberos
Here's your Markdown Notes version of the full content, properly structured, titled, and formatted for clarity and reuse:
Pass the Ticket (PtT) - Windows
Overview
Pass the Ticket (PtT) is a lateral movement technique in Active Directory where a stolen Kerberos ticket is used to authenticate, as opposed to using an NTLM password hash.
π Kerberos Protocol Refresher
Kerberos is a ticket-based authentication system.
Instead of passwords, it uses tickets:
TGT (Ticket Granting Ticket): Used to request TGS.
TGS (Ticket Granting Service): Grants access to specific resources.
Authentication Flow
User authenticates by encrypting a timestamp with their password hash.
Domain Controller (KDC) validates and returns a TGT.
To access a service (e.g., MSSQL), a TGS is requested using the TGT.
The TGS is then used for service authentication.
Refer to the "Kerberos, DNS, LDAP, MSRPC" section for foundational knowledge.
π Scenario
In a post-compromise scenario, we:
Gain admin access on a phished user's Windows machine.
Use tools like Mimikatz and Rubeus to extract and manipulate tickets.
π Harvesting Kerberos Tickets (Windows)
π₯ Using Mimikatz
Exports
.kirbi
ticket files.Tickets with
$
β Computer account.Tickets with service
krbtgt
β TGT.
π₯ Using Rubeus
Dumps base64 encoded tickets.
Useful when Mimikatz exports invalid tickets (e.g., incorrect encryption).
π Extracting Kerberos Keys
Mimikatz - sekurlsa::ekeys
sekurlsa::ekeys
Extracts hashes/keys:
aes256_hmac
rc4_hmac_nt
,rc4_md4
, etc.
π§ͺ OverPass the Hash (Pass the Key)
Mimikatz
Spawns a new
cmd.exe
session.Injects user identity with the provided NTLM hash.
Rubeus
Requests a TGT using userβs key/hash.
The
/ptt
flag submits the ticket into the session.
Note: Mimikatz requires admin rights, Rubeus does not.
π« Pass the Ticket (PtT) with Rubeus
Method 1: Request and Submit TGT
Method 2: Import .kirbi
File
.kirbi
FileMethod 3: Use Base64 Encoded Ticket
Convert .kirbi
to Base64 with PowerShell
.kirbi
to Base64 with PowerShellπ« Pass the Ticket (PtT) with Mimikatz
Alternative: Launch a new session with the ticket:
π» PowerShell Remoting + PtT
Prerequisites:
Admin or
Remote Management Users
group membership.Remoting enabled on target (TCP/5985 or TCP/5986).
Mimikatz Flow:
Rubeus Flow:
Create sacrificial process:
Inside new cmd.exe:
Launch PowerShell session:
Last updated