Password Cracking con John the Ripper

Kali Linux

John the Ripper (JtR) è un famoso tool open-source per il password cracking. Il suo scopo è scoprire le password originali partendo dai loro hash. Viene usato sia dagli amministratori di sistema per verificare la debolezza delle password dei propri utenti, sia dai penetration tester per dimostrare l'impatto di una fuga di dati (data breach).

Ricordiamo che le password non dovrebbero mai essere salvate in chiaro, ma come hash, usando algoritmi sicuri come spiegato nella nostra guida su password_hash() in PHP.

Come Funziona?

John prende in input un file contenente uno o più hash di password. Poi, tenta di "indovinare" la password originale, calcola l'hash della sua ipotesi e lo confronta con l'hash nel file. Se corrispondono, ha trovato la password. Per fare queste ipotesi, usa diverse modalità di attacco.

1. Attacco a Dizionario (Dictionary Attack)

È la modalità più comune e veloce. John usa una lista di parole (un "dizionario" o "wordlist") contenente migliaia o milioni di password comuni, parole reali o password trapelate in passato. Prova ogni parola della lista.

JtR può anche applicare delle "regole di manipolazione" a queste parole, provando varianti comuni come aggiungere numeri, simboli o cambiare maiuscole/minuscole (es. da "password" prova anche "Password123", "p@ssword!", etc.).

2. Attacco Brute-Force

Se l'attacco a dizionario fallisce, si passa al brute-force. John prova sistematicamente ogni possibile combinazione di caratteri. Questo attacco è garantito che prima o poi troverà la password, ma può richiedere un tempo proibitivo (anni o secoli) per password lunghe e complesse.

3. Modalità Single Crack

È una modalità molto veloce e intelligente. Usa le informazioni presenti nel file degli hash (come il nome utente) per creare delle ipotesi. Ad esempio, per l'utente "mrossi", proverà password come "mario", "rossi", "mrossi123", etc.

L'efficacia del password cracking dimostra perché è fondamentale usare password lunghe, complesse e uniche, e perché gli sviluppatori devono usare algoritmi di hashing lenti e con "salt", che rendono questi attacchi molto più difficili.

Hai bisogno di una soluzione su misura?

Dalla Web App al gestionale custom, trasformiamo le tue idee in software performante. Contattaci per una consulenza gratuita.

Richiedi una consulenza