The Golden Ticket attack is the nuclear option of Active Directory attacks. With the KRBTGT account's hash, you can forge Ticket Granting Tickets (TGTs) for ANY user - even non-existent ones - with ANY privileges, valid for years.
Think of KRBTGT as the master key that signs all VIP passes. If you have that master key, you can create unlimited VIP passes that every bouncer will accept as legitimate.
Extreme Persistence
Golden tickets persist even after password resets, user deletions, and system rebuilds. The ONLY way to invalidate them is to reset the KRBTGT password TWICE.
How Golden Tickets Work
Why It Works
The KDC doesn't validate TGT contents against AD - it just decrypts and trusts. If you can encrypt with KRBTGT hash, the ticket is "valid".
Obtaining KRBTGT Hash
DCSync Attack
From NTDS.dit
From Memory
Forging the Golden Ticket
Required Information
Mimikatz
Impacket (Linux)
Rubeus
Use AES Keys
Modern detection looks for RC4 tickets when AES is available. Use AES256 keys when possible for stealthier golden tickets.
Using the Golden Ticket
Stealth Considerations
- Use real usernames: Fake users might get flagged
- Use AES keys: RC4 is suspicious in modern environments
- Reasonable validity: 10-year tickets look suspicious
- Match group membership: Use realistic group SIDs
Detection & Defense
KRBTGT Reset Procedure
Resetting KRBTGT ONCE doesn't help - AD keeps the previous password for ticket validation. You must reset TWICE (with time between) to fully invalidate golden tickets.
Golden Ticket Methodology
Golden Ticket Attack Flow
1
Compromise DAGet Domain Admin access first
2
DCSyncExtract KRBTGT hash via DCSync
3
Get Domain SIDwhoami /user or Get-ADDomain
4
Forge TicketUse Mimikatz/Rubeus/ticketer.py
5
InjectPass-the-Ticket into current session
6
PersistSave ticket for future access
Knowledge Check
Challenges
Key Takeaways
- Golden tickets forge TGTs using the KRBTGT hash
- Any user, any privileges, any validity period
- Survives password resets and user deletions
- Requires KRBTGT hash and domain SID
- Only invalidated by resetting KRBTGT TWICE
- Use AES keys for stealthier tickets