Come rompere una password dato il suo hash e le sue possibilità

1

Sto cercando di decifrare una serie di password che sono state sottoposte a hash con SHA-256.

Ho gli hash disponibili e ho anche le possibilità in cui può essere la password. Alcune di queste possibilità includono;

  1. una parola inglese minuscola
  2. un nome minuscolo semplice come bob o alice.
  3. una combinazione di 4 valori alfanumerici con caratteri speciali, ad esempio ro @ !, f6 & h

Quindi ad esempio ho hash

9F86D081884C7D659A2FEAA0C55AD015A3BF4F1B2B0B822CD15D6C15B0F00A08

e voglio ottenere la password usando un algoritmo (uno che codificherò in Java) per ottenere la password:

test

Sto chiedendo di vedere da dove cominciare per completare questa attività.

Prima ho pensato di calcolare tutti gli hash per le possibilità di password e il riferimento incrociato con gli hash che mi sono stati dati, ma questa non sembra essere la risposta giusta in quanto richiederebbe troppo tempo.

C'è qualche altro modo per risolvere queste password?

    
posta user193292 10.12.2018 - 18:13
fonte

2 risposte

1

Hashcat è usato per decifrare hash specifici come MD5, SHA-256, bcrypt e molto altro ancora. Hashcat ha regole specifiche che può includere se non riesce a decifrare l'has con la directory word. Hashcat richiede una directory di password in modo che possa eseguire il bruteforce dell'hash. Ad esempio, ho fatto -1 ?l ?1?1?1?1?1?1 per mostrare il set di caratteri personalizzato con -1 (puoi avere 4 penso) ?l è il mio set di caratteri (tutti gli abbassa) permette anche? U? D? S? A per maiuscolo , numeri, caratteri speciali e tutto ?1?1?1?1?1?1 è una maschera.

    
risposta data 10.12.2018 - 20:48
fonte
1

Generalmente, per "crackare una password" devi provare molte combinazioni e impiegherà molto tempo se la password non è debole.

Per ogni password candidata, calcola il suo hash, cerca nella lista degli hash dati, se non c'è corrispondenza - elimina l'hash calcolato (non è necessario mantenerlo), prova il prossimo candidato.

Puoi usare qualche tipo di struttura dati hashtable ( HashSet in Java) per mantenere gli hash dati: ha una complessità di ricerca O (1). Importa se ti viene data una lunga lista di hash da decifrare.

    
risposta data 10.12.2018 - 22:12
fonte

Leggi altre domande sui tag