Che cosa succede esattamente dopo aver fornito l'hash dal file pdf a John per aver infranto la password?
John estrae solo l'hash della password dal file e ci lavora sopra oppure c'è qualcos'altro?
Generalmente l'hash di destinazione che vuoi interrompere nel caso di un PDF è l'hash dell'utente, che è derivato dalla password dell'utente. Un PDF farà due cose quando viene immessa una password per un PDF crittografato -
Il PDF è strano in quanto in realtà deriva la chiave simmetrica prima che calcoli l'hash, infatti la chiave simmetrica è usata nel calcolo dell'hash. Il processo di produzione dell'hash è il seguente:
Quello che assumerei John the Ripper è che alimenterà le password (definite da qualunque regola tu le conceda per generare password) nell'algoritmo sopra finché non calcoli un hash utente che corrisponda a quello nei metadati del documento (cioè il hash che hai fornito). Poiché la derivazione hash utilizza solo MD5 e RC4 (e non molti round di entrambi) è abbastanza facile provare molte password in un breve lasso di tempo, quindi PDF è abbastanza suscettibile agli attacchi di tipo brute force e dictionary. In effetti, l'intero algoritmo è piuttosto bizzarro e non infonde molta confidenza nella sicurezza dei PDF protetti da password.
John lavora su diversi tipi di hash.
Puoi estrarre l'hash dal file pdf usando un'utilità come pdf2john
e poi iniziare a scoppiare con john
come al solito.
Rilevante - Come posso estrarre l'hash in un file PDF crittografato?
Modifica: Come funziona il vero hash cracking
La digestione dei messaggi è un processo di creazione di hash. Si ottiene il messaggio in alcune funzioni di digestione e si ottiene hash out. Questo tipo di funzioni sono chiamate funzioni a senso unico. Ciò significa che una volta digerito un messaggio, non è possibile recuperarlo dall'hash ripristinando questa funzione. Le informazioni sul messaggio originale sono irrecuperabilmente perse nel processo.
Che cosa puoi fare allora? Puoi provare a riprodurre il messaggio facendo hash di più parole e verificandole con l'hash del messaggio originale. Se l'hash generato è uguale all'hash del messaggio originale, allora sai che la parola che hai usato per generare quell'hash è uguale al messaggio originale.
Questo è essenzialmente il modo in cui il crack delle password in JohnTheRipper funziona.
Le parole utilizzate per il cracking possono essere generate in modo incrementale (bruteforce) o usando il dizionario.
Puoi leggere le modalità di cracking di john
qui .
Puoi leggere gli hash delle password in dettaglio qui Perché le funzioni hash sono unidirezionali? Se conosco l'algoritmo, perché non posso calcolare l'input da esso?
Leggi altre domande sui tag pdf brute-force password-cracking