
Uno dei più diffusi sistemi di
criptaggio password diffusi in rete consiste nell'utilizzo di un particolare algoritmo: l'
md5 (
Message Digest algorithm 5).
La sua grande popolarità è data dai suoi numerosi pregi: è univoco (conoscendo l'
hash, ovvero il prodotto finale, non è possibile risalire al codice sorgente), ha lunghezza fissa a
trentadue valori alfanumerici (quindi c'è una possibilità ridottissima di ottenere due
hash uguali) e genera valori completamente diversi anche tra due parole molto simili. Per esempio l'
hash di '
dargor' sarà '9d464652d7
fcd5d86c8
fba4
cf22a22b8'; quello di 'd4
rgor' invece '47
fc6c5017b0479349c2210a72a3c372'.
Qual è l'applicazione pratica dell'
md5? Molti siti che richiedono una registrazione utilizzano l'algoritmo per il
criptaggio delle password. In sostanza, per una questione di sicurezza e soprattutto di privacy, nel database del sito non viene salvata la password stessa, ma il suo
hash; al momento dell'autenticazione, quindi, la password immessa sarà nuovamente criptata e se i due
hash coincideranno, l'ingresso al sito sarà consentito.
Ora, se noi volessimo testare la sicurezza di una nostra password o, per qualunque motivo, risalire al codice sorgente di un
hash md5, l'operazione più semplice da fare sarebbe ricorrere a siti come
md5-rednoize (che a mio parere è il migliore del settore): digitando il nostro
hash nell'apposito campo di ricerca il sito effettuerà una ricerca nel suo database (che conta oltre 17 milioni di parole), fornendoci, se siamo fortunati, la parola cercata:-D. Se la ricerca non avesse effetto potete provare un altro sito (per la lista completa clicca
qui).
NOTA IMPORTANTE: fate attenzione a non criptare la vostra password sul sito, altrimenti verrà automaticamente registrata e sarà alla portata di chiunque!
È
piuttosto frequente, tuttavia, che la ricerca nel database abbia esito negativo: se la parola da criptare contiene lettere apparentemente senza senso (esempio:
chrlp34), infatti, è molto improbabile riuscire a trovarla in un database per la ricerca. Ma a tutto c'è un rimedio;-) Esistono programmi che applicano il
BruteForce, testando tutti i possibili combinazioni di caratteri fino a trovare quella giusta. Quello che vi propongo qui si chiama
MDCrack: oltre a effettuare il
bruteforce md5, questo piccolo
tool supporta algoritmi come
MD4 e
NTLM; inoltre è in grado di sfruttare tutte le potenzialità di un processore multi-core (secondo il sito che lo distribuisce è in grado di testare 42000000
hash al secondo con un processore
Dual Xeon da 3,2 GHz).
Dopo aver scaricato il programma, è sufficiente estrarre il contenuto dell'archivio in una directory (per esempio C:\) e avviarlo da
DOS (
mdcrack-
sse.
exe [
hash da decriptare] - per ulteriori spiegazioni leggetevi il post precedente). Il programma comincerà subito a
provare tutte le possibili combinazioni alfanumeriche, fino a trovare quella giusta. Anche il cracking attraverso
bruteforce può tuttavia non essere una buona soluzione. Il numero di possibilità infatti aumenta esponenzialmente (
precisamente di 36^n, dove n è la lunghezza delle parole da testare). Se quindi il vostro
quad core impiega 1 minuto a testare tutte le possibili combinazioni di 6 valori, impiegherà 36 volte tanto a testare tutte quelle di 7 lettere/numeri e circa 21 ore per testare quelle di di 8 valori. Durante questo tempo, per di più, l'utilizzo della CPU schizzerà a 100%. Niente paura! Se volete utilizzare il vostro
PC a
prestazioni normali è sufficiente che impostiate priorità bassa al processo (da
taskmanager) e
MDCrack terrà al lavoro solo la parte di CPU che non state usando.
L'algoritmo
MD5 dimostra quindi la sua sicurezza, e il
decriptaggio può essere applicato (in tempo utile) esclusivamente su parole relativamente semplici.
Volete fare un po' di esercizio? Ecco alcuni
hash per provare:
0198192
bf527c7a6ba37e0c2000f41e6 - solo lettere
76e11681d46213e688
edd93c33260
bbb - facile
839430e7a51
fadd922de5e07be025b48 - un po' più difficile
D4RG0R