Inhaltsverzeichnis

Kerberos ist ein Protokoll zur Authentifizierung in verteilten Computernetzwerken um die Sicherheit der Kommunikation zwischen Benutzern und Ressourcen zu gewährleisten. Die Authentifizierung in Active Directory basiert auf Kerberos.

Das Kerberos-Protokoll basiert auf einem Client-Server-Modell und verwendet symmetrische Verschlüsselung und Ticket-basierte Authentifizierung.

Hauptkomponenten

Authentifizierung

Das TGT beinhaltet Informationen über:

Authentication Ticket (Ticket Granting Ticket)

Ein Ticket Granting Ticket (TGT) ist ein spezielles Kerberos-Ticket, das als Zugangsschlüssel für weitere Kerberos-Tickets dient. Sozusagen das Haupt-Ticket. Wenn du dich bei einem Kerberos-geschützten System anmeldest (z. B. Windows-Domäne mit Active Directory), sendet dein Computer deine Login-Daten (verschlüsselt) an den Key Distribution Center (KDC). Der KDC überprüft die Identität und stellt dir ein TGT aus.

Service Tickets

Das TGT erlaubt es deinem Computer, ohne erneute Passwort-Eingabe weitere Service-Tickets für verschiedene Dienste anzufordern. Diese Anfragen laufen über den Ticket Granting Service (TGS), der ebenfalls auf dem KDC läuft.

Wenn du z. B. auf eine Datei-Freigabe (\\server\freigabe) zugreifen möchtest, sendet dein Computer dein TGT an den TGS. Der TGS stellt daraufhin ein Service-Ticket für den Datei-Server aus. Dein Computer sendet das Service-Ticket an den Datei-Server, der es überprüft und dir dann Zugriff gewährt.

Problem

Manche Applikationen brauchen zum Authentifizieren mehr Informationen als User SID und User Group SID. Z.B die Email Adresse des Benutzer. Siehe ADFS (Active Directory Federation Services).

Audit

Event IDs

Get-WinEvent -LogName Security | Where-Object { $_.Id -eq 4768 } | Select TimeCreated,Message | fl

CLI

# Lösche alle Tickets (TGT nicht)
klist purge
 
# Fordere Ticket für einen Service an
klist get HTTP/vie-t-srv-audit
 
# Zeige alle Kerberos Tickets
klist
 
# Zeige das Ticket granting ticket
klist tgt
 
# Zeige Ticket Verwendung
C:\> klist sessions
[0] Sitzung 1 0:0x26d192ee D2000\admin_zarat Kerberos:CachedInteractive
[1] Sitzung 0 0:0x136c4 \ NTLM:(0)
 
C:\> klist sessions -li 0x136c4
Aktuelle Anmelde-ID ist 0:0x26d192ee
Ziel-Anmelde-ID ist 0:0x136c4
Sitzung 0 0:0x136c4 \ NTLM:(0)

Sicherheit

Krbtgt

In jeder Active Directory Domäne gibt es ein spezielles, verstecktes Benutzerkonto namens krbtgt. Dieses Konto hat kein Login, aber es besitzt ein Passwort (genau wie jedes andere Konto). Aus diesem Passwort wird ein geheimer Schlüssel erzeugt: der KRBTGT-Key. Dieser Schlüssel wird von den Domänencontrollern verwendet, um:

Ohne diesen Key funktioniert Kerberos in der Domäne nicht mehr.

Angriffsmöglichkeiten