Brute force le mot de passe d’un fichier PDF

Tutoriels

Mot de passe oublié ? Pas de problème ! Avec ce tutoriel vous saurez comment craquer les mots de passe de vos fichiers PDF en utilisant John The Ripper.

L’auteur de ce tutoriel décline toute responsabilité quant à une utilisation malveillante ou illégale des logiciels présentés. Les informations et liens dans ce tutoriel ont un objectif purement documentaire. Vous n’avez donc pas le droit de pirater la NASA.

Introduction

Dans ce tutoriel nous allons vous montrer comment retrouver le mot de passe d’un de vos fichiers en utilisant le logiciel John The Ripper et la méthode Brute force. Le principe de cette méthode est de trouver le hash du mot de passe pour ensuite tester toutes les possibilités. Nous utiliserons le système d’exploitation Kali Linux pour faciliter l’utilisation du logiciel.

Qu’est-ce qu’une attaque par Brute Force  ?
Une attaque par force brute consiste à trouver un mot de passe en testant toutes les combinaisons possibles. Cette méthode peut être optimisée en utilisant un dictionnaire de mots de passe couramment utilisés.

Qu’est-ce que le hash d’un mot de passe  ?
Le « hachage » des mots de passe est l’approche courante pour stocker les mots de passe en toute sécurité. Un « Hash » est une fonction unidirectionnelle qui génère une représentation brouillée du mot de passe.

Qu’est-ce que John The Ripper  ?

John the Ripper est un outil de craquage de mots de passe initialement produit pour les systèmes UNIX. Il a été conçu pour tester la puissance des mots de passe en les piratant par force brute via des attaques par dictionnaire.

Qu’est-ce que Kali Linux  ?

Kali Linux est une distribution de Linux basée sur Debian qui intègre de nombreux logiciels de sécurité tels que John The Ripper et Crunch.

Avant de commencer

Certaines lignes de commandes utilisées dans ce tutoriel vont être différentes des vôtre car chaque fichier détient un chemin d’accès différent.Retour ligne automatique
Pour trouver le chemin d’accès d’un fichier PDF il faut ouvrir l’invite de commande et copier coller ceci :

find -iname '*.pdf'

Pour un fichier hash :

find -iname '*.hash'

Installer John The Ripper

  • Munissez-vous d’un ordinateur avec le système d’exploitation Linux (préférablement Kali)
  • Ouvrir l’invite de commande (en anglais Terminal emulator) en faisant clic droit sur le bureau
  • Obtenir le code source de JohnTheRipper à partir de GitHub :
git clone https://github.com/magnumripper/JohnTheRipper.git
  • Allez sur le repertoire du code source :
cd ./JohnTheRipper/src
  • Téléchargez les paquets (l’invite de commande demandera votre mot de passe)
sudo apt-get update
  • La bibliothèque nécessite que libssl soit installé sur votre système, donc si vous ne l’avez pas, la commande suivante fera l’affaire. L’invite de commande demandera si vous voulez continuer faite Yet entrer.
sudo apt-get install libssl-dev
  • Créez JohnTheRipper (L’invite de commande va afficher beaucoup de code mais n’ayez pas peur) :
./configure && make
  • À la fin il devrait y avoir ça :
  • Changez de repertoire :
cd ..
cd ./run
  • Pour voir tous les outils à votre disposition
ls
  • Dans ce tutoriel nous allons nous servir de john et de pdf2john.pl

Cracker le mot de passe d’un fichier PDF

Dans cet exemple nous trouverons le mot de passe du fichier secrets_NASA.pdf.
Nous devons donc d’abord créer le fichier où se trouvera notre hash. Pour le faire, nous utiliserons l’outil pdf2john.pl.

  • Pour se servir du script pdf2john.pl il faut changer de répertoire
cd
cd ./JohnTheRipper/run
  • On va maintenant créer le fichier qui contiendra notre hash. Ici nous l’appellerons pdf.hash
./pdf2john.pl /home/kali/Desktop/secrets_NASA.pdf > /home/kali/Desktop/pdf.hash
  • IMPORTANT : Cette ligne de commande dépend de là où se trouve votre fichier pdf et de son nom. Le fichier .hash sera créé sur le bureau.
  • Votre fichier .hash doit contenir du texte qui ressemble à celui-ci :
/home/kali/Desktop/secrets_NASA.pdf:$pdf$5*6*256*-1028*1*16*99c547e71b94ed6627049e59a8e3dc31*127*cf26191dedb165d9e981b1f8791d0cafafa7b6e047e9fc8d21939e2684d7ca26fe974f2b5354a2efc23c47a5eb3fb02100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000*127*178bb52b973b98a3521dfb09c0bf4d5246c134a1cd220ca21987b7f27aab03e9386799a8b50486a84c7d872b4bd7f50200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000*32*9c313637923dae80aba21d130acb24ba422e678d45796940ba1765ef769f366b*32*b5aaf1f92a18fe49023fe2c7a2c9fb1fe92497514e6b15b9c0f7b44cba9d23e5
  • Maintenant que nous avons le fichier .hash du pdf il suffit d’utiliser le CLIde John The Ripper (dans le répertoire d’exécution) :
cd
cd ./JohnTheRipper/run
./john /home/kali/Desktop/pdf.hash

IMPORTANT : Encore une fois Cette ligne de commande dépend de là où se trouve votre fichier .hash 

Cette méthode utilisera UTF-8 comme encodage d’entrée par défaut et commencera à deviner le mot de passe du fichier PDF en utilisant la liste de mots par défaut de la bibliothèque. S’il est trouvé, il affichera le mot de passe et le chemin d’accès du PDF protégé. 

Le mot de passe affiché est abc123

  • Comme vous pouvez voir dans ce GIF c’est le bon mot de passe
kazam_npyl0z0x.movie.gif
  • Si vous essayez d’exécuter la commande sur le même fichier après avoir deviné le mot de passe, vous verrez les messages suivants :
  • Vous pouvez voir vos mots de passe en faisant :
john --show /root/Desktop/pdf.hash
  • IMPORTANT : Cette ligne de commande dépends de là où se trouve votre fichier hash et de son nom.
  • Ici, notre mot de passe a été cracker en 5 millisecondes. Un mot de passe compliqué et long met beaucoup plus de temps à être déchiffré.

Temps qu’il faut pour déchiffrer un mot de passe 

Nombre de caractères Que des nombres Que des lettres minuscules Que des lettres majuscules Lettres minuscules et majuscules Nombres, lettres minuscules et majuscules 
5instantanéinstantanéinstantanéinstantanéinstantané
6instantanéinstantanéinstantané1 seconde5 secondes
7instantanéinstantané25 secondes1 minute6 minutes
8instantané5 secondes22 minutes1 heure9 heures
9instantané2 minutes19 heures3 jours3 semaines
10instantané58 minutes1 mois7 mois5ans

Utiliser des listes de mots de passe personnalisés

  • Si vous ne souhaitez pas utiliser le fichier password.lst par défaut de JohnTheRipper, spécifiez simplement le chemin d’accès du nouveau fichier à l’aide de l’argument —wordlist. Voici un exemple avec une liste de mot de passe nommé pass.lst
cd
cd ./JohnTheRipper/run
./john --wordlist=pass.lst pdf.hash
  • Vous pouvez générer des listes de mots de passe grâce à des logiciels comme Crunch qui est déjà préinstallé sur Kali Linux et qui se trouve en haut à gauche dans l’onglet password attacks
  • Double cliquez sur Crunch
  • Dans cet exemple nous allons créer toutes les possibilités de mot de passe de longueur 1 – 6 avec les caractères 123abc et les mettre dans un fichier qu’on nomme pass.ls
crunch 0 6 123abc /home/kali/Desktop/pass.ls
  • Beaucoup de mots de passe vont être générés, Il faut donc se méfier de l’espace utilisé pour les stocker. Votre disque dur peut être vite rempli si vous générez trop de permutations.

Conclusion

Ainsi, plus votre mot de passe est complexe, plus il offre de sécurité. N’oubliez pas que les mots de passe sont les clés de vos informations sensibles que vous ne voulez pas vous faire voler. Comme vous le comprenez, les enjeux sont très importants. Retour ligne automatique
Un bon mot de passe ne contient pas :

  • Toute combinaison évidente telle que 12345 ou vos informations personnelles
  • Toute chaîne de caractères avec des chiffres ou des lettres séquentiels
  • Des mots du dictionnaire