Nullpath

Kerberos Authentication (AD)

concept kerberosactive-directoryprotocolhub updated 07 Sept 2026 · 4 min

Kerberos Authentication (AD)

The default authentication protocol in Active Directory, and the hub for every Kerberos attack in this wiki. Almost every technique here abuses one stage of this flow, one ticket, or one key — this page maps them all to where they hook in. For the ticket internals see tgt-tgs, kerberos-pac, kerberos-preauth, kerberos-encryption-types; for where tickets live see ccache and ticket-and-credential-opsec.

Core flow

  1. AS-REQ / AS-REP — the client pre-authenticates (kerberos-preauth) to the KDC (on the DC) and receives a TGT, encrypted with the krbtgt key (krbtgt) and carrying the client’s PAC (kerberos-pac).
  2. TGS-REQ / TGS-REP — the client presents the TGT to request a service ticket (TGS) for a target SPN (service-principal-name). The TGS is encrypted with the target service account’s key.
  3. AP-REQ — the client presents the TGS to the service, which decrypts it with its own key. Delegation (kerberos-delegation) rides on top via S4U2self / S4U2proxy (s4u2self-s4u2proxy).

The full ticket model (TGT vs TGS, which key signs which, which attack hits which) is tgt-tgs.

The Kerberos attack map

Roasting (offline-crack a key exposed by the protocol)

AttackWhat you crackPage
Kerberoastinga TGS encrypted with a service account keykerberoasting
AS-REP Roastingan AS-REP for a preauth-disabled useras-rep-roasting
Targeted roastinga victim you make roastable via an ACL write (SPN / UAC bit)targeted-roasting
Timeroastinga computer account password via MS-SNTP, unauthenticatedtimeroasting

Ticket & PAC forgery (build a ticket from a secret or a flaw)

AttackSecret / flawPage
Golden Ticketforge a TGT with the krbtgt keygolden-silver-tickets
Silver Ticketforge a TGS with a service keygolden-silver-tickets
Diamond Ticketmodify a real TGT’s PACdiamond-ticket
Sapphire Ticketinject a real privileged PAC via S4U2selfsapphire-ticket
Trust ticketforge an inter-realm TGT with the trust keytrust-key-abuse
MS14-068forge a PAC via broken signature validation (legacy)ms14-068
noPacsAMAccountName spoof → S4U2self ticket as a DCnopac

Credential reuse (present a ticket/key you already hold)

AttackMaterialPage
Pass-the-Ticketa stolen TGT/TGSpass-the-hash-and-ticket
Overpass-the-Hashan NT hash → a real KDC TGToverpass-the-hash
Pass-the-Keyan AES key → a TGTpass-the-key
Pass-the-Certa cert → PKINIT TGTpass-the-cert

Delegation (impersonate via S4U)

AttackAttributePage
UnconstrainedTrustedForDelegation → capture a TGTunconstrained-delegation
ConstrainedmsDS-AllowedToDelegateTokerberos-delegation
RBCDmsDS-AllowedToActOnBehalfOfOtherIdentityresource-based-constrained-delegation
S4U mechanicsS4U2self / S4U2proxys4u2self-s4u2proxy
Bronze Bitflip the S4U2proxy forwardable bit (CVE-2020-17049)bronze-bit

PKINIT / certificate path

AttackVectorPage
Shadow Credentialswrite msDS-KeyCredentialLink → PKINITshadow-credentials
UnPAC-the-hashrecover the NT hash from a PKINIT PACpkinit-unpac-the-hash
AD CS (ESC1–16)mint an auth cert → TGTad-cs-esc-attacks

Relay, persistence & gotchas

Detection (the shared signals)

  • 4768 (AS-REQ/TGT) and 4769 (TGS-REQ) are the two core events — most Kerberos detection is correlating them: a 4769 with no 4768 (Silver / stolen ticket), a 4768 with no pre-auth (AS-REP roast, type 0), a 4768 from a non-DC host, an S4U 4769 where client ≠ service, or a machine account renamed to a DC (nopac). Full table: kerberos-event-ids.
  • RC4 (etype 0x17) downgrades in an AES domain — nearly every crack/forge benefits from RC4, so it’s a broad tell (kerberos-encryption-types).
  • Honey SPNs / honey accounts — cheap, high-fidelity (honeytokens).

Defenses (the shared mitigations)