Guide

Come sbloccare un PDF Protetto da password con un Brute-Force utilizzando Kali linux

In questo articolo vi spiego come sbloccare un PDF protetto senza avere la password di accesso ad esso. Prima di iniziare voglio spiegare cosa mi è capitato. Da quando è iniziata la pandemia siamo costretti ad utilizzare molto spesso i nostri smartphone o computer per poter ricevere ricette mediche o esami del sangue. Ma siamo sicuri che le password impostate dai nostri medici o chi di competenza lo faccia in maniera  corretta? La risposta è stata no, nel mio caso sono stato sfortunato, e non è l’unico caso, in famiglia 4 persone su 4 hanno ricevuto PDF sbloccabili con una facilità incredibile. Tramite questa guida vi spiego come sono riuscito, fingendo di avere dimenticato la password del PDF inviatomi dal medico, a recuperare la chiave per sbloccare il PDF. Utilizzando gli strumenti di mia conoscenza, tramite le competenze da Penetration Tester, devo dire che è stato più semplice del previsto, sono bastati solamente 40 minuti di attacco per identificare la password di sblocco del PDF

Che cos’è un file PDF?

Un file PDF (Portable Document Format) è un file di testo in sola lettura, leggibile indipendentemente dalla piattaforma che si utilizza, basta avere un lettore installato. Per generarlo è possibile utilizzare un qualsiasi software per la creazione di documenti come Word, libreoffice…

Sbloccare-pdf-con-brute-force


Come sbloccare un PDF

Lo strumento che andremo ad utilizzare per eseguire il Brute-Force si chiama Brute_force password_breaker_for_PDF ed è disponibile a questo link
Questo script (realizzato in Python) è compatibile con tutte le distribuzioni in commercio, io ho eseguito questo tentativo di brute-force con Kali Linux. Il dizionario viene creato con uno strumento chiamato Crunch in grado di generarmi lettere, numeri e caratteri speciali.

Cos’è un dizionario?

Il dizionario è un semplice file di testo contenti migliaia di parole. In questo caso il dizionario è stato generato con il tool Cruch utilizzando parole formate da numeri e lettere.

Cos’è un BruteForce?

Un attacco bruteforce o meglio conosciuto in italiano come attacco di forza bruta, è un tentativo da parte di un utente malintenzionato(cracker) di impossessarsi di una password per accedere ad un determinato servizio senza il consenso del proprietario, sfrutta dei file chiamati appunto dizionari i quali contengono svariati tipi di combinazioni: lettere-parole, numeri e caratteri speciali finché non ottiene la password di accesso corretta.

Creiamo il nostro dizionario tramite Crunch con la seguente configurazione:

  • Numero di caratteri da 0 a 5
  • Caratteri da utilizzare solo numeri da 0 a 9

crunch 0 5 1234567890 -o /media/kali/7E30-1A07/diz.txt
mov diz.txt dictionary.txt

Nel file diz.txt troveremo tutte le combinazioni possibili con i caratteri dati in input.

Sbloccare-pdf-con-brute-force

Una volta creato procediamo con l’attacco brute-force, lanciamo lo script Python e inseriamo il path del pdf protetto da password e il dizionario appena creato. Partiranno una serie di tentativi di combinazioni.

chmod +x brute_force password_breaker_for_PDF.py
mov brute_force password_breaker_for_PDF.py brute_force.py
python3 brute_force.py

Sbloccare-pdf-con-brute-force3
Sbloccare-pdf-con-brute-force

Dopo circa 40 minuti di tentativi ecco il risultato della chiave di protezione corretto!

Sbloccare-pdf-con-brute-force2

Conclusione

Esistono molti tools in grado di effettuare attacchi brute-force, quello preso in considerazione nel nostro esempio è molto semplice, un banale script Python di poche righe, con performance che lasciano il tempo che trovano. Lo scopo di questa dimostrazione è capire quanto sia vulnerabile un pin di soli numeri composto da 5 caratteri ma possono essere anche 7,8… e così via. Per la gestione delle password vi consiglio di usare un numero di caratteri alfanumerici contenenti caratteri speciali superiori a 20, molto comodi sono software come KeepassXC utili per la memorizzazione e la creazione delle password.