
John the Ripper è uno strumento open source per il recupero di password e il test di robustezza delle credenziali. In questo esempio vedremo come usarlo per recuperare la password di un file PDF protetto, in modo legale ed etico.
Attenzione - Puoi usarlo in modo lecito se:
Sei il proprietario del file PDF
Hai dimenticato la password
Sei in un ambiente di test, laboratorio o CTF (Capture The Flag)
Hai ottenuto autorizzazione esplicita per testare la sicurezza di un sistema
Requisiti
Un file PDF protetto da password (es:
protetto.pdf
)John the Ripper Jumbo (versione estesa)
Lo script
pdf2john.pl
(incluso in John Jumbo)Un dizionario di parole (es.
rockyou.txt
o personalizzato)
Installazione su Debian
Apri il terminale e segui questi passi:
1. Installa le dipendenze necessarie:
sudo apt install build-essential git libssl-dev zlib1g-dev
2. Clona e compila John the Ripper Jumbo:
git clone https://github.com/openwall/john.git
cd john/src
./configure && make -s clean && make -sj$(nproc)
cd ../run
Estrazione dell'hash PDF
Usa lo script pdf2john.pl
per estrarre l’hash da un file PDF cifrato:
./pdf2john.pl ~/Documenti/protetto.pdf > hash.txt
Questo creerà un file hash.txt compatibile con John.
Avvio del cracking
Attacco con dizionario:
./john --wordlist=rockyou.txt hash.txt
Attacco incrementale (brute force):
./john --incremental hash.txt
Visualizza la password trovata
Dopo alcuni secondi, minuti o ore (dipende dalla password):
./john --show hash.txt
Esempio output:
protetto.pdf:$pdf$5*...:ciao123
1 password hash cracked, 0 left
Dove trovare dizionari?
Puoi usare il famoso dizionario rockyou.txt
:
sudo apt install wordlists
gzip -d /usr/share/wordlists/rockyou.txt.gz
Oppure crearne uno personalizzato:
echo -e "ciao\n123456\nciao123\nadmin" > mio_dizionario.txt
Note importanti
Alcuni PDF usano crittografie molto forti (es. AES-256) che rendono il cracking virtualmente impossibile senza una password debole.
Lo script
pdf2john.pl
supporta la maggior parte dei PDF cifrati, ma non tutti.John Jumbo è uno strumento potente: usalo con responsabilità.