Kerberos Explained: Authentication Protocol Deep Dive
An in-depth exploration of the Kerberos authentication protocol covering ticket types, the authentication process, security weaknesses, and attack techniques like Kerberoasting and AS-REP roasting.
The Backbone of Enterprise Authentication
Kerberos is the foundation of authentication in modern Windows networks. As the default authentication protocol for Active Directory, it represents a critical architectural component of enterprise identity infrastructure. Designed by MIT in the 1980s, Kerberos provides mutual authentication between clients and servers using symmetric key cryptography and a trusted third-party authentication service — a design that eliminates password transmission while introducing its own attack surface.
Prerequisites
Kerberos Core Concepts
The Key Distribution Center (KDC)
The KDC is the core service that issues Kerberos tickets. In Active Directory, the KDC runs on every Domain Controller as part of the Kerberos Key Distribution Center service. The KDC has two components:
Kerberos Tickets
Kerberos uses two types of tickets:
Ticket Granting Ticket (TGT) — Issued by the AS when a user first authenticates. The TGT is encrypted with the KDC's secret key (the KRBTGT account hash) and allows the user to request service tickets without re-entering their password. TGTs have a default lifetime of 10 hours in Windows.
Service Ticket (TGS) — Issued by the TGS when a user requests access to a specific service. The service ticket is encrypted with the target service account's secret key. Service tickets typically have a lifetime of 1 hour.
The KRBTGT Account
The KRBTGT account is a special disabled user account in every AD domain whose password hash is used to encrypt all TGTs in that domain. The KRBTGT hash is the most secret key in an AD domain — compromising it allows forging TGTs (a golden ticket attack).
Kerberos Ports
Kerberos uses UDP/TCP port 88 for ticket exchange. The KDC typically listens on both UDP 88 and TCP 88, with UDP being the default for smaller tickets and TCP used when tickets exceed the UDP size limit.
The Kerberos Authentication Process
Phase 1: AS Exchange (Authentication)
Phase 2: TGS Exchange (Service Ticket Request)
Phase 3: AP Exchange (Service Access)
Kerberos Security Weaknesses
Kerberoasting
Kerberoasting targets service accounts. Any domain user can request a service ticket for any service. The ticket is encrypted with the service account's NTLM hash, allowing offline cracking.
# Enumerate SPNs and request tickets
impacket-GetUserSPNs -dc-ip 192.168.1.10 corp.local/user
# Crack with hashcat
hashcat -m 13100 kerberos.txt /usr/share/wordlists/rockyou.txt
AS-REP Roasting
Targets users without Kerberos pre-authentication. The KDC returns a TGT encrypted with the user's password hash without requiring proof of knowledge.
impacket-GetNPUsers -dc-ip 192.168.1.10 corp.local/ -usersfile users.txt
hashcat -m 18200 asrep.txt /usr/share/wordlists/rockyou.txt
Golden and Silver Tickets
Golden tickets forge TGTs using the KRBTGT hash. Silver tickets forge service tickets using a service account's hash. Both provide persistent access without KDC interaction.
Common Mistakes
Best Practices
Related Tools
Related Articles
Summary
Kerberos is the foundation of authentication in modern Windows networks. Its ticket-based architecture eliminates password transmission but introduces attack vectors including Kerberoasting, AS-REP roasting, golden tickets, and silver tickets. Understanding Kerberos internals is essential for both defending Active Directory and conducting authorized penetration tests.