====== PDF protégé par un mot de passe ====== Si un laboratoire d'analyses médicales vous envoie un PDF protégé par un mot de passe et que ce mot de passe ne correspond pas à celui fourni, vous pouvez essayer de retrouver légitimement ce mot de passe : * En trouvant le hash de l'utilisateur qui a créé le PDF * En générant un dictionnaire de mots de passe potentiels * En confrontant brutalement ces mots de passe au verrouillage du PDF Pour cela, on utilise [[https://github.com/openwall/john|JohnTheRipper]] désormais [[https://en.wikipedia.org/wiki/John_the_Ripper|vieux de 25 ans]] sous Linux ===== Installation des outils ===== JohnTheRipper git clone https://github.com/magnumripper/JohnTheRipper.git cd ./JohnTheRipper/src cd ./JohnTheRipper/src sudo apt-get update sudo apt-get install libssl-dev ./configure && make Voir les outils créés cd ../run ls {{ ::johntheripper.png |}} Installer le générateur de dictionnaire sudo apt install crunch ===== Trouver le mot de passe ===== ==== Générer le hash du PDF ==== pdf2john.pl /home/kali/Desktop/Cembarut_protected.pdf > /home/kali/Desktop/cembarut_com_tr.hash ça doit donner un truc du type /home/kali/Desktop/cembarut_protected.pdf:$pdf$4*4*128*-4*1*16*093836a37d19144383f9673739e7cdf6*32*fc527179f17ffdc582f6652998e932963535804ac2ddd1e2976e261fa1f8c0ea*32*f50f22f86914d2b5921e9521f5ebad3480f430bda0c60012b7039220c9031242 ==== Créer le dictionnaire ==== avec crunch, définir le nombre de caractères mini et maxi du mot de passe (ici 11 et 11), le type de données à faire varier (ici, uniquement des nombres) et le motif potentiel du mot de passe (ici, les 3 premières lettres de votre nom de famille et votre date de naissance). Si vous subodorez un faute de frappe, vous pouvez limiter les dates de naissance à moins de possibles (ici 1D/1M/19YY) crunch 11 11 0123456789 -t ABC1%1%19%% -o /home/kali/Desktop/dicoABC01234567.txt ==== Tester le dico et trouver le mot de passe ==== JohnTheRipper/run$ ./john --wordlist=/home/kali/Desktop/dicoABC01234567.txt /home/kali/Desktop/cembarut_com_tr.hash Doit donner : Using default input encoding: UTF-8 Loaded 1 password hash (PDF [MD5 SHA2 RC4/AES 32/64]) Cost 1 (revision) is 3 for all loaded hashes Will run 16 OpenMP threads Press 'q' or Ctrl-C to abort, almost any other key for status ABC17101989 <<< le password !!! (/home/kali/Desktop/Cembarut_protected.pdf) 1g 0:00:00:00 DONE (2021-12-08 22:08) 5.882g/s 42164p/s 42164c/s 42164C/s HAC16161956..HAC17111967 ===== Si ça ne marche pas ===== Il faut essayer de générer un dictionnaire plus exhaustif et répéter la manœuvre ... * Référence : https://techsoftcenter.com/how-to-crack-pdf-with-brute-force-using-john-ripper-on-kali-linux/ {{tag>bj pdf johntheripper password crack}} {{ ::1268598.png |}}