Utiliser John the Ripper pour craquer des documents PDF

Kali LinuxBeginner
Pratiquer maintenant

Introduction

Dans ce laboratoire, vous explorerez le processus de craquage de documents PDF protégés par mot de passe à l'aide de l'outil open-source puissant pour le craquage de mots de passe, John the Ripper. Vous apprendrez à créer un PDF sécurisé, à en extraire son hash, puis à tenter de craquer le mot de passe. Ce laboratoire couvrira également différents types de chiffrement PDF et fournira les meilleures pratiques pour sécuriser vos documents PDF. La compréhension de ces concepts est cruciale pour les professionnels de la cybersécurité et toute personne manipulant des informations sensibles au format PDF.

Créer un document PDF protégé par mot de passe

Dans cette étape, vous allez créer un fichier texte simple et le convertir en un document PDF protégé par mot de passe. Nous utiliserons les commandes enscript et ps2pdf à cette fin. enscript convertit les fichiers texte en PostScript, et ps2pdf convertit PostScript en PDF.

Tout d'abord, créez un fichier texte simple nommé secret.txt dans votre répertoire ~/project.

echo "This is a secret document." > ~/project/secret.txt
cat ~/project/secret.txt

Ensuite, convertissez secret.txt en un fichier PostScript.

enscript -p ~/project/secret.ps ~/project/secret.txt
ls -l ~/project/secret.ps

Maintenant, convertissez le fichier PostScript en un PDF protégé par mot de passe. Nous définirons le mot de passe utilisateur et le mot de passe propriétaire sur labex123. Le mot de passe utilisateur restreint l'ouverture du document, tandis que le mot de passe propriétaire restreint les permissions telles que l'impression ou la modification.

ps2pdf -sOwnerPassword=labex123 -sUserPassword=labex123 ~/project/secret.ps ~/project/protected.pdf
ls -l ~/project/protected.pdf

Vous avez créé avec succès un document PDF protégé par mot de passe.

Extraire le hash du PDF avec pdf2john

Dans cette étape, vous allez extraire le hash du document PDF protégé par mot de passe à l'aide de pdf2john.py. pdf2john.py est un script Python qui accompagne John the Ripper et est conçu pour extraire les hashes craquables des fichiers PDF.

Tout d'abord, localisez le script pdf2john.py. Il se trouve généralement dans le répertoire run de l'installation de John the Ripper.

find /usr/share/john -name pdf2john.py

Maintenant, utilisez pdf2john.py pour extraire le hash de ~/project/protected.pdf et enregistrez-le dans un fichier nommé pdf_hash.txt.

python3 /usr/share/john/pdf2john.py ~/project/protected.pdf > ~/project/pdf_hash.txt
cat ~/project/pdf_hash.txt

La sortie affichera une chaîne de hash que John the Ripper pourra tenter de craquer. Le format inclut généralement des informations sur la version du PDF, le type de chiffrement et le hash réel.

Craquer le hash du PDF avec John the Ripper

Dans cette étape, vous utiliserez John the Ripper pour craquer le hash PDF extrait. Nous utiliserons une simple liste de mots pour cette démonstration.

Tout d'abord, créez un fichier de liste de mots nommé wordlist.txt dans votre répertoire ~/project. Incluez labex123 (le mot de passe correct) et quelques autres mots de passe courants.

echo -e "password\n123456\nlabex123\nqwerty" > ~/project/wordlist.txt
cat ~/project/wordlist.txt

Maintenant, utilisez John the Ripper avec wordlist.txt pour craquer le hash dans pdf_hash.txt.

john --wordlist=~/project/wordlist.txt ~/project/pdf_hash.txt

John the Ripper traitera le hash et la liste de mots. S'il trouve une correspondance, il affichera le mot de passe craqué.

Après le craquage, vous pouvez afficher les mots de passe craqués que John a trouvés et stockés.

john --show ~/project/pdf_hash.txt

Vous devriez voir labex123 comme mot de passe craqué pour protected.pdf.

Comprendre les types de chiffrement PDF

Dans cette étape, vous apprendrez les différents types de chiffrement PDF et comment ils affectent la sécurité d'un document PDF. Le chiffrement PDF a évolué au fil du temps, les versions plus récentes offrant une protection plus solide.

Le chiffrement PDF utilise généralement des algorithmes comme RC4 ou AES. La longueur de la clé varie également, les clés plus longues offrant une meilleure sécurité.

  • RC4 40-bit : Il s'agit d'une méthode de chiffrement plus ancienne et plus faible, facilement craquable.
  • RC4 128-bit : Une norme plus ancienne et plus courante, mais toujours vulnérable aux techniques de craquage modernes.
  • AES 128-bit : Une norme de chiffrement plus forte, plus résistante aux attaques par force brute.
  • AES 256-bit : Le chiffrement le plus fort actuellement disponible pour les PDF, offrant une protection robuste.

Vous pouvez utiliser exiftool pour inspecter les détails de chiffrement d'un PDF. Vérifions le protected.pdf que nous avons créé.

exiftool ~/project/protected.pdf | grep "Encryption"

La sortie affichera des détails tels que Encryption : RC4 128-bit ou AES 256-bit, en fonction des outils et des versions utilisés pour créer le PDF. Notre commande ps2pdf utilise généralement RC4 128-bit par défaut pour une compatibilité ascendante. Un chiffrement plus fort nécessite des options spécifiques ou des outils de création PDF plus récents.

Comprendre le type de chiffrement est crucial car il a un impact direct sur l'effort requis pour craquer un mot de passe. Les types de chiffrement plus faibles sont beaucoup plus rapides à craquer.

Sécuriser correctement les documents PDF

Dans cette étape, vous apprendrez les meilleures pratiques pour sécuriser les documents PDF afin d'empêcher l'accès non autorisé et le craquage. Bien que des outils comme John the Ripper puissent craquer des mots de passe faibles, des mesures de sécurité solides peuvent rendre cela extrêmement difficile, voire impossible.

Voici les recommandations clés pour sécuriser vos documents PDF :

  1. Utiliser des mots de passe forts : C'est l'étape la plus critique. Un mot de passe fort doit être :

    • Long (au moins 12-16 caractères).
    • Complexe (mélange de majuscules, minuscules, chiffres et symboles).
    • Unique (non utilisé pour un autre compte ou document).
    • Aléatoire (éviter les mots du dictionnaire ou les informations personnelles).
  2. Utiliser des algorithmes de chiffrement forts : Choisissez toujours la norme de chiffrement la plus élevée disponible, de préférence AES 256-bit. Lors de la création de PDF, assurez-vous que votre logiciel est configuré pour utiliser un chiffrement moderne.

  3. Définir des mots de passe utilisateur et propriétaire :

    • Mot de passe utilisateur : Restreint l'ouverture du document. C'est la protection principale.
    • Mot de passe propriétaire : Restreint les permissions telles que l'impression, la copie de contenu, la modification ou l'ajout de commentaires. Même si le mot de passe utilisateur est connu, le mot de passe propriétaire peut empêcher certaines actions.
  4. Éviter de stocker les mots de passe avec les documents : Ne stockez jamais le mot de passe d'un PDF au même endroit ou sur le même système que le PDF lui-même.

  5. Mettre à jour régulièrement les logiciels : Assurez-vous que vos logiciels de création et de visualisation de PDF sont à jour pour bénéficier des derniers correctifs de sécurité et des normes de chiffrement.

  6. Envisager les signatures numériques : Pour l'authenticité et l'intégrité, les signatures numériques peuvent vérifier l'origine du document et s'assurer qu'il n'a pas été altéré.

En suivant ces pratiques, vous pouvez améliorer considérablement la sécurité de vos documents PDF et protéger les informations sensibles contre tout accès non autorisé.

Résumé

Dans ce laboratoire, vous avez acquis une expérience pratique du craquage de documents PDF protégés par mot de passe à l'aide de John the Ripper. Vous avez appris à créer un PDF protégé par mot de passe, à en extraire le hash à l'aide de pdf2john.py, puis à craquer le mot de passe avec succès. De plus, vous avez exploré différents types de chiffrement PDF et compris leurs implications en matière de sécurité. Enfin, vous avez examiné les meilleures pratiques essentielles pour sécuriser correctement les documents PDF, en soulignant l'importance des mots de passe forts et des normes de chiffrement modernes. Ces connaissances sont essentielles pour protéger les informations sensibles et comprendre les vulnérabilités potentielles des fichiers PDF.