John the Ripper (JtR) ist ein Passwort-Cracker der ursprünglich für UNIX-basierte Systeme entwickelt und erstmals 1996 veröffentlicht wurde. Mit Hilfe dieses essenziellen Pentesting Tools können Sie die Stärke von Passwörtern überprüfen und verschlüsselte (beziehungsweise im Hash-Format vorliegende) Kennwörter im Brute-Force-Verfahren oder per Dictionary-Attacke knacken.
Das Tool ist sowohl in einer GNU-lizenzierten als auch in einer proprietären Version erhältlich - darüber hinaus steht auf GitHub auch eine Community-basierte "Jumbo"-Variante zum Download bereit. Für Security-Profis empfiehlt sich zweitgenannte Version: Sie weist Performance-Optimierungen auf und hat zusätzliche Features wie multilinguale Wortlisten und Support für 64-bit-Architekturen an Bord.
Dieser Artikel verrät Ihnen, wie John the Ripper funktioniert, welche Optionen das Tool zum Knacken von Passwörtern bietet und zeigt Ihnen anhand einer beispielhaften Anleitung, wie Sie in der Praxis damit arbeiten.
John the Ripper: Funktionsweisen
Wie die meisten anderen Passwort-Cracker weist auch John the Ripper drei grundlegende Funktionsweisen auf:
Dictionary-Angriff: Wörterbücher oder Passwort-Listen dienen als Quelle. Das Tool gibt jedes einzelne vorhandene Passwort ein und versucht so, die richtige Kennung herauszubekommen.
Brute-Force-Attacke: John the Ripper verlangt bei dieser Angriffsart einige Konfigurationsparameter, etwa die minimale und maximale Passwortlänge, die Art der enthaltenen Zeichen (nur Buchstaben, Buchstaben und Zahlen, Buchstaben, Zahlen und Sonderzeichen) und die Reihenfolge der Abfrage. Die ideale Brute-Force-Konfiguration zu finden, erfordert ein gewisses Maß an Expertise. Ist die Konfiguration abgeschlossen, testet John the Ripper alle auf dieser Basis möglichen Passwort-Kombinationen und benachrichtigt Sie im Erfolgsfall. Dieser Prozess kann sehr effektiv, aber auch extrem zeitintensiv sein: Es könnte mehr als 9 Jahre dauern, ein Passwort zu cracken, das aus neun Zeichen (Zahlen, Buchstaben und Sonderzeichen) besteht.
Rainbow Tables: Applikationen, die Wert auf Sicherheit legen, speichern Passwörter nicht im Plaintext-Format ab. Stattdessen verwandeln Sie die Kennungen in Hash-Dateien. Insbesondere wenn große Listen mit Kennwörtern in Hash-Form vorliegen, empfehlen sich Rainbow-Table-Angriffe, bei denen solche Listen mit vorberechneten Daten-Pools abgeglichen werden, um die Kennungen in das korrekte Plaintext-Format zurück zu verwandeln. Im Vergleich zu Brute-Force-Angriffen versprechen Rainbow-Table-Attacken in der Regel schnelleren Cracking-Erfolg - es sei denn, es handelt sich um verschlüsselte ("salted") Hash Files.
John the Ripper: Betriebsmodi
John the Ripper bringt drei verschiedene Betriebsmodi mit:
Single Crack Mode: Die Macher von John the Ripper empfehlen diesen Modus, da er als der schnellste gilt. Der Single Crack Mode arbeitet mit den Informationen aus UNIX passwd-Dateien. Das ist besonders zielführend, wenn der Username entweder bekannt oder leicht zu erraten ist (zum Beispiel E-Mail-Adressen).
Wordlist-Modus: Bei diesem Verfahren lassen sich selbst erstellte Textdateien beziehungsweise Passwortlisten einsetzen (idealerweise ein Passwort pro Zeile und keine Duplikate). JtR bringt auch einige Default-Listen mit (die proprietäre Version bietet hierbei die größte Auswahl), sortiert aber die vorhandenen Passwörter nicht automatisch. Das lässt sich jedoch relativ einfach manuell nachholen:
Tr A-Z a-z < SOURCE | sort -u > TARGET
Incremental Mode: Dieser Modus bildet das JtR-Äquivalent zu Brute Force und kann sich daher zu einem extremen Zeitfresser entwickeln - oder nie zu einem Ende kommen, je nachdem wie komplex das zu crackende Passwort ist.
Darüber hinaus stellt JtR auch einen benutzerdefinierten External Mode zur Verfügung.
John the Ripper: Tutorial
Ein detaillerter Use Case auf der offiziellen Website zum Tool nimmt ein UNIX "shadow" File in den Fokus, das Passwörter für User- und System Accounts im Hash-Format beinhaltet. Neuere UNIX-basierte Distributionen speichern eine Liste mit Usernamen und anderen Informationen unter einem anderen Pfad als die korrespondierenden Hash Files. Deswegen besteht der erste Schritt mit John the Ripper darin, die beiden Dateien zu vereinigen. Das funktioniert mit folgendem Befehl:
umask 077
unshadow /etc/passwd /etc/shadow > mypasswd
umask 077
stellt sicher, dass das neu erschaffene "mypasswd" File mit ausgiebigen Berechtigungen ausgestattet ist und mit JtR funktioniert. Der einfachste Weg, die Datei im Autopilot-Modus auszuführen, führt über john mypasswd
.
Das lässt zunächst den Single-Crack-Modus auf die neu erstellte mypasswd-Datei los. Bleibt der Cracking-Erfolg aus, folgt im zweiten Schritt der Wordlist Mode (mit den voreingestellten Standard-Settings und -Listen). Wenn all diese Stricke reißen, wechselt John the Ripper schließlich in den Incremental Mode. Sie können die Session auch jederzeit canceln und über folgenden Befehl zu einem späteren Zeitpunkt fortsetzen: john --restore
Hier finden Sie eine vollständige Liste mit Nutzungsbeispielen - das "offizielle" Manual von John the Ripper können Sie über den Befehl man john
einsehen. Bevor Sie "Ernst machen", empfiehlt es sich, das Tool entsprechend ihrer Präferenzen zu konfigurieren.
John the Ripper zählt nicht umsonst zu den beliebtesten Passwort-Crackern: Dank seiner Auswahl an kostenlosen Open-Source-Versionen und des ausgeprägten Community-Supports ist JtR essenzieller Bestandteil eines jeden Pentester-Toolkits.
Dieser Beitrag basiert auf einem Artikel unserer US-Schwesterpublikation CSO Online.