Cracker le mot de passe d'un PDF avec John The Ripper

Salut les makers,

Aujourd'hui, je vais vous présenter un outil très connu dans le monde de la sécu : John The Ripper.

Notre but va être de l'utiliser pour ouvrir un PDF protégé par mot de passe.

1. John The Ripper

John the Ripper est un logiciel libre de cassage de mot de passe, utilisé notamment pour tester la sécurité d'un mot de passe (audit, crack) et disponible sur Linux, Windows et Mac.

C'est l'un des logiciels de cassage de mots de passe les plus populaires, car il inclut l'autodétection des fonctions de hachage utilisées pour stocker les mots de passe, l'implémentation d'un grand nombre d’algorithmes de cassage, parce qu'il est très facilement modifiable, et qu'il permet de reprendre une attaque après une pause (arrêt de la machine).

Si vous utilisez la distribution Kali Linux, il est déjà installé.

Sinon, voici comment l'installer sur Linux (les autres, démerdez-vous 😜).

2. Installation pour Linux

Si c'est pas déjà fait, installez la lib openssl qui est un prérequis :


sudo apt update
sudo apt install libssl-dev

Ensuite, clonez le repository officiel :


git clone https://github.com/openwall/john.git

Rendez-vous dans le dossier src et lancez le build :


cd src
./configure && make

C'est tout bon !

Si vous vous rendez dans le dossier run à la racine, vous pouvez voir tous les outils de JohnTheRipper :


cd ../run
ls -al
Liste des outils disponibles

Comme vous le voyez, il y en a un bon paquet.

3. Générer le hash du PDF

JohnTheRipper n'est pas un outil spécifiquement dédié aux PDF, mais aux mots de passe. C'est pourquoi nous devons d'abord générer le hash du fichier grâce à l'outil pdf2john.pl.

Cet outil qui n'est autre qu'un script PERL va nous permettre d'obtenir le hash du fichier et de le sotcker dans un autre fichier :


pdf2john.pl /root/Desktop/pdf_protected.pdf > /root/Desktop/pdf.hash

Le hash devrait ressembler à une chaine de caractères du style :


/root/Desktop/pdf_protected.pdf:$pdf$4*4*128*-4*1*16*d22933dd530666ced293ccf5f860214f*32*ab12d2e30eae3d43d69ac57efc2918c128bf4e5e4e758a4164004e56fffa0108*32*07419b7fe590bdc9926bb9750adeedb8c07b5407d9b5314c012d16e25e9e7f20

Maintenant que nous avons le hash, nous pouvons procéder à l'attaque brute force.

Je vous ai mis à dispo un PDF protégé par mot de passe téléchargeable ici.

4. Attaque par dictionnaire

Par défaut, john effectue une attaque par dictionnaire en utilisant la wordlist présente (password.lst). Pour lancer l'attaque, il suffit d'utiliser john (dans le dossier /run) en lui passant le fichier .hash précédemment généré :


john /root/Desktop/pdf.hash

Si vous ne voulez pas utiliser la wordlist par défaut, vous pouvez tout à fait fournir votre propre dictionnaire. Pour ce faire, il vous suffit d'utiliser l'option --wordlist en précisant le chemin du fichier :


john --wordlist=password.lst /root/Desktop/pdf.hash

Au bout d'un moment et avec un peu de chance...

Résultat de l'attaque révélant le mot de passe du PDF
Résultat de l'attaque

5. Attaque brute force

L'attaque brute force (par force brute) consiste à tester toutes les combinaisons de mots de passe possibles. Pour ce faire, il suffit d'utiliser l'option --incremental :


john --incremental /root/Desktop/pdf.hash

En fonction de la longueur du mot de passe, ça peut prendre plus ou moins de temps. Plus le mot de passe est long, plus le processus sera long.

6. Conclusion

JohnTheRipper permet au final de cracker un paquet de fichiers différents (archives, PDF, etc) aussi, je ne peux que vous recommander d'aller lire la documentation officielle si vous voulez en savoir plus.

À bientôt sur Fire-DIY !

Sources: [1] [2] [3]

Vos réactions (0) :

  1. Sois le/la premier(e) à commenter cet article !
Tu as besoin d'aide ? Utilise le Forum plutôt que les commentaires.

Un commentaire ?

* Champs obligatoires
Utilisation des données

Afin d'améliorer ton expérience utilisateur, nous utilisons des cookies 🍪