Installer John the Ripper sous Linux

Kali LinuxBeginner
Pratiquer maintenant

Introduction

John the Ripper (souvent abrégé en JtR) est un outil populaire et puissant de sécurité des mots de passe et de récupération de mots de passe open-source, disponible pour de nombreux systèmes d'exploitation. Bien qu'il puisse souvent être installé à partir d'un gestionnaire de paquets, le compiler à partir du code source garantit que vous disposez de la dernière version et permet des configurations personnalisées.

Dans ce laboratoire, vous apprendrez à installer John the Ripper sur un système Linux en téléchargeant le code source, en le compilant et en l'ajoutant au PATH de votre système pour un accès facile. Toutes les opérations seront effectuées dans le répertoire ~/project.

Téléchargement du code source de John the Ripper

Dans cette étape, vous allez télécharger le code source de John the Ripper depuis son dépôt GitHub officiel. Nous allons ensuite extraire l'archive téléchargée pour la préparer à la compilation. Votre répertoire de travail actuel est ~/project.

Tout d'abord, utilisez la commande wget pour télécharger une version stable spécifique de la version "Jumbo" de John the Ripper, améliorée par la communauté.

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

Vous devriez voir une sortie indiquant que le fichier est en cours de téléchargement et d'enregistrement.

--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]

Ensuite, extrayez le contenu du fichier .tar.gz téléchargé à l'aide de la commande tar.

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

Cette commande créera un nouveau répertoire contenant le code source. Vous pouvez le vérifier en listant le contenu de votre répertoire actuel.

ls -l

Vous devriez voir le nouveau répertoire créé john-1.9.0-jumbo-1.

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

Installation des dépendances requises pour la compilation

Dans cette étape, vous allez installer les outils et bibliothèques nécessaires à la compilation de John the Ripper à partir des sources. La compilation de logiciels dépend souvent d'autres paquets, tels qu'un compilateur et des bibliothèques de développement.

Tout d'abord, il est de bonne pratique de mettre à jour la liste des paquets de votre système pour vous assurer d'obtenir les dernières versions des dépendances.

sudo apt-get update

Ensuite, installez les paquets essentiels pour la construction de logiciels sur les systèmes basés sur Debian comme Ubuntu. Nous avons besoin de build-essential (qui inclut le compilateur GCC et make), de libssl-dev (pour le support cryptographique) et de yasm (un assembleur).

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

Le drapeau -y répond automatiquement "oui" à toutes les invites, permettant à l'installation de se poursuivre sans interaction de l'utilisateur. Vous verrez beaucoup de sortie pendant le téléchargement et l'installation des paquets.

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) ...
...

Une fois les dépendances installées, vous êtes prêt à compiler le code source.

Compilation de John the Ripper à partir des sources

Dans cette étape, vous allez compiler le code source de John the Ripper. Le processus de compilation implique généralement deux commandes principales : ./configure et make.

Tout d'abord, naviguez dans le répertoire src à l'intérieur du dossier du code source extrait.

cd john-1.9.0-jumbo-1/src/

Maintenant, exécutez le script configure. Ce script vérifie votre système pour les dépendances requises et prépare l'environnement de construction en créant un Makefile adapté à votre système.

./configure

La sortie affichera les résultats de ses vérifications.

...
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".

Une fois la configuration terminée, vous pouvez lancer la compilation en utilisant la commande make. Nous utiliserons make -s clean pour supprimer tous les fichiers de build précédents et make -sj4 pour exécuter la compilation en utilisant 4 jobs parallèles, ce qui accélère le processus.

make -s clean && make -sj4

Ce processus peut prendre quelques minutes. Une fois terminé, l'exécutable john compilé sera placé dans le répertoire ../run/. L'invite de commande reviendra sans aucune erreur si la construction a réussi.

Vérification de l'installation de John the Ripper

Dans cette étape, vous allez vérifier que John the Ripper a été compilé avec succès en exécutant l'exécutable et sa suite de tests intégrée.

Le binaire compilé ne se trouve pas dans le répertoire src, mais dans le répertoire run. Naviguons-y.

cd ../run

Maintenant, exécutez l'exécutable john sans aucun argument pour afficher ses informations d'utilisation. C'est un moyen rapide de confirmer qu'il s'exécute.

./john

Vous devriez voir les informations de version et d'utilisation, ce qui confirme que le programme est exécutable.

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]
...

Pour effectuer une vérification plus approfondie, exécutez le benchmark et le test automatique intégrés. Cela testera les différents algorithmes de hachage et s'assurera qu'ils fonctionnent correctement sur votre système.

./john --test

Le test s'exécutera pendant une minute ou deux et affichera les résultats du benchmark pour de nombreux types de hachage différents.

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

Voir "All tests passed" à la fin confirme que votre compilation fonctionne correctement.

Ajouter John the Ripper au PATH système

Dans cette étape, vous allez ajouter le répertoire contenant l'exécutable john à la variable d'environnement PATH de votre système. Cela vous permettra d'exécuter john depuis n'importe quel emplacement dans le terminal sans avoir à taper le chemin complet.

L'exécutable john est actuellement situé dans ~/project/john-1.9.0-jumbo-1/run. Pour le rendre accessible globalement à votre utilisateur, vous devez ajouter ce chemin au fichier de configuration de votre shell. Comme l'environnement de laboratoire utilise Zsh, le fichier est ~/.zshrc.

Utilisez la commande echo pour ajouter la commande export à votre fichier ~/.zshrc.

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

Cette commande ajoute le répertoire run au début de votre PATH. La modification ne prendra effet que dans les nouvelles sessions de terminal. Pour l'appliquer à votre session actuelle, vous devez "sourcer" le fichier de configuration.

source ~/.zshrc

Maintenant, vérifions que cela fonctionne. Tout d'abord, sortez du répertoire run pour aller dans votre répertoire personnel.

cd ~

Depuis votre répertoire personnel, essayez d'exécuter john sans spécifier le chemin.

john

Si le PATH a été correctement défini, vous verrez les mêmes informations d'utilisation qu'auparavant. Cela confirme que vous pouvez maintenant exécuter John the Ripper depuis n'importe où.

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]
...

Résumé

Félicitations ! Vous avez installé avec succès John the Ripper à partir de son code source sur un système Linux.

Dans ce laboratoire, vous avez appris à :

  • Télécharger le code source d'un paquet logiciel à l'aide de wget.
  • Installer les dépendances de compilation nécessaires à l'aide de apt-get.
  • Configurer et compiler le code source avec ./configure et make.
  • Vérifier une compilation réussie en exécutant le programme et ses tests intégrés.
  • Ajouter l'emplacement du programme à votre PATH système pour un accès pratique depuis n'importe quel répertoire.

Ce processus de compilation à partir des sources est une compétence fondamentale pour les utilisateurs Linux et vous donne plus de contrôle sur vos installations logicielles. Vous êtes maintenant prêt à explorer les puissantes fonctionnalités de John the Ripper pour l'audit de la sécurité des mots de passe.