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 :
Pour cela, on utilise JohnTheRipper désormais vieux de 25 ans sous Linux
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
Installer le générateur de dictionnaire
sudo apt install crunch
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
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
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
Il faut essayer de générer un dictionnaire plus exhaustif et répéter la manœuvre …