Active Directory Hacking: Angriffe mit mimikatz - Pass-the-Key (PtK), Overpass-the-Hash (OtH)

Active Directory Hacking: Angriffe mit mimikatz - Pass-the-Key (PtK), Overpass-the-Hash (OtH)

Beitragsseiten

Pass-the-Key (PtK), Overpass-the-Hash (OtH)

„Overpass-the-Hash” und „Pass-the-Key” Angriffe zielen darauf ab, den Kerberos Encryption Key (PtK) oder den NTLM-Hash (OtH) des Benutzers zu stehlen, um damit Kerberos-Tickets anzufordern. Besonders in Netzwerken, in denen das NTLM-Protokoll deaktiviert und nur Kerberos als Authentifizierungsprotokoll erlaubt ist, sind diese Angriffe sehr nützlich.

Schauen wir uns zunächst einmal den regulären Ablauf einer Kerberos-Authentifizierung an.

Kerberos Ticketausstellung

Kerberos

 

In diesem Beispiel loggt sich der Benutzer „whitehat.de\user1” mit seinen Domänen-Zugang an seinem Computer ein. Hierbei speichert der „Local Security Authority Subsystem Service” (lsass.exe) entsprechende Kerberos-Geheimnisse für den Benutzer ab. Ein Kerberos Ticket existiert zu diesem Zeitpunkt noch nicht.

  1. [AS Anfrage]: Nachdem der Benutzer versucht, auf eine Ressource der Domäne (Fileserver) zuzugreifen, fragt der Kerberos Provider (kerberos.dll) beim Domain Controller (KDC / AS) ein sogenanntes Ticket Granting Ticket (TGT) an.

  2. [AS Antwort]: War die Anfrage erfolgreich, erhält der Client ein Ticket Granting Ticket.

    1. TGS: verschlüsselt mit Secret TGS-Key

    2. Session-Key: verschlüsselt mit Secret-Key des Clients

  3. [TGS Anfrage]: Hiermit kann der Client nun eine Anfrage an den Ticket Granting Service (TGS) stellen und ihm mitteilen, auf welche Ressource er zugreifen möchte – in diesem Beispiel auf den genannten Fileshare.

    1. TimeStamp: verschlüsselt mit TGS Session-Key

  4. [TGS Antwort]: War die Anfrage erfolgreich, erhält der Client ein sogenanntes Service Ticket

    1. Session Key: verschlüsselt mit Secret-Key des Clients

    2. Ticket für Zielserver: verschlüsselt mit SecretKey des Zielservers

  5. [Zielserver Anfrage]: Nun kann der Client mittels Service Ticket die gewünschte Ressource beim Zielserver anfragen

    1. TimeStamp: verschlüsselt mit Session-Key

    2. Service Ticket

  6. [Zielserver Antwort]: Gegenseitige Authentifizierung abgeschlossen.

Overpass-the-Hash (OtH)

Gelangt ein Angreifer in den Besitz des NTLM-Hashes, z. B. indem er die Kerberos Geheimnissen ausliest, kann er diesen Hash benutzen, um damit ein Ticket Granting Ticket für die gestohlene Identität anzufragen. Hiermit kann der Angreifer dann – wie nach einer regulären Authentifizierung – ein Service Ticket ausstellen lassen, um anschließend auf entsprechend Ressourcen des Zielservers zuzugreifen.

Overpass-the-Hash

 

Overpass-the-Hash Angriff durchführen

Auch hierbei muss mimikatz zunächst mit Debug Privilegien ausgestattet werden:

privilege::debug

Anschließend können Kerberos Geheimnisse (NTLM-Hash, Encryption Keys ..) mit folgendem Befehl ausgelesen werden:

sekurlsa::ekeys

sekurlsa::ekeys

Nun kann der Overpass-the-Hash Angriff mit folgendem Befehl ausgeführt werden:

sekurlsa::pth /user:BENUTZERNAME /domain:DOMÄNE /ntlm:NTLM-HASH

In dem oben genannten Beispiel also konkret:

sekurlsa::pth /user:Administrator /domain:whitehat.de /ntlm:557ef604cb1864d3a6d1d5f7374c12dc

sekurlsa::pth Overpass-the-Hash

Daraufhin öffnet sich eine cmd.exe Session im Kontext der gestohlenen Identität. Diese kann man dann verwenden, um z. B. auf entsprechende Ressourcen zuzugreifen.

Hinweis: Windows verwendet automatisch Kerberos, wenn ein Domänen-Hostname und NTLM, wenn eine IP-Adresse angesprochen wird. Somit kann der Benutzer beim Anfragen von Domänen Ressourcen steuern, ob er gerade einen Pass-the-Hash (PtH) oder Overpass-the-Hash (OtH) durchführen möchte.

Pass-the-Key (PtK)

Bei Pass-the-Key (PtK) sind Aufbau und Vorgehensweise fast identisch zu Overpass-the-Hash (OtH) Angriffen. Der Unterschied besteht darin, dass bei PtK statt des NTLM-Hash, der Kerberos Encryption Key gestohlen und zur Authentifizierung verwendet wird.

Pass-the-Key

 

Pass-the-Key Angriff durchführen

Der Angriff erfolgt ähnlich wie beim Overpass-the-Hash (OtH) Angriff. Zunächst muss mimikatz mit Debug-Privilegien ausgestattet werden:

privilege::debug

Anschließend kann der Angriff mit folgendem Befehl erfolgen:

sekurlsa::pth /user:BENUTZERNAME /domain:DOMÄNE /aes256:AES256_KEY

In dem vorherigen Beispiel würde der Befehl also konkret wie folgt aussehen:

sekurlsa::pth /user:Administrator /domain:whitehat.de /aes256:4c76f05ccdd2f967699f43499c8c83c0d870d5de7717ed8d91799be083fc2291

sekurlsa::pth Pass-the-Key


1000 Zeichen übrig


Haftungsausschluss
«Nur wer versteht, wie Angreifer handeln, kann effektive Schutzmaßnahmen treffen.»

Die hier zur Verfügung gestellten Informationen dienen ausschließlich zu Lern- und Forschungszwecken. Der Missbrauch dieser Informationen kann zu strafrechtlichen Konsequenzen führen. Wir raten dringend davon ab und übernehmen keinerlei Haftung für etwaige Schäden.

Folge WhiteHat.de