Kennwort-Cracking muss nicht sein Pass the Hash ermöglicht Server-Zugriff ohne Klartext-Passwort

Autor / Redakteur: Martin Dombrowski / Stephan Augsten

Passwörter-Cracking um auf einen Firmenserver zuzugreifen ist meist aufwendig und langwierig. Mittels einer Technik namens Pass the Hash ist es jedoch möglich, ohne die Kenntnis eines Klartext-Passwortes auf Ressourcen zuzugreifen. Dieser Artikel beschäftigt sich mit der Funktionsweise dieser Technik.

Firmen zum Thema

Die Gefahr von System-Zugriffen mittels Pass the Hash ist auch nach 13 Jahren nicht hinlänglich bekannt.
Die Gefahr von System-Zugriffen mittels Pass the Hash ist auch nach 13 Jahren nicht hinlänglich bekannt.
( Archiv: Vogel Business Media )

Das Passwort ist eines der meistgenutzten Sicherheitsfeatures von IT-Systemen. In der Vergangenheit sind wir schon ausgiebig darauf eingegangen, wie wichtig es ist, starke Kennwörter zu wählen. Nur so erreicht man, dass verbreitete Angriffe wie Password-Guessing beziehungsweise Password-Cracking rechen- und zeitintensiv werden.

Zeitsparende Tools mit vorberechneten Rainbow Tables sind zwar schnell. Jedoch können die nötigen Rainbow-Tabellen – abhängig von der Komplexität des Algorithmus und des Passwortes – viel Speicherplatz in Anspruch nehmen.

Bildergalerie

Was sind Passwort-Hashfunktionen und wie werden diese von Windows genutzt?

Damit Benutzer sich nach der erstmaligen Anmeldung am Windows-System nicht für jeden Zugriff auf eine Ressource wiederholt anmelden müssen, nutzt Windows eine Single-Sign-on-Funktionalität. Um das gewährleisten zu können, muss das System die Benutzer-Passwörter gecached haben.

Passwörter werden dabei jedoch nicht in Klartext, sondern in Form eines Hashwertes gespeichert. Diese Hashwerte sind entweder im Local Security Authority Subsytem (LSASS) geladen oder durch den Security Accounts Manager Service (SAM) in der sogenannten SAM-File gespeichert.

Allgemein ausgedrückt kann eine Hashfunktion als Einwegfunktion verstanden werden. Hierbei wird – nicht umkehrbar – eine Zeichenfolge beliebiger Länge in einer Zeichenfolge fester Länge abgebildet.

Inhalt

  • Seite 1: Was sind Passwort-Hashes?
  • Seite 2: Wichtige Hash-Formate
  • Seite 3: Beispiel für einen Pass-the-Hash-Angriff

In welchen Hash-Formaten werden Passwörter durch Windows gespeichert?

In älteren Windows Versionen wurden Passwörter als LM Hash gespeichert und übermittelt. Ab Windows 2003 wurde NTLM verwendet, seit Windows Vista wird nun NTLMv2 als Standard genutzt.

Bei der Nutzung von LM werden Passwörter auf eine Länge von 14 Zeichen „aufgestockt“ und in zwei 7er-Blöcke aufgeteilt, die dann in „Uppercase“ umgewandelt als Schlüssel für DES-Operationen verwendet werden. Die zwei Ergebnisse der DES-Operationen werden dann zusammengefügt und bilden den LM Hash. Bei der Nutzung von LM sind zwei Hauptschwächen zu beachten:

  • Die Passwortlänge ist auf 14 Zeichen beschränkt
  • Die Sicherheit des 14 Zeichen langen Passwortes wird durch das Splitten in zwei 7er-Blöcke drastisch reduziert

Die Nutzung von NTLM und NTLMv2

NTLM ist vom Verfahren her viel einfacher als LM. Das Passwort wird als Key für eine MD4-Operation verwendet. Das Ergebnis der MD4-Operation ist der gebildete NTLM-Hash.

Die Passwörter sind bei NTLM „Case Sensitive“ und zudem werden Passwörter mit einer Länge von bis zu 127 Zeichen unterstützt. NTLMv2 erweitert NTLM um eine Client-Challenge und die Nutzung von Timestamps, um Reply-Attacken zu entgehen.

Die Pass-the-Hash-Technik in der Theorie

Im Rahmen der Windows-eigenen Single-Sign-on Funktion reicht es oft, das gehashte Passwort zu liefern. Hierfür nutzt man Tools, mit denen man die Hashes aus der SAM-Datei eines Opfersystems bzw. aus dem LSASS-Dienst extrahiert. Mithilfe entsprechender Funktionen lassen sich Hash-Werte dann auch wieder auf einem anderen System importieren, um somit Zugriff mit einer fremden Identität zu erhalten. Es ist eine Vielzahl solcher Tools im Internet verfügbar.

Pass-the-Hash – 13 Jahre alt und immer noch nicht ausreichend bekannt

Die Pass-the-Hash-Technik wurde schon 1997 von Paul Ashton in Form eines Exploits mit dem Namen http://www.securityfocus.com/bid/233/info

Inhalt

  • Seite 1: Was sind Passwort-Hashes
  • Seite 2: Wichtige Hash-Formate
  • Seite 3: Beispiel für einen Pass-the-Hash-Angriff

Beispiel für einen Pass-the-Hash-Angriff

Der Angreifer möchte auf Dateien innerhalb einer Server-Freigabe zugreifen, für die nur der Geschäftsführer des Unternehmens Berechtigungen hat. Nach hinreichender Prüfung stellt der Angreifer fest, dass das Server-Betriebssystem keine Ihm bekannte Schwachstellen aufweist. Er versucht nun, den Weg über ein Zweitsystem zu gehen.

Hierfür attackiert er einen anderen Mitarbeiter-Client. Nachdem er den Internet Service Provider (ISP) des Unternehmens ermittelt hat, versendet er eine E-Mail mit einer angehängten PDF-Datei. Diese E-Mail ist soll den Empfänger glauben machen, er erhalte vom ISP eine AGB-Änderung. Die PDF-Datei wurde allerdings mit dem Metasploit-Framework erstellt und enthält einen Adobe Acrobat Exploit.

Shell-Zugriff auf Mitarbeiter-System und Server

Der Angreifer hat nach erfolgreichem Ausführen des Exploits einen Shell-Zugriff auf dem Opfersystem und dadurch die Rechte des System-Administrators erlangt. Als Payload für das PDF-Exploit hat der Angreifer die Meterpreter Shell genutzt, die viele weitere Funktionen mit sich bringt.

Mithilfe des Befehls „hashdump“ erhält der Angreifer beispielsweise eine Liste dem System bekannten Nutzernamen mit dem dazugehörigen Hashwerten. Der Angreifer kopiert sich den Hashwert eines Benutzers, von dem er ausgeht, dass dieser Zugriffsrechte auf dem Server besitzt.

Nun führt der Angreifer das Skript „exploit/smb/psexec“ aus. Diesem Skript übergibt der Angreifer den Benutzernamen und als Passwort den vorher kopierten Hashwert. Ist das Skript ausgeführt hat der Angreifer einen Shellzugriff auf den vorher so schwer zu erreichenden Server. Nun stehen ihm alle Türen offen um Daten abzugreifen oder zu manipulieren.

Fazit

Bei dem Einsatz von älteren Windows-Versionen sollte man bemüht sein, die neuesten Hashing-Verfahren zu erzwingen. Aber das allein führt nicht zu ausreichender Sicherheit. Wenn in einer Firmenumgebung auch nur ein Benutzersystem anfällig ist, so kann ein Angreifer möglicherweise auf einen gehärteten Server zugreifen und Daten manipulieren oder auslesen. Daher ist es wichtig nicht nur an zentraler Stelle für Schutzmechanismen zu sorgen, sondern IT-Security-Produkte im Gesamtkonzept einzusetzen.

Inhalt

  • Seite 1: Was sind Passwort-Hashes
  • Seite 2: Wichtige Hash-Formate
  • Seite 3: Beispiel für einen Pass-the-Hash-Angriff

(ID:2049385)