Last Updated on: 15th Dezember 2022, 03:27 pm
John The Ripper ist ein sehr leistungsstarkes Tool zum hacken von Passwörtern. Ich bin darauf gestoßen, weil ich selbst neulich ein geschütztes zip-Archiv auf der Festplatte gefunden hatte und leider das Passwort dazu nicht mehr wusste. Unklar war auch, welche Daten ich dort genau hinein gelegt hatte. Also musste ein Passwortcracker her. Der war unter Ubuntu zwar grundsätzlich verfügbar, funktionierte aber nicht. Scheinbar wurde die notwendigen Zusatztools *2john aus der Standardinstallation entfernt. Hier nun eine Beschreibung in Kurzform wie man John trotzdem nutzen kann.
ABER: diese Anleitung dient ausschließlich dazu, sich bei einem Missgeschick in der og Weise selbst behelfen zu können. Wer versucht unbefugt auf Daten anderer Zuzugreifen, kann sich leicht strafbar machen, §§ 303a StGB ff sollten dazu gelesen und verstanden sein.
Der Standardweg der Installation unter Ubuntu wäre über apt oder snap. Beides hat bei mir nicht funktioniert. Daher hier der Weg via github.
Im eigenen Heimatverzeichnis der Konsole folgendes ausführen:
git clone https://github.com/openwall/john
cd john/src
./configure --without-openssl && make
Anschließend wieder zurück ins eigene Homeverzeichnis wechseln und die HASHES aus dem entsprechenden .zip-file auslesen lassen. Diese werden dann in eine Datei geschrieben, anhand derer JohnTheRipper dann versucht, das Passwort zu ermitteln:
cd ~
./john/run/zip2john my.zip > my.hash
Das Tool zip2john ist wie so einige andere 2john-Tools bei der Standardinstallation von Ubuntu nicht vorhanden. Deswegen der Umweg über git.
Nachdem das file mit den Hashes erstellt wurde, wird John gestartet und geht ans Werk. Das kann wenige Sekunden bis Wochen(!) dauern, je nach Komplexität des Passworts.
Der Aufruf lautet:
./john/run/john my.hash
Using default input encoding: UTF-8
Loaded 21 password hashes with 21 different salts (ZIP, WinZip [PBKDF2-SHA1 256/256 AVX2 8x])
Loaded hashes with cost 1 (HMAC size) varying from 3736875 to 144938890
Will run 16 OpenMP threads
Proceeding with single, rules:Single
Press 'q' or Ctrl-C to abort, 'h' for help, almost any other key for status
Almost done: Processing the remaining buffered candidate passwords, if any.
0g 0:00:00:16 DONE 1/3 (2022-12-15 15:07) 0g/s 121672p/s 121739c/s 121739C/s my.zip/whatever.doc..next.doc
Proceeding with wordlist:./john/run/password.lst
Enabling duplicate candidate password suppressor
Am Ende des Prozesses wird dann für jeden gefundenen Hash-Wert das jeweilige Passwort ausgegeben (wenn es denn geknackt werden konnte). Auf diese Weise lässt sich übrigens auch die Sicherheit der eigenen Passwörter prüfen. Wird das Passwort in wenigen Sekunden ermittelt, war es wohl kein besonders gutes und sollte komplexer werden.