von Thomas
Erstellt am 25.04.2022
Bitte beachtet: Das Tool, welches ich hier vorstelle ist dazu gedacht, um eigene Passwörter auf Sicherheit zu testen. John the Ripper darf nicht unautorisiert bei Dateien verwendet werden, die euch nicht gehören!
In diesem Tutorial möchte ich euch das Tool John the Ripper vorstellen. John the Ripper wird häufig verwendet um beispielsweise vergessene Passwörter zu knacken. Aber auch zum testen des eigenen Passworts eignet es sich sehr gut. Manch einer ist überrascht, wie schnell ein kurzes Passwort mit Hilfe einer Brute-Force-Attacke geknackt ist. In diesem Artikel möchte ich mit euch als Beispiel eine verschlüsselte zip Datei knacken, welche mit dem Passwort hallo123 verschlüsselt wurde.
John the Ripper ist für Windows, macOS und Linux verfügbar. Bei Kali Linux ist es sogar bereits vorinstalliert. Gerade Kali Linux hat den entscheidenden Vorteil, dass bereits eine Wortliste mit Passwörtern unter /usr/share/wordlists/ vorhanden sind. Bei den anderen beiden Betriebssystemen müssen die Listen ggf. zusätzlich heruntergeladen werden.
Zunächst muss ein Passwort-Hash aus der zu knackenden Datei erstellt werden. John the Ripper bringt die entsprechenden Tools dazu mit. Für unser zip-Archiv verwenden wir zip2john, möchten wir eine PDF knacken ist das Pendant pdf2john
zip2john demo-john.zip > passwort.hash
Haben wir den Hash erzeugt, kann es mit dem knacken losgehen. John versucht sich zunächst an einem Wörterbuchangriff, wenn eins mit der Option --wordlistangegeben ist. Solche Wortlisten sind wie bereits erwähnt unter Kali Linux massig vorhanden. Sollte kein Passwort passen, versucht das Tool systematisch ASCII-Zeichen. Mit dieser Brute-Force-Attacke soll das Passwort gefunden werden. Gestartet wird das Ganze durch folgenden einfachen Befehl:
john passwort.hash
Nun kommt es drauf an, wie lange das Passwort ist und welche Hardware verwendet wird, bis John das richtige Passwort ermittelt. Bei langen sicheren Passwörtern kann das paar Jahre dauern. Bei einfachen kurzen, sollte sich schnell ein Ergebnis zeigen.
Manchmal erinnert man sich noch an Teile von seinem altem Passwort. In unserem zip-Beispiel haben wir das Passwort hallo123 genutzt. Können wir uns nur noch an den hallo Teil erinnern aber wissen, dass drei Zahlen folgen, können wir genau das John mitteilen und die Wartezeit so extrem verkürzen. Dazu nutzen wir die Option -mask.
john hash -mask=hallo?d?d?d Using default input encoding: UTF-8 Loaded 1 password hash (PKZIP [32/64]) Will run 8 OpenMP threads Press 'q' or Ctrl-C to abort, almost any other key for status hallo123 (demo-john.zip/demo-john/geheim.txt) 1g 0:00:00:00 100.0g/s 100000p/s 100000c/s 100000C/s hallo111..hallo777 Use the "--show" option to display all of the cracked passwords reliably Session completed
Bei drei Zahlen hat das Knacken mit meiner Hardware keine Sekunde gedauert.
Interessant ist diese Vorgehensweise, wenn gewisse Muster bei der Erstellung von Passwörtern genutzt werden. Das Alles kann mit John abgebildet werden. Die Dokumentation des Tools liefert weitere Informationen zu der Verwendung.