Penetrationstests, Teil 5: Hashwerte knacken

SecurityIm letzten Artikel dieser Reihe wurde versucht ein lokales Passwort zu erraten und sich im Netzwerk der erfundenen Firma Acme seitwärts weiter zu bewegen. Doch was, wenn man ein Passwort nicht erraten kann?

In dem Testszenario enthalten Servernamen und lokale Admin-Passwörter Namen von Biersorten. Es ist nicht komplett von der Hand zu weisen, dass sich bei viel beschäftigten IT-Mitarbeitern eine gewisse Bequemlichkeit einschleichen kann. Zu Lasten der Sicherheit. „Ich bin jetzt auf dem Server ‚Miller‘, also lautet das Passwort ‚admin-miller‘.“ Hacker nutzen solche Schwachstellen nur zu gerne aus. Doch wird einmal angenommen, Sie landen in einer Umgebung, in der Ihre kreativen Rateversuche fehlschlagen. Hier kann sich ein Hash-basierter Ansatz bezahlt machen. Doch bevor genauer darauf eingegangen wird, wird Ihnen eine viel einfachere Idee vorgestellt: Das Knacken von Passwort-Hashes.

Anzeige
Hashwerte knacken leicht gemacht

Auf Windows-Systemen werden Passwörter niemals klarschriftlich aufbewahrt. Stattdessen speichert Windows den Hashwert von Passwörtern – genauer gesagt den NTLM-Hashwert. Den Hashwert benötigt das Challenge/Response-Authentifizierungsprotokoll von Windows. Im Prinzip weisen die Nutzer ihre Identität nach indem ein Zufallstext mit dem NTLM-Hashwert ihres Passworts als Schlüssel verwendet wird.

Wo speichert Windows diese Hashwerte? Laut unseren Recherchen speichert Windows die Hashwerte lokaler Nutzerkonten in der Datenbank des Sicherheitskonto-Managers (SAM), der Teil der lokalen Sicherheitsautorität (LSA) ist. (Weitere Infos finden Sie in diesem TechNet-Artikel.)

Die erste Frage eines Penetrationstesters lautet: Kann ich auf die Hashwerte zugreifen? Denn sobald man einen Hashwert hat, kann man mit einigen Standardmethoden versuchen das eigentliche Passwort herauszufinden.

Die Antwort lautet: Ja. Es gibt Tools, die den SAM lesen und Hashwerte knacken können. Beispielsweise das über eine einfache Google-Suche zu findende fgdump, Pwdump7 ist eine weitere Möglichkeit. Zum Ausführen dieser Tools benötigt man allerdings erweiterte Rechte. Trotzdem kommt es immer wieder vor, dass ein Hacker das Glück hat, bei einem Power-User zu landen, der auf eine professionell erstellte Phishing-Mail herein gefallen ist.  Es wird also versucht mit fgdump auf einem der Server in der bekannten Acme-IT-Umgebung, die extra eingerichtet wurde. Der untenstehende Screenshot zeigt die Ergebnisse:

Screenshot

Jetzt hat man die NTLM-Hashwerte für zwei lokale Administratorkonten (die langen Zeichenfolgen am Zeilenende). „NO PASSWORD“ bedeutet übrigens, dass fgdump den älteren und deutlich einfacher zu knackenden LM-Hash nicht finden konnte. Was gut ist! LM-Hashes sollte man nicht aktivieren, außer man ist aus Kompatibilitätsgründen dazu gezwungen.

Den Hash knacken

Eine häufig eingesetzte Methode zum Knacken von Hashwerten sind Wörterbuchangriffe. Dabei wird eine riesige Menge häufig verwendeter deutscher Begriffe und vielleicht eine bestehende Liste mit tatsächlich verwendeten Passwörtern nach Hash-Verschlüsselung mit den NTLM-Hashwerten verglichen. Es muss also lediglich der passende Hashwert gefunden und das entsprechende Klartextpasswort ausgegeben werden. Glücklicherweise müssen Sie hier das Rad nicht neu erfinden, denn es gibt Dienste wie diesen hier, die einen Großteil der Arbeit übernehmen.

Hash knacken

Bei diesem Penetrationstest wurde der Hash für „admin2“ eingegeben, und prompt die Lösung, „daisy“ (siehe oben), erhalten. Windows setzt allerdings bestimmte Komplexitätsanforderungen für Passwörter voraus, und in vielen Installationen würde ein derart einfaches Passwort nicht akzeptiert. Etliche relativ komplexe Passwörter lassen sich aber mithilfe einer Brute-Force-Attacke knacken. Oder in einem System befinden sich ältere lokale Konten, die eingerichtet wurden, bevor Windows auf längere Passwörter umgestiegen ist.

John the Ripper

Zu Testzwecken wurde der Dienst auf das komplexere Passwort des Admin-Kontos auf dem Miller-Server angesetzt, das „miller1234“ lautete. Selbst nach tagelangen Brute-Force-Berechnungen war der Dienst nicht in der Lage, das Passwort einfach zu knacken.

Doch so schnell wurde natürlich nicht aufgegeben und man stieß dabei auf ein ausgeklügeltes Tool zum Knacken von Passwörtern: John the Ripper. Es ist in der Lage Brute-Force-Attacken auf eine sehr clevere Art und Weise durchzuführen. John the Ripper verwendet ein spezielles Verfahren, bei dem Zeichen von Wörtern aus einer bestehenden, definierbaren Wörterbuchliste nach den von Ihnen angegebenen Regeln ausgetauscht werden (das sogenannte „Mangling“). Die Regeln wirken zunächst etwas kryptisch, sind aber sehr effektiv. (Hier finden Sie eine relativ leicht verständliche Übersicht zum Thema Mangling.)

Es lassen sich beispielsweise Regeln erstellen, um unterschiedliche Zahlenfolgen an die Begriffe aus dem Wörterbuch anzuhängen. Wenn Sie vermuten, dass Passwörter aus bestimmten Namen und einfachen alphanumerischen Zeichen bestehen, füttern Sie John the Ripper mit einer entsprechenden Liste und konfigurieren anschließend Regeln, um eine Vielzahl unterschiedlicher Suffixe zu testen.

Pass-the-Hash-Angriffe

Das Knacken von NTLM-Hashwerten ist zugegebenermaßen nicht ganz so einfach. Bei Pass-the-Hash-Angriffen wird demgegenüber erst gar nicht erst versucht, den Hashwert zu knacken. Stattdessen wird er direkt in das NTLM-Challenge/Response-Protokoll eingegeben. Die Authentifizierung erfolgt also ohne das Klartextpasswort. In den letzten Microsoft-Releases wurde diese Vorgehensweise allerdings deutlich erschwert, mit Windows 10 ist sie vielleicht sogar gänzlich unmöglich geworden.

http://sites.varonis.com/de/

Das könnte Sie ebenfalls interessieren:

Penetrationstests, Teil 1: Kalkuliertes Risiko
Penetrationstests, Teil 2: RATs
Penetrationstests, Teil 3: RATs und Reverse-Shells
Penetrationstests, Teil 4: Die Seitwärtsbewegung

Anzeige

Weitere Artikel

Newsletter
Newsletter Box

Mit Klick auf den Button "Jetzt Anmelden" stimme ich der Datenschutzerklärung zu.