Wörterbuchangriff auf ein Passwort-Leak
Nicht aufgepasst
Die Firma Wolkendienste GmbH hat nicht aufgepasst und eine Datei mit gehashten Passwörtern verloren - hier ist sie pws.zip
Einstieg in "john"
John ist ein Programm, mit dem man einen Wörterbuchangriff (oder auch einen Brute-force Angriff) auf eine solche Passwortliste ausführen kann. Bei Kali-Linux ist John bereits dabei.
Die einfachste Weise, john
zu verwenden, wenn die gehashten Passworte in der Datei passworte
gespeichert sind, ist:
john passworte
Dabei verwendet john
ein mit dem Programm ausgeliefertes Wörterbuch, um Passwörter zu hashen und mit den gespeicherten Passwörtern zu vergleichen.
(A1)
- Entpacke die Datei mit den geleakten Kennwörtern und öffne sie mit einem Texteditor - welche Struktur hat sie?
- Führe einfachen
john
Befehl von oben mit der entpackten Datei aus. - Erstelle ein kurzes Ablaufdiagramm: Wie geht das
john
schrittweise vor, um zu ermitteln, welches Passwort ein Benutzer in der Passwortdatei hat? - Analysiere die Ausgaben des Programms beim Programmstart. Wieviele Hashes wurden geladen und welche Informationen über diese hat
john
bereits vor dem Beginn des Angriffs ermittelt (Du kannst Informationen zu CUDA Support und Warnungen ignorieren)? - Nachdem
john
einige (sehr einfach Passworte) ermittelt hat, probiert es weitere Passworte aus. Breche den Vorgang mitSTRG-C
ab, führe denjohn
Befehl anschließend erneut aus. Analysiere wieder, wieviele Hashes geladen wurden, achte darum wieviele Hashesjohn
als "remaining" betrachtet - was fällt auf?
John führt Buch über die bereits ermittelten Kennworte - geknackte Hashes werden nicht erneut geladen, das Programm merkt sich auch, wie weit es beim probierten gekommen ist. Mit dem Befehl john –show passworte
kann man sich bereits gefundene Kennworte anzeigen lassen.
Um john
in seinen Ausgangszustand zu versetzen, kann man die Dateien im Verzeichnis ~/.john
löschen.
Wörterbücher und Kombinationen
Die sehr einfachen Kennworte hat john
fast unmittelbar nach dem Start bereits ausgegeben - diese standen in seinem Standardwörterbuch weit oben. Ob ein Angriff zum Erfolg führt hängt sehr davon ab, ob man ein Wörterbuch verwendet, das zur Zielgruppe passt. Wenn man beispielsweise ein eigenes Kennwort vergessen hat, sich aber noch an Bestandteile erinnert, kann man sich ein "maßgeschneidertes" Wörterbuch für dieses Zweck schreiben.
Weiß man wenig über die verwendeten Kennworte, kann man auf umfangreichere Wortlisten wie von Probable Wordlists oder welche von dort zurückgreifen. Achtung, solche Listen sind schnell sehr groß. Recht populär bei überschaubarer Größe ist z.B. rockyou.txt
.
(A2)
- Lade die Datei
rockyou.txt.bz2
herunter und entpacke sie - Schau dir ihren Inhalt an
- Führe den Befehl
john --wordlist="rockyou.txt" passworte
aus und begutache das Ergebnis - wie erklärst du dir das?
(A3) Eigene Kennworte testen
Mit dem Befehl
openssl passwd -5 -salt Salt Passwort
kannst du zum Passwort Passwort den mit Salt gesalzenen Hash erzeugen.
Passe Salt und Passwort entsprechend an und probiere den Befehl aus. Nun kannst du weitere Zeilen in die passworte-Datei einfügen, um eigene Kennwörter zu testen.
- Teste zunächst mit einfachen Worten
- Mache die Kennwörter dann länger und besser