Windows Golden and Silver Ticket Persistence
Golden and Silver Tickets are forged Kerberos tickets. A Golden Ticket is a forged TGT signed with the domain's krbtgt hash — it grants access to any service in the domain and remains valid until the krbtgt password is changed twice. A Silver Ticket is a forged TGS for a specific service, signed with that service account's hash. Both give persistent authenticated access that bypasses standard authentication flows.
Obtaining the krbtgt hash
A Golden Ticket requires the krbtgt account's NT hash and the domain SID. Both come from a DCSync attack, which requires Domain Admin or specific replication rights on the domain controller.
krbtgt:502:aad3b435b51404eeaad3b435b51404ee:7b5b518b1c33d1b22c3d0b70e76a6f90:::
Forging a Golden Ticket
With the krbtgt hash and domain SID, you can forge a TGT for any user including accounts that do not exist. The ticket is valid for 10 years by default and works until krbtgt is rotated twice.
Silver Ticket — service-specific persistence
A Silver Ticket targets one specific service. It is signed with the service account's hash rather than krbtgt, so it does not require DC interaction to use and is harder to detect. Common targets: cifs for SMB file access, host for task scheduling, http for WinRM.
Detecting and evading Golden Ticket detection
Modern defenses flag Golden Tickets with unusually long lifetimes (default mimikatz value is 10 years) and tickets for users not present in PAC validation. To reduce detection, set the ticket lifetime to match the domain default (10 hours) and use an existing valid username.
References
-
mimikatz — GitHubgithub.com/gentilkiwi/mimikatz (opens in new tab)
kerberos::golden, lsadump::dcsync full reference
-
Rubeus — GhostPack GitHubgithub.com/GhostPack/Rubeus (opens in new tab)
golden, silver, and ticket manipulation commands
-
Impacket ticketer — GitHubgithub.com/fortra/impacket (opens in new tab)
Linux-based Golden and Silver Ticket forging
Was this helpful?
Your feedback helps improve this page.