Ricevi gli aggiornamenti nella tua email:




mar
9th

Contromisure al Cracking degli Hash (e contro-contromisure)

Autore: Angelo Righi | Crypto, Password

Le funzioni hash sono funzioni in grado di produrre un risultato univoco di lunghezza fissa partendo da un parametro di lunghezza variabile. Inoltre sono irreversibili: dal risultato non si può risalire al dato originale. Altre considerazioni sulle funzioni hash possono essere trovate nell’articolo  Introduzione alle funzioni hash.

Queste funzioni sono spesso utilizzare per cifrare password. Infatti nei database le password non vengono memorizzate in chiaro ma in codice hash irreversibile, in genere md5 o sha1.

Gli hash non sono reversibili ma sono craccabili. Utilizzando le cosiddette rainbow tables, gigantesche tabelle di lookup precalcolate è possibile risalire in pochi secondi al valore originale che ha originato il codice cifrato. Inoltre è facile reperire su Internet siti che mettono a disposizione il servizio di lookup degli hash.

Una contromisura a questo tipo di attacco è quella di aggiungere alla password un altro valore. Un’idea potrebbe essere quella di aggiungere il nome utente concatenandolo alla password prima di sottoporlo alla funzione hash.

Se per esempio inserisco l’hash della password ‘pippo’, ovvero ’0c88028bf3aa6a6a143ed846f2be1ea4′ in un servizio di lookup di cui parlavo prima ottengo immediatamente la password in chiaro (ovvero ‘pippo’).

Se invece concateno la password al nome utente, e l’utente in questione è ‘admin’ il codice hash non sarà più ’0c88028bf3aa6a6a143ed846f2be1ea4′ bensì ’4daf4b83ca0f88d95f0a26d96aadda03′  più difficile da trovare nei servizi online, ma ancora non al sicuro dagli attacchi rainbow tables.

Se oltre al nome utente si aggiungono altri valori costanti di 10 o più caratteri alfanumerici e contenenti caratteri speciali la sicurezza della password si alza notevolmente, rendendo il compito dei cracker assai meno agevole.

Quello crittografico è un settore delicatissimo e improvvisarsi esperti è sconsigliato; affidarsi al fai da te è un approccio letale. Se si ha la necessità di aggiungere sicurezza alle proprie applicazioni conviene rivolgersi a soluzioni collaudate.

Una di queste è Phpass, framework di hashing creato da Openwall e utilizzato da popolari CMS come Drupal e WordPress.

Naturalmente qualcuno ha creato un brute forcer in Python per attaccarlo.


Altri articoli:

Introduzione alle funzioni hash
Nella traduzione italiana del libro di Michal Zalewski "Il rumore dell'hacking" vengono definite "funzioni...

Craccare gli Hash di WordPress
Sebbene le password di una web application vengano memorizzate nel database in formato cifrato,...

PillolHacking.Net: I Migliori Articoli di Marzo 2009
Anche questa mese propongo l'elenco di quelli che a mio avviso sono stati i migliori articoli di PillolHacking.Net...

Decifrare un hash MD5 online
Come abbiamo visto l'algoritmo MD5 produce codici hash irreversibili, ma irreversibili non vuol dire...



Se vuoi essere sicuro di ricevere tutti gli aggiornamenti di PillolHacking gratuitamente nella tua email, iscriviti inserendo il tuo indirizzo qui sotto:


2 responses. Wanna say something?

  1. TroUblE
    mar 13, 2009 at 21:16:40
    #1

    Ho trovato un programma dal nome “MD5 Password Hashes Cracker”. E’ veramente utile un programma del genere, o nn riuscirà mai a crackare un hash?

  2. Angelo Righi
    mar 14, 2009 at 15:34:46
    #2

    Si può essere utile. Però craccare hash complessi potrebbe richiedere tempo, mooolto tempo ;)

Post a Comment