In che modo l'utente malintenzionato sa quale algoritmo e sale utilizzare in un attacco di dizionario?

27

Sono curioso dei metodi di cracking delle password come il dizionario e gli attacchi di forza bruta. Oggigiorno le password vengono archiviate come hash e non in chiaro sul server. Quindi come possono essere confrontate le password in chiaro nel dizionario con gli hash nel database trapelato? Poiché gli hash possono essere di tipi diversi come bcrypt, SHA-512 e così via, come possono gli strumenti di cracking sapere come creare gli hash e confrontarli?

Ad esempio, dai un'occhiata all'attacco del dizionario qui sotto. Le password trapelate sono solo hash e il dizionario ha semplici parole inglesi. Allora come possono essere confrontati? In che modo l'hacker o gli strumenti di cracking sanno quale algoritmo hash dovrebbe usare? Anche il sale è lì, ma come fa l'attaccante a sapere cos'è il sale?

    
posta andjava 26.02.2018 - 13:02
fonte

1 risposta

57

In che modo vengono confrontati testo in chiaro e hash?

Durante l'attacco di forza bruta, le parole del dizionario vengono sottoposte a hash con l'algoritmo hash corretto e salt, e quindi confrontate con l'hash nel dump del database. Quindi l'attaccante deve conoscere non solo il valore hash stesso, ma anche l'algoritmo e il sale.

In che modo l'attaccante conosce il sale?

Il sale viene generalmente memorizzato nel database proprio accanto all'hash. In realtà, deve essere. In quale altro modo il server Web ha cancellato le password in entrata durante il controllo? Quindi se hai un dump del database, hai i sali.

In che modo l'utente malintenzionato sa quale algoritmo utilizzare?

Questo può essere fatto in diversi modi:

  • Spesso puoi dire dal formato o dalla lunghezza dell'hash. Ad esempio, un hash bcrypt di solito inizia con il marker $2b$ .
  • Prova alcune password molto comuni utilizzando gli algoritmi più comuni e prima o poi otterrai una corrispondenza. Poiché di solito viene utilizzato un solo algoritmo per tutti gli hash, è sufficiente trovare una corrispondenza e quindi è possibile continuare a decifrare le altre password con tale algoritmo.
  • Ancora più semplice, se conosci una sola password (forse hai creato il tuo account prima della violazione) puoi provare diversi algoritmi su quella. (Grazie, Goose .)
  • Se hai accesso al codice, troverai la risposta lì. (Grazie, marcelm .)
  • Oppure, se sai quale software viene utilizzato, potresti trovarlo nella documentazione. (Grazie, eckes .)
risposta data 26.02.2018 - 13:12
fonte

Leggi altre domande sui tag