• Regolamento Macrocategoria DEV
    Prima di aprire un topic nella Macrocategoria DEV, è bene leggerne il suo regolamento. Sei un'azienda o un hosting/provider? Qui sono anche contenute informazioni per collaborare con Sciax2 ed ottenere l'accredito nella nostra community!

Guida Hash-Cracking come difendersi...

arthur

Utente Mitico
Autore del topic
5 Maggio 2009
8.204
0
Miglior risposta
0
Ecco un interessantissima guida che ci aiuta a capire meglio come funziona la tecnica di crittazione dell'hashing e come difenderci conoscendo le tecniche di hash-cracking...la guida è di Pillolhacking.net.

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
Perfavore, Entra oppure Registrati per vedere i Link!
, 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.