John the ripper est un logiciel bien connu du monde de la sécurité pour cracker des mots de passe. Gratuit et assez simple d’utilisation, c’est une valeur sûre. Il supporte un grand nombre de types de hash différents, et comporte même des outils pour transformer les fichiers en hash, si c’est un fichier protégé qui vous intéresse.
Pour cracker notre pdf, il faudra dans un premier temps générer le hash du fichier, puis tenter une attaque par dictionnaire sur le hash.
Installer John the ripper sur Kali Linux
John est déjà installé de base sur Kali Linux. Cependant, nous allons avoir besoin des outils associés, notamment celui pour récupérer le hash du fichier pdf2john.
Avant toute chose, je vous conseille un petit update de kali
sudo apt update
sudo apt upgrade
Il faut ensuite installer les librairies dont nous allons avoir besoin, en l’occurrence la libssl-dev.
sudo apt-get install libssl-dev
Une fois n’est pas coutume, il faut récupérer le projet sur github
git clone https://github.com/openwall/john
Une fois le projet récupéré, déplacez vous dans le dossier john, puis le dans src
cd john/src
On peut ensuite lancer l’installation avec
./configure && make
pour lancer la génération des outils de john the ripper. Durant cette étape, il est possible que des messages de warning apparaissent, mais ils n’auront pas d’incidence pour la suite.
Une fois la génération terminée, on peut désormais se rendre dans le dossier /run pour lancer ce dont on a besoin.
cd ..
cd run
Si vous faites un ls, toutes les applications contenues dans john sont présentes.

Cracker le pdf
Dans un premier temps, nous allons devoir générer le hash du fichier pdf à cracker. Pour ce faire, on utilise l’outil pdf2john, présent dans ce que l’on vient d’installer.
./pdf2john.pl /home/kali/document_protege.pdf > /home/kali/document_protege.hash
Ensuite, on peut lancer john en laissant les paramètres par défaut pour tenter de cracker le mot de passe en mode automatique.
john /home/kali/document_protege.hash
Cependant, étant donné que cette étape peut prendre énormément de temps, cela vaut le coup de tester des wordlists personnalisées avant, au cas où le mot de passe se trouve dans celles-ci.
Utiliser une wordlist personnalisée
Il est possible d’utiliser d’autres wordlists plus complètes si jamais le crack par défaut n’a pas fonctionné, où même avant de lancer le crack par défaut, pour tester rapidement les mots de passe les plus courants. Vous pouvez aller jeter un œil sur notre article à propos des meilleurs wordlists. On peut par exemple utiliser une wordlist très connue nommée rockyou. Elle contient un peu plus de 14 millions de mots de passe.
Rockyou est présente sur Kali dans un format compressé dans /usr/share/wordlists/rockyou.txt.gz . On doit donc la décompresser avant de l’utiliser. Pour ce faire on va utiliser gunzip
sudo gunzip /usr/share/wordlists/rockyou.txt.gz
Pour sélectionner une wordlist dans john the ripper, il suffit d’ajouter dans la commande un –wordlist puis d’indiquer le chemin de la wordlist.
john --wordlist=/usr/share/wordlists/rockyou.txt /home/kali/document_protege.hash
Si le mot de passe est trouvé, il sera affiché. Ici, john the ripper a trouvé le mot de passe (SlimShady1) en un peu plus d’une minute avec la wordlist rockyou.txt.

Si jamais le mot de passe n’est pas trouvé, il faudra tester avec d’autres wordlists, puis essayer le mode automatique.
Visualiser le mot de passe cracké
Les mots de passe crackés sont enregistrés dans john. Pour les afficher,vous pouvez utiliser la commande –show suivi du chemin du fichier. Par exemple
john --show /home/kali/doc.hash
Il est également possible de visualiser tous les mots de passe crackés par john the ripper en se rendant dans le fichier john.pot situé dans /home/kali/.john/john.pot. On y retrouve ici le pdf que l’on vient de cracker.
