|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Jul 2002
Città: Padova
Messaggi: 4245
|
Curiosità su hash md5.......
E' da un pezzo che quando ho un po' di tempo per pensare, mi faccio una domanda
![]() Che sia possibile tramite un'apposita utility ricostruire una password da un hash md5? Per esempio: ca3c365274907c6fd527068788e14639 Non ho intenzione di hackerare nulla, però è un pezzo che mi gira per la testa questa curiosità!!!! Voi che mi dite? Grazie. Ciao. |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
No non è possibile.
Esistono forse modi per cercare delle collisioni, ovvero una sequenza il cui hash md5 sia uguale a quello di un'altra sequenza. Sposto in Programmazione, forse qualcuno ne sa di più.
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Nov 2005
Messaggi: 1868
|
non è possibile risalire dall'hash a quello che lo genera.
E' possibilissimo (e ci son diversi tool di cracking che lo fanno) generare hash di ogni parola plausibile (o meno se non si ha fretta) e verificare che l'hash generato sia lo stesso. Praticamente si va per "brute force". Tieni presente che non è possibile creare precedentemente un "database di chiavi già cifrate" in modo da confrontare direttamente, perchè l'hash è calcolato anche in base ad un valore casuale che viene poi scritto insieme all'hash stesso. Quando il sistema controlla la correttezza della chiave ne crea l'hash usando il valore casuale dell'hash che ha già. La sicurezza si basa sul fatto che un attaccante impieghi troppo tempo per risalire alla chiave. Per questo si consiglia di modificarle ogni pochi mesi e di non usare parole semplici/scontate (una password tipo il proprio nome si trova in una decina di minuti avendone a disposizione l'hash del sistema (/etc/passwd e /etc/shadow) )
__________________
[ W.S. ] |
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Jul 2002
Città: Padova
Messaggi: 4245
|
Effettivamente, è quello che pensavo.
Il dubbio mi è nato dal fatto che su alcuni file di configurazione bisogna inserire l'hash md5 della password, però questi file sono molto spesso leggibili anche dal semplice utente. Ma a questo punto non c'è da preoccuparsi ![]() Grazie dell'info. Byez. |
![]() |
![]() |
![]() |
#5 |
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
be', quelli dovrebbero esistere di sicuro, senza il forse... non so assolutamente l'algoritmo dell'MD5, ma sempre un algoritmo è, e quindi può essere invertito. invertendo un algoritmo di hashing e dandogli in pasto un hash trovo un insieme infinito di valori, ne scelgo uno e via... ^^
|
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Sì per forza; mi riferivo a possibili vulnerabilità del md5 che consentono, dato un hash, di ricavare un possibile generatore in un tempo ragionevole. Mi sembra di aver sentito qualcosa a riguardo.
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
![]() |
![]() |
![]() |
#7 | |
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
Quote:
(vedi paragrafo Vulnerability) |
|
![]() |
![]() |
![]() |
#8 |
Senior Member
Iscritto dal: Nov 2005
Messaggi: 1868
|
no, non funziona così, l'md5 usa una funzione "one-way". Che ci siano collisioni è un discorso diverso dall'invertire l'algoritmo.
__________________
[ W.S. ] |
![]() |
![]() |
![]() |
#9 |
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
che sia una funzione "one way" suppongo sia dovuto alla presenza del numero random, ma hai detto che tale numero random è incluso nell'hash... ^^
|
![]() |
![]() |
![]() |
#10 |
Senior Member
Iscritto dal: Nov 2005
Messaggi: 1868
|
nono, è proprio l'algoritmo che non può essere invertito (ovviamente tralasciando eventuali collisioni).
Ora non mi ricordo esattamente i principi matematici, non ci batto la testa da anni e non so spiegarne il funzionamento, comunque in rete si trovano documenti affidabili che ne parlano, tra cui: http://www.ietf.org/rfc/rfc1321.txt http://www.amagri.it/Crittologia/Cri..._algoritmo.htm http://www.cs.bham.ac.uk/~mdr/teachi...ures/hash.html
__________________
[ W.S. ] |
![]() |
![]() |
![]() |
#11 |
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
ora proverò a leggere ma mi chiedo come sia possibile...
![]() l'MD5 è una funzione che associa un valore (l'hash) ad infiniti valori (tutti i generatori); conoscendo l'hash che viene associato ad un generatore come potrebbe non essere possibile trovare tutti i generatori che generano quell'hash? ![]() semmai potrebbe non essere possibile in tempo ragionevole... |
![]() |
![]() |
![]() |
#12 |
Senior Member
Iscritto dal: Nov 2005
Messaggi: 1868
|
si certo, per possibile intendo computazionalmente!
![]()
__________________
[ W.S. ] |
![]() |
![]() |
![]() |
#13 | |
Member
Iscritto dal: Feb 2007
Messaggi: 42
|
Quote:
Se posso dire la mia..è possibilissimo passare da un has MD5 alla parola.. Esistono siti e software..un esempio italiano era md5.altervista..non ricordo se è ancora attivo..oppure per quanto riguarda i programmi è possibili utilizzare i brutal force..che richiedono tempo e un buon pc..un altro sistema moderno è quello delle raimbow table..cmq cercate maggiori informazioni su google ![]() |
|
![]() |
![]() |
![]() |
#14 | |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quote:
Praticamente al loro interno hanno un tot di hash già conosciuti, prova ad inserire l'hash di una frase e guarda se te lo ritorna ![]() |
|
![]() |
![]() |
![]() |
#15 | |
Senior Member
Iscritto dal: Jul 2002
Città: Padova
Messaggi: 4245
|
Quote:
Però funziona solo per le parole più comuni. Per esempio ho provato ad inserire l'hash di stefano che è 317a58affea472972b63bffdd3392ae0 e me l'ha trovata all'istante, mentre ho provato con quella di stefanoxjx che è 17286d696e060fb60d3f5a9cb05ae494 e mi ha risposto "Hash not found!". Quindi basta uscire un minimo dallo standard per avere un hash sicuro. |
|
![]() |
![]() |
![]() |
#16 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Prova ad inserire nuovamente l'hash di stefanoxjx
![]() Ultima modifica di cionci : 07-03-2007 alle 23:00. |
![]() |
![]() |
![]() |
#17 |
Senior Member
Iscritto dal: Jul 2002
Città: Padova
Messaggi: 4245
|
Questo cosa vuol dire? Che qualcuno ha inserito l'hash di stefanoxjx o che durante la notte si è tirato fuori "stefanoxjx" dalll'hash che avevo provato ad inserire? Oltre a quello di stefanoxjx avevo provato anche con altri, che però continuano a rimanere "not found" ![]() |
![]() |
![]() |
![]() |
#18 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quel sito funziona anche in maniera inversa, cioè si calcola l'hash di una stringa in chiaro e se la memorizza- Fai così...calcolati l'hash di una stringa lunga, che so:
"Questo cosa vuol dire?" Poi prova ad inserire l'hash...se non te lo trova inserisci la parola in chiaro...e riprova a mettere l'hash... |
![]() |
![]() |
![]() |
#19 | |
Senior Member
Iscritto dal: Jul 2002
Città: Padova
Messaggi: 4245
|
Quote:
Sempre ammesso che sia una password fuori standard. |
|
![]() |
![]() |
![]() |
#20 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Nessuno...almeno per ora, anche se sembra che MD5 stia cominciando a scricchiolare: http://en.wikipedia.org/wiki/Md5#Vulnerability
Si tratta di un sistema per abbattere la strong collision resistence. La strong collision resistence è una proprietà di un algoritmo di hashing. Dato X testo in chiaro è computazionalmente difficile trovare Y testo in chiaro che produca lo stesso hash di X. Come puoi leggere sopra sembra che la strong collision resistence sia stata abbattuta ![]() Di fatto usare ora MD5 a coadiuvare uno strumento di firma digitale è rischioso. Al contrario è ancora resistente alla weak collision: dato MD5(x), senza conoscere x, è difficile trovare y != da x tale che MD5(x) == MD5(y). Di conseguenza gli hash delle password sono ancora al sicuro ![]() |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 09:21.