Benutzer-Werkzeuge

Webseiten-Werkzeuge


kerberos

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
kerberos [2025/03/27 00:46]
jango [CLI]
kerberos [2025/04/23 12:55] (aktuell)
jango [Hauptkomponenten]
Zeile 1: Zeile 1:
-Kerberos ist ein [[netzwerkprotokolle|Protokoll]] zur **Authentifizierung** in verteilten [[netzwerk|Computernetzwerken]] um die Sicherheit der Kommunikation zwischen Benutzern und Ressourcen zu gewährleisten. Die Authentifizierung in [[Active Directory]] basiert auf Kerberos.+Kerberos ist ein [[netzwerkprotokolle|Protokoll]] zur **Authentifizierung** in verteilten [[netzwerk|Computernetzwerken]] um die Sicherheit der Kommunikation zwischen Benutzern und Ressourcen zu gewährleisten. Die Authentifizierung in [[Active Directory]] basiert auf Kerberos. Das Kerberos-Protokoll definiert, wie Clients mit Diensten in einem Netz interagieren und sich authentifizieren. Clients, die Zugang wünschen, erhalten Tickets von einem Kerberos Key Distribution Centre (KDC) und legen diese Tickets allen Servern vor, mit denen sie eine Verbindung herstellen wollen. Die Tickets stellen die Netzwerkanmeldeinformationen des Clients dar und legen fest, ob der Zugriff auf eine bestimmte Ressource erlaubt ist. Das Kerberos-Protokoll geht davon aus, dass die Interaktionen zwischen Client und Server in offenen, ungesicherten Netzen stattfinden, und verfügt über Komponenten, die diesem Umstand entgegenwirken. 
 + 
  
 <box green>[[https://datatracker.ietf.org/doc/html/rfc4120/|RFC 4120]]</box> <box green>[[https://datatracker.ietf.org/doc/html/rfc4120/|RFC 4120]]</box>
  
 Das Kerberos-Protokoll basiert auf einem Client-Server-Modell und verwendet [[kryptographie#symmetrische_verschluesselung|symmetrische Verschlüsselung]] und Ticket-basierte Authentifizierung. Das Kerberos-Protokoll basiert auf einem Client-Server-Modell und verwendet [[kryptographie#symmetrische_verschluesselung|symmetrische Verschlüsselung]] und Ticket-basierte Authentifizierung.
- 
  
 =====Hauptkomponenten===== =====Hauptkomponenten=====
Zeile 14: Zeile 15:
   * **Sitzungsschlüssel**: Sobald der Benutzer das Service Ticket erhält, kann er den Sitzungsschlüssel extrahieren. Der Sitzungsschlüssel wird für die Verschlüsselung der Kommunikation zwischen dem Benutzer und dem Dienst verwendet.   * **Sitzungsschlüssel**: Sobald der Benutzer das Service Ticket erhält, kann er den Sitzungsschlüssel extrahieren. Der Sitzungsschlüssel wird für die Verschlüsselung der Kommunikation zwischen dem Benutzer und dem Dienst verwendet.
  
 +=====Kerberos Constrained Delegation (KCD)=====
 +
 +Kerberos Constrained Delegation ist eine Erweiterung der Microsoft Windows Server Kerberos-Authentifizierung. Sie bietet einen Mechanismus zur Beschränkung der zusätzlichen Dienste, auf die ein Kerberos-authentifizierter Benutzer oder Dienst Zugriff anfordern kann. In einer nicht eingeschränkten Windows Server Kerberos-Umgebung kann ein ordnungsgemäß authentifizierter Dienst den Zugriff auf jeden anderen Dienst innerhalb derselben Domäne delegieren. Wenn eingeschränkte Delegation verwendet wird, können Administratoren Konten so einschränken, dass sie nur an erlaubte Dienste delegieren. Als Ergebnis können Vertrauensgrenzen konfiguriert werden, um die Weitergabe von Kerberos-authentifizierten Konten einzuschränken, ohne auf die Vorteile der Kerberos-Authentifizierung verzichten zu müssen. KEMP LoadMaster unterstützt KCD über das Edge Security Pack (ESP).
 =====Authentifizierung===== =====Authentifizierung=====
  
Zeile 32: Zeile 36:
 {{kerberos-diagram.png}} {{kerberos-diagram.png}}
  
 +
 +=====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===== =====Problem=====
  
Zeile 51: Zeile 65:
 =====CLI===== =====CLI=====
  
-<code>+<code powershell> 
 +# 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 # Zeige alle Kerberos Tickets
 klist klist
Zeile 59: Zeile 79:
  
 # Zeige Ticket Verwendung # Zeige Ticket Verwendung
-klist sessions+C:\> klist sessions 
 +[0] Sitzung 1 0:0x26d192ee D2000\admin_zarat Kerberos:CachedInteractive 
 +[1] Sitzung 0 0:0x136c4 \ NTLM:(0)
  
-# Fordere Ticket für einen Service an +C:\> klist sessions -li 0x136c4 
-klist get HTTP/vie-t-srv-audit+Aktuelle Anmelde-ID ist 0:0x26d192ee 
 +Ziel-Anmelde-ID ist 0:0x136c4 
 +Sitzung 0 0:0x136c4 \ NTLM:(0)
 </code> </code>
 +
 +=====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:
 +
 +  * Ticket Granting Tickets (TGTs) zu signieren.
 +  * Die Gültigkeit eingehender TGTs zu prüfen.
 +
 +Ohne diesen Key funktioniert Kerberos in der Domäne nicht mehr.
 +
 +====Angriffsmöglichkeiten====
 +
 +  * Pass-the-Ticket (PtT): Angreifer stiehlt ein gültiges Ticket Granting Ticket (TGT) oder Service Ticket (TGS) aus dem Speicher. Das Ticket kann auf einem anderen System wiederverwendet werden (z. B. mit Mimikatz oder Rubeus), solange es gültig ist.
 +  * Overpass-the-Hash (Pass-the-Key): Angreifer hat NTLM-Hash → erstellt daraus ein Kerberos-TGT (z. B. mit Mimikatz). Funktioniert also auch "rückwärts", wenn man an den Hash kommt.
 +  * Ticket Forging (Golden Ticket / Silver Ticket): Wenn Angreifer den KRBTGT-Key eines DC bekommt, kann er beliebige TGTs (Golden Ticket) oder TGS (Silver Ticket) ausstellen.
 +
 +=====KKDCP=====
 +
 +Kerberos Key Distribution Center (KDC) Proxy Protocol
 +
 +{{ms-kkdcp.pdf}}
  
 =====Links===== =====Links=====
kerberos.1743032808.txt.gz · Zuletzt geändert: 2025/03/27 00:46 von jango