John the Ripper unter Linux installieren

Kali LinuxBeginner
Jetzt üben

Einleitung

John the Ripper (oft abgekürzt als JtR) ist ein beliebtes und leistungsstarkes Open-Source-Tool zur Überprüfung der Passwortsicherheit und zur Wiederherstellung von Passwörtern, das für viele Betriebssysteme verfügbar ist. Während es oft über einen Paketmanager installiert werden kann, stellt die Kompilierung aus dem Quellcode sicher, dass Sie die neueste Version haben und ermöglicht benutzerdefinierte Konfigurationen.

In diesem Lab lernen Sie, wie Sie John the Ripper auf einem Linux-System installieren, indem Sie den Quellcode herunterladen, ihn kompilieren und ihn zum PATH Ihres Systems hinzufügen, um einen einfachen Zugriff zu ermöglichen. Alle Operationen werden im Verzeichnis ~/project durchgeführt.

John the Ripper Quellcode herunterladen

In diesem Schritt laden Sie den Quellcode für John the Ripper aus seinem offiziellen GitHub-Repository herunter. Anschließend extrahieren wir das heruntergeladene Archiv zur Vorbereitung der Kompilierung. Ihr aktuelles Arbeitsverzeichnis ist ~/project.

Verwenden Sie zunächst den Befehl wget, um eine bestimmte stabile Version der "Jumbo"-Community-erweiterten Version von John the Ripper herunterzuladen.

wget https://github.com/openwall/john/archive/refs/tags/1.9.0-jumbo-1.tar.gz

Sie sollten eine Ausgabe sehen, die anzeigt, dass die Datei heruntergeladen und gespeichert wird.

--2023-10-27 10:30:00--  https://github.com/openwall/john/archive/refs/tags/1.9.0-jumbo-1.tar.gz
Resolving github.com (github.com)... 140.82.121.4
Connecting to github.com (github.com)|140.82.121.4|:443... connected.
HTTP request sent, awaiting response... 302 Found
...
Saving to: ‘1.9.0-jumbo-1.tar.gz’

1.9.0-jumbo-1.tar.gz      100%[===================================>]  22.13M  65.4MB/s    in 0.3s

2023-10-27 10:30:01 (65.4 MB/s) - ‘1.9.0-jumbo-1.tar.gz’ saved [23201448/23201448]

Extrahieren Sie als Nächstes den Inhalt der heruntergeladenen .tar.gz-Datei mit dem Befehl tar.

tar -xzvf 1.9.0-jumbo-1.tar.gz

Dieser Befehl erstellt ein neues Verzeichnis, das den Quellcode enthält. Sie können dies überprüfen, indem Sie den Inhalt Ihres aktuellen Verzeichnisses auflisten.

ls -l

Sie sollten das neu erstellte Verzeichnis john-1.9.0-jumbo-1 sehen.

total 22668
-rw-r--r-- 1 labex labex 23201448 Jul 25  2021 1.9.0-jumbo-1.tar.gz
drwxr-xr-x 9 labex labex     4096 Jul 25  2021 john-1.9.0-jumbo-1

Erforderliche Abhängigkeiten für die Kompilierung installieren

In diesem Schritt installieren Sie die notwendigen Werkzeuge und Bibliotheken, die zum Kompilieren von John the Ripper aus dem Quellcode erforderlich sind. Die Kompilierung von Software hängt oft von anderen Paketen ab, wie z. B. einem Compiler und Entwicklungsbibliotheken.

Zuerst ist es eine gute Praxis, die Paketliste Ihres Systems zu aktualisieren, um sicherzustellen, dass Sie die neuesten Versionen der Abhängigkeiten erhalten.

sudo apt-get update

Installieren Sie als Nächstes die wesentlichen Pakete für die Softwareerstellung auf Debian-basierten Systemen wie Ubuntu. Wir benötigen build-essential (das den GCC-Compiler und make enthält), libssl-dev (für kryptografische Unterstützung) und yasm (einen Assembler).

sudo apt-get install -y build-essential libssl-dev yasm

Das Flag -y beantwortet automatisch alle Aufforderungen mit "Ja" und ermöglicht so die Installation ohne Benutzerinteraktion. Sie werden viele Ausgaben sehen, während die Pakete heruntergeladen und installiert werden.

Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
...
The following NEW packages will be installed:
  build-essential dpkg-dev g++ g++-11 libssl-dev libstdc++-11-dev make yasm
...
Setting up libssl-dev:amd64 (3.0.2-0ubuntu1.10) ...
Setting up make (4.3-4.1build1) ...
...

Nachdem die Abhängigkeiten installiert sind, sind Sie nun bereit, den Quellcode zu kompilieren.

John the Ripper aus dem Quellcode kompilieren

In diesem Schritt kompilieren Sie den Quellcode von John the Ripper. Der Kompilierungsprozess umfasst typischerweise zwei Hauptbefehle: ./configure und make.

Navigieren Sie zuerst in das Verzeichnis src innerhalb des extrahierten Quellcode-Ordners.

cd john-1.9.0-jumbo-1/src/

Führen Sie nun das Skript configure aus. Dieses Skript prüft Ihr System auf die erforderlichen Abhängigkeiten und bereitet die Build-Umgebung vor, indem es eine Makefile erstellt, die auf Ihr System zugeschnitten ist.

./configure

Die Ausgabe zeigt die Ergebnisse seiner Prüfungen.

...
checking for yasm... yasm
checking for OpenSSL... yes
...
configure: creating ./config.status
config.status: creating Makefile
config.status: creating common.h
...
Configuration finished. You can now run "make".

Sobald die Konfiguration abgeschlossen ist, können Sie die Kompilierung mit dem Befehl make starten. Wir verwenden make -s clean, um alle vorherigen Build-Dateien zu entfernen, und make -sj4, um die Kompilierung mit 4 parallelen Jobs auszuführen, was den Prozess beschleunigt.

make -s clean && make -sj4

Dieser Prozess kann einige Minuten dauern. Sobald er abgeschlossen ist, wird die kompilierte ausführbare Datei john im Verzeichnis ../run/ platziert. Die Eingabeaufforderung kehrt ohne Fehler zurück, wenn der Build erfolgreich war.

John the Ripper Installation überprüfen

In diesem Schritt überprüfen Sie, ob John the Ripper erfolgreich kompiliert wurde, indem Sie die ausführbare Datei und ihre integrierte Testsuite ausführen.

Die kompilierte Binärdatei befindet sich nicht im Verzeichnis src, sondern im Verzeichnis run. Navigieren wir dorthin.

cd ../run

Führen Sie nun die ausführbare Datei john ohne Argumente aus, um die Nutzungsinformationen anzuzeigen. Dies ist eine schnelle Möglichkeit, zu bestätigen, dass sie ausgeführt wird.

./john

Sie sollten die Versions- und Nutzungsinformationen sehen, was bestätigt, dass das Programm ausführbar ist.

John the Ripper 1.9.0-jumbo-1 [linux-gnu 64-bit x86_64 AVX2 AC]
Copyright (c) 1996-2019 by Solar Designer and others
Homepage: https://www.openwall.com/john/

Usage: john [OPTIONS] [PASSWORD-FILES]
...

Um eine gründlichere Überprüfung durchzuführen, führen Sie den integrierten Benchmark und den Selbsttest aus. Dies testet die verschiedenen Hashing-Algorithmen und stellt sicher, dass sie auf Ihrem System korrekt funktionieren.

./john --test

Der Test wird ein bis zwei Minuten dauern und Benchmark-Ergebnisse für viele verschiedene Hash-Typen ausgeben.

Benchmarking: descrypt, traditional crypt(3) [DES 128/128 SSE2-16]... DONE
Many salts:	12032K c/s real, 12032K c/s virtual
Only one salt:	11141K c/s real, 11141K c/s virtual

...

Benchmarking: LM [DES 128/128 SSE2-16]... DONE
Raw-MD5 [MD5 128/128 SSE2-16]... DONE
...
All tests passed

Wenn am Ende "All tests passed" angezeigt wird, bestätigt dies, dass Ihr Build korrekt funktioniert.

John the Ripper zum System-PATH hinzufügen

In diesem Schritt fügen Sie das Verzeichnis, das die ausführbare Datei john enthält, zur PATH-Umgebungsvariable Ihres Systems hinzu. Dadurch können Sie john von jedem beliebigen Ort im Terminal ausführen, ohne den vollständigen Pfad eingeben zu müssen.

Die ausführbare Datei john befindet sich derzeit unter ~/project/john-1.9.0-jumbo-1/run. Um sie für Ihren Benutzer global zugänglich zu machen, müssen Sie diesen Pfad zur Konfigurationsdatei Ihrer Shell hinzufügen. Da die Laborumgebung Zsh verwendet, ist die Datei ~/.zshrc.

Verwenden Sie den Befehl echo, um den export-Befehl an Ihre ~/.zshrc-Datei anzuhängen.

echo 'export PATH="$HOME/project/john-1.9.0-jumbo-1/run:$PATH"' >> ~/.zshrc

Dieser Befehl fügt das Verzeichnis run am Anfang Ihres PATH hinzu. Die Änderung wird erst in neuen Terminalsitzungen wirksam. Um sie auf Ihre aktuelle Sitzung anzuwenden, müssen Sie die Konfigurationsdatei "sourcen".

source ~/.zshrc

Lassen Sie uns nun überprüfen, ob es funktioniert. Wechseln Sie zuerst aus dem Verzeichnis run in Ihr Home-Verzeichnis.

cd ~

Versuchen Sie von Ihrem Home-Verzeichnis aus, john auszuführen, ohne den Pfad anzugeben.

john

Wenn der PATH korrekt gesetzt wurde, sehen Sie dieselben Nutzungsinformationen wie zuvor. Dies bestätigt, dass Sie John the Ripper nun von überall aus ausführen können.

John the Ripper 1.9.0-jumbo-1 [linux-gnu 64-bit x86_64 AVX2 AC]
Copyright (c) 1996-2019 by Solar Designer and others
Homepage: https://www.openwall.com/john/

Usage: john [OPTIONS] [PASSWORD-FILES]
...

Zusammenfassung

Herzlichen Glückwunsch! Sie haben John the Ripper erfolgreich aus seinem Quellcode auf einem Linux-System installiert.

In diesem Labor haben Sie gelernt, wie Sie:

  • Den Quellcode eines Softwarepakets mit wget herunterladen.
  • Die notwendigen Build-Abhängigkeiten mit apt-get installieren.
  • Den Quellcode mit ./configure und make konfigurieren und kompilieren.
  • Eine erfolgreiche Kompilierung durch Ausführen des Programms und seiner integrierten Tests überprüfen.
  • Den Speicherort des Programms zu Ihrem System-PATH hinzufügen, um einen bequemen Zugriff von jedem Verzeichnis aus zu ermöglichen.

Dieser Prozess des Kompilierens aus dem Quellcode ist eine grundlegende Fähigkeit für Linux-Benutzer und gibt Ihnen mehr Kontrolle über Ihre Softwareinstallationen. Sie sind nun bereit, die leistungsstarken Funktionen von John the Ripper für die Überprüfung der Passwortsicherheit zu erkunden.