Benvenuto in Security.SE.
In primo luogo, una breve spiegazione dell'hashing rispetto alla crittografia, perché è importante qui.
Hashing e crittografia
Quando si parla di hash, è impossibile decifrare. Gli hash sono a senso unico e non possono essere invertiti per recuperare il testo in chiaro. Ciò è importante perché il modo in cui ottieni il testo in chiaro è molto diverso dalla crittografia e dall'hash.
Trovare il testo in chiaro di un hash
John the Ripper e hashcat sono entrambi strumenti che possono essere utilizzati per trovare il testo in chiaro di un hash. Tuttavia, lanciare una lista di parole non è sempre il modo più efficace per utilizzare tali strumenti. È necessario conoscere alcune cose sul target, oltre all'algoritmo utilizzato. Sai che hai un hash MySQL 5, ma ecco alcune altre cose che ti aiuteranno:
- Esiste una politica per le password? (minimo x caratteri, superiore, inferiore, simboli, ecc.)
- Se l'amministratore ha scelto una password comune, potrebbe essere in elenchi di password. Se l'amministratore non lo ha fatto, potrebbe essere necessario eseguire ulteriori ricognizioni per creare un elenco di parole più diretto all'utente.
C'è un altro modo oltre alla forzatura bruta?
A corto di una debolezza nell'algoritmo stesso, no. Gli hash in generale sono pensati per resistere agli attacchi contro l'algoritmo. Mentre strumenti come John e Hashcat cercano di migliorare le prestazioni rispetto a un particolare algoritmo, date le sue proprietà, il brute forcing, tenendo presente ciò che ho menzionato sopra, è come vengono attaccati gli hash, gli hash di MySQL o in altro modo.
Tuttavia, se hai estratto un hash da un database nella sfida, è diverso dal tirare l'hash dell'utente MySQL. Cioè, la memorizzazione degli utenti del sito Web in un database non utilizza necessariamente l'algoritmo di hashing MySQL. Può essere qualcos'altro come MD5 o SHA1.