Pass-the-Ticket (PtT) is Kerberos's version of credential theft. Instead of stealing passwords or hashes, you steal the actual Kerberos tickets - TGTs and TGS tickets - and use them to authenticate as another user.
Think of it like stealing someone's concert wristband. You don't need to know how they got it or what password they used - you just slap it on and walk in. The bouncer sees a valid wristband and lets you through.
Tickets vs Hashes
Pass-the-Hash uses NTLM hashes (works with NTLM auth). Pass-the-Ticket uses Kerberos tickets (works with Kerberos auth). Different protocols, same concept: use stolen credentials without knowing the password.
Types of Tickets
TGT is King
If you get a user's TGT, you can request TGS for any service they can access. It's basically full impersonation until the ticket expires.
Extracting Tickets
Mimikatz - Export All Tickets
Rubeus - More Control
Linux - Extract from ccache
Elevation Required
Extracting OTHER users' tickets requires local admin or SYSTEM. Your own tickets can be exported without elevation.
Injecting Tickets
Mimikatz
Rubeus
Linux
Attack Scenarios
Scenario 1: Steal Admin TGT
Scenario 2: Harvest TGTs Remotely
Scenario 3: Service Account TGS
Ticket Lifetime & Renewal
Ticket Expiration
Stolen tickets expire! If you steal a TGT that's 9 hours old, you only have 1 hour. Always check ticket expiration with klist.
Pass-the-Ticket vs Pass-the-Hash
| Aspect | Pass-the-Ticket | Pass-the-Hash |
|---|---|---|
| Protocol | Kerberos | NTLM |
| Credential Type | Kerberos tickets | NTLM hash |
| Lifetime | ~10 hours (renewable) | Until password change |
| Extraction | From memory (LSASS) | From memory/SAM/NTDS |
| Best Use | Kerberos-only environments | NTLM allowed environments |
Detection & Defense
Credential Guard
Credential Guard uses virtualization-based security to protect tickets. Even with SYSTEM access, you can't extract protected credentials. Check: Get-ComputerInfo | Select DeviceGuardSecurityServicesRunning
Pass-the-Ticket Methodology
Pass-the-Ticket Attack Flow
1
Identify TargetFind machine with valuable user sessions
2
Gain AccessGet local admin on target machine
3
Extract TicketsUse Mimikatz/Rubeus to dump tickets
4
TransferCopy .kirbi files to attack machine
5
InjectPass-the-Ticket into new session
6
UseAccess resources as the stolen identity
Knowledge Check
Challenges
Key Takeaways
- Pass-the-Ticket uses stolen Kerberos tickets for authentication
- TGT = access any service; TGS = access specific service
- Tickets expire (~10 hours) - check with klist
- Requires local admin to extract other users' tickets
- Use ticketConverter.py for cross-platform attacks
- Credential Guard protects against ticket extraction