Einleitung
John the Ripper (JtR) ist ein beliebtes Open-Source-Tool zum Knacken von Passwörtern. Während die Standardversion leistungsstark ist, erweitert die "Jumbo"-Version ihre Fähigkeiten erheblich, indem sie Unterstützung für viele weitere Hash-Typen, Cracking-Modi und Dienstprogramme hinzufügt. Dieses Lab führt Sie durch die Installation von John the Ripper Jumbo und die Erkundung seiner erweiterten Funktionen. Sie lernen, wie Sie neue unterstützte Hash-Formate identifizieren, fortgeschrittene Cracking-Modi nutzen und zusätzliche Tools entdecken, die mit dem Jumbo-Paket geliefert werden. Am Ende dieses Labs werden Sie ein solides Verständnis dafür haben, wie John the Ripper Jumbo für umfassendere Aufgaben der Passwortprüfung und -wiederherstellung eingesetzt werden kann.
John the Ripper Jumbo installieren
In diesem Schritt installieren Sie John the Ripper Jumbo aus seinem offiziellen GitHub-Repository. Dies beinhaltet das Klonen des Repositories, das Navigieren in das Quellverzeichnis und das Kompilieren der Software.
Öffnen Sie zuerst Ihr Terminal. Stellen Sie sicher, dass Sie sich im Verzeichnis ~/project befinden.
cd ~/project
Klonen Sie nun das John the Ripper Jumbo-Repository:
git clone https://github.com/openwall/john-the-ripper.git
Navigieren Sie in das Verzeichnis john-the-ripper/src:
cd john-the-ripper/src
Kompilieren Sie John the Ripper Jumbo. Wir verwenden make clean && make -s, um einen sauberen Build sicherzustellen und die ausführliche Ausgabe für ein übersichtlicheres Terminal zu unterdrücken.
make clean && make -s
Nach der Kompilierung befindet sich die ausführbare Datei john im Verzeichnis ~/project/john-the-ripper/run. Sie können die Installation überprüfen, indem Sie die Version überprüfen.
~/project/john-the-ripper/run/john --version
Sie sollten eine Ausgabe ähnlich dieser sehen, die die Jumbo-Version anzeigt:
John the Ripper 1.9.0-jumbo-1 (linux-gnu 64-bit x86_64 AVX2)
Copyright (c) 1996-2023 by Solar Designer and others
...
Neue von Jumbo unterstützte Hash-Formate identifizieren
In diesem Schritt erkunden Sie die umfangreiche Liste der von John the Ripper Jumbo unterstützten Hash-Formate. Die Jumbo-Version erweitert die Anzahl der knackbarren Hash-Typen im Vergleich zur Standardversion erheblich.
Um alle unterstützten Hash-Formate aufzulisten, verwenden Sie die Option --list=formats mit der ausführbaren Datei john. Da die Ausgabe sehr lang ist, leiten wir sie zur einfacheren Anzeige an less weiter.
~/project/john-the-ripper/run/john --list=formats | less
Drücken Sie q, um less nach der Überprüfung der Liste zu beenden.
Sie können die Liste auch filtern, um bestimmte Hash-Typen zu finden. Um beispielsweise Formate im Zusammenhang mit bcrypt anzuzeigen, können Sie grep verwenden:
~/project/john-the-ripper/run/john --list=formats | grep -i bcrypt
Sie sollten eine Ausgabe ähnlich dieser sehen, die verschiedene bcrypt-Formate anzeigt:
bcrypt, bcrypt-opencl, bcrypt-cuda
Dies zeigt, wie Jumbo eine breitere Palette moderner und komplexer Hash-Typen unterstützt und es somit vielseitiger für die Passwortprüfung macht.
Neue Cracking-Modi in Jumbo nutzen
In diesem Schritt lernen Sie einige der neuen Cracking-Modi kennen, die in John the Ripper Jumbo verfügbar sind. Jumbo führt fortschrittliche Cracking-Techniken und Optimierungen ein, die die Effizienz des Crackings verbessern können.
Eine der leistungsstarken Funktionen ist die Möglichkeit, Wortlisten mit Regeln zu verwenden. Erstellen wir eine einfache Passwortdatei und eine Wortliste, um einen grundlegenden Cracking-Versuch zu demonstrieren.
Erstellen Sie zuerst eine Datei namens passwords.txt mit einem Beispiel-Hash. Wir verwenden für die Demonstration einen einfachen MD5-Hash.
echo "user1:21232f297a57a5a743894a0e4a801fc3" > ~/project/passwords.txt
Der Hash 21232f297a57a5a743894a0e4a801fc3 entspricht dem Passwort admin.
Erstellen Sie als Nächstes eine einfache Wortliste namens wordlist.txt:
echo -e "password\nadmin\n123456" > ~/project/wordlist.txt
Versuchen Sie nun, den Hash im Wortlistenmodus zu knacken.
~/project/john-the-ripper/run/john ~/project/passwords.txt --wordlist=~/project/wordlist.txt
Sie sollten eine Ausgabe sehen, die anzeigt, dass das Passwort geknackt wurde:
Using default input encoding: UTF-8
Loaded 1 password hash (Raw-MD5 [MD5])
Cost 1 (iteration count) is not supported for this hash type.
Will run 4 OpenMP threads
Press 'q' or Ctrl-C to abort, almost any other key for status
admin (user1)
1g 0:00:00:00 DONE (2023-10-27 08:00) 100.0g/s 100.0p/s 100.0c/s 100.0C/s admin
Session completed.
Um das geknackte Passwort anzuzeigen, verwenden Sie die Option --show:
~/project/john-the-ripper/run/john ~/project/passwords.txt --show
Ausgabe:
user1:admin
1 password hash cracked, 0 left
Dieses einfache Beispiel demonstriert den Wortlistenmodus. Jumbo unterstützt auch komplexere Modi wie den inkrementellen Modus mit Zeichensätzen, externe Modi und mehr, die Sie anhand der Dokumentation weiter erkunden können.
Zusätzliche Dienstprogramme in Jumbo erkunden
In diesem Schritt erkunden Sie einige der zusätzlichen Dienstprogramme, die mit John the Ripper Jumbo gebündelt sind. Diese Dienstprogramme sind darauf ausgelegt, bei verschiedenen Aspekten der Passwortprüfung zu helfen, wie z. B. bei der Vorbereitung von Passwortdateien oder der Generierung von Wortlisten.
Ein nützliches Dienstprogramm ist unshadow, das die Dateien /etc/passwd und /etc/shadow in ein Format kombiniert, das John the Ripper verarbeiten kann. Obwohl wir keine Systemdateien ändern werden, können wir seine Verwendung simulieren.
Ein weiteres wichtiges Dienstprogramm ist unique, das doppelte Einträge aus einer Wortliste herausfiltern kann. Erstellen wir eine Wortliste mit Duplikaten und verwenden dann unique, um sie zu bereinigen.
Erstellen Sie eine Datei namens duplicate_wordlist.txt:
echo -e "apple\nbanana\napple\norange\nbanana" > ~/project/duplicate_wordlist.txt
Verwenden Sie nun das Dienstprogramm unique, das sich im Verzeichnis run befindet, um Duplikate zu entfernen:
~/project/john-the-ripper/run/unique ~/project/duplicate_wordlist.txt
Die Ausgabe sollte nur eindeutige Wörter anzeigen:
apple
banana
orange
Dies zeigt, wie unique zur Verfeinerung von Wortlisten verwendet werden kann, was für ein effizientes Cracking unerlässlich ist. Weitere Dienstprogramme finden Sie im Verzeichnis ~/project/john-the-ripper/run.
Jumbo im Vergleich zur Standardversion von John the Ripper
In diesem Schritt werden Sie die Hauptunterschiede und Vorteile von John the Ripper Jumbo im Vergleich zur Standardversion verstehen. Während die Standardversion ein solides Werkzeug ist, bietet Jumbo signifikante Verbesserungen.
Die Hauptvorteile von Jumbo umfassen:
- Erweiterte Hash-Unterstützung: Jumbo unterstützt eine wesentlich größere Bandbreite an Hash-Typen, einschließlich vieler moderner und anwendungsspezifischer Hashes, die die Standardversion nicht unterstützt. Dies wurde in Schritt 2 demonstriert.
- Optimierte Leistung: Jumbo enthält oft optimierte Cracking-Algorithmen und eine bessere Auslastung der Hardware (wie GPUs über OpenCL/CUDA, obwohl dies in diesem Labor nicht behandelt wird) für schnelleres Cracking.
- Zusätzliche Dienstprogramme: Wie in Schritt 4 gezeigt, bündelt Jumbo mehrere Hilfsdienstprogramme, die den Prozess der Passwortprüfung optimieren.
- Aktive Entwicklung: Die Jumbo-Version erhält in der Regel häufigere Updates und neue Funktionen von der Community.
Zusammenfassend lässt sich sagen, dass die Jumbo-Version von John the Ripper fast immer die bevorzugte Wahl ist, wenn Sie sich ernsthaft mit Passwortprüfung oder -wiederherstellung beschäftigen, aufgrund ihrer erweiterten Fähigkeiten und aktiven Entwicklung. Die Standardversion mag für grundlegende Aufgaben ausreichend sein, aber Jumbo bietet ein umfassenderes und aktuelleres Toolkit.
Sie haben John the Ripper Jumbo erfolgreich installiert, seine neue Hash-Format-Unterstützung erkundet, einen grundlegenden Cracking-Modus genutzt und eines seiner zusätzlichen Dienstprogramme entdeckt. Dieses Labor hat ein grundlegendes Verständnis der erweiterten Funktionen der Jumbo-Version vermittelt.
Zusammenfassung
In diesem Labor haben Sie John the Ripper Jumbo erfolgreich aus seinem Quellcode installiert und damit den Prozess der Kompilierung eines leistungsstarken Sicherheitstools demonstriert. Anschließend haben Sie seine umfangreiche Unterstützung für verschiedene Hash-Formate erkundet und damit die Vielseitigkeit von Jumbo bei der Verarbeitung unterschiedlicher Arten von Passwort-Hashes hervorgehoben. Sie haben auch praktische Erfahrungen mit einem seiner Cracking-Modi gesammelt, indem Sie einen Beispiel-MD5-Hash mit einer Wortliste geknackt haben. Darüber hinaus haben Sie ein zusätzliches Dienstprogramm, unique, entdeckt und genutzt, das bei der Vorbereitung von Wortlisten für ein effizienteres Cracking hilft. Schließlich haben Sie die wichtigsten Vorteile der Jumbo-Version gegenüber der Standardversion von John the Ripper verstanden und dabei seine breitere Hash-Unterstützung, Leistungsoptimierungen und gebündelten Dienstprogramme hervorgehoben. Dieses Labor hat Sie mit praktischen Fähigkeiten und Kenntnissen ausgestattet, um John the Ripper Jumbo für fortgeschrittene Passwortprüfungs- und Wiederherstellungsaufgaben einzusetzen.


