Se conosco solo parte di una password e parte dell'hash è possibile ottenere la password completa?

1

Sto cercando di saperne di più su hash e crittografia e sto facendo il mio pentesting, ma mi sembra di essere bloccato su questo problema.

La funzione di hash utilizzata è SHA1.

Se sto cercando di determinare una password e so che gli ultimi X caratteri della password sono: endofpassword# .

E so che l'inizio dell'hash è: e921a7cde9e64d612b , ma non il resto dei caratteri per l'hash, è ancora possibile determinare la password e quale strumento useresti per questo?

Credo che Hashcat non sia adatto per questo tipo di attacco ma potrei sbagliarmi.

    
posta ark 23.06.2016 - 19:11
fonte

2 risposte

1

Conoscere parte della password ti dà un buon inizio nella costruzione di un elenco di password possibili, ma potrebbe essere una lista massiccia a seconda della lunghezza massima e del set di caratteri. Diciamo che è un massimo di 50 caratteri e ne hai 14, che lascia 36 caratteri di entropia nell'intervallo sconosciuto.

Conoscendo parte dell'hash puoi invalidarne molti, ma senza l'hash completo devi cercare nell'intero intervallo sconosciuto cercando corrispondenze con la tua parte di hash. Il tempo che impiega è considerevole, anche con l'aiuto della GPU (uno strumento come oclHashCat) parli di decenni di lavoro dato che la parte dell'hash che conosci non lo accelera; è necessario eseguire l'hash e quindi confrontarlo con il frammento. Non puoi fermarti non appena trovi quello che combacia, perché non hai modo di sapere che è l'unica partita e quindi deve esaurire l'intero spazio.

Se esaurisci lo spazio con una sola corrispondenza, hai trovato la password. Se hai più risultati non hai trovato la password. Penso che la risposta a "è ancora possibile determinare la password" è un solido "forse" dal momento che saprai solo se c'è una possibile password fino a dopo averla controllata.

    
risposta data 23.06.2016 - 20:16
fonte
1

Considerando che sto leggendo correttamente la tua domanda, conosci la prima sezione di un hash SHA1 e poi i caratteri in testo semplice dopo l'hash.

Per attuare con successo questo attacco devi scrivere uno script che indovina le password come Password1! + randombytes# e triturare la combo completa con SHA1 e quindi controllare che l'inizio dell'hash della password indovinata sia uguale a e921a7cde9e64d612b e aggiungendolo a un elenco di potenziali password.

Hai menzionato l'uso di hashcat tuttavia, a causa della natura del tuo metodo di attacco come menzionato sopra, sarebbe più facile scrivere uno script semplice in una lingua a tua scelta per rimuovere il tuo attacco.

In breve, l'attacco è possibile ma sarebbe più difficile dal momento che non hai l'hash completo.

    
risposta data 23.06.2016 - 19:36
fonte

Leggi altre domande sui tag