Antes de usar los enfoques de fuerza bruta (tal como están bien cubiertos por otros), verifique si hay ataques directos de criptoanálisis de preimagen en el algoritmo de hash de contraseña utilizado para los hashes - si se ha "roto" para los fines de hashing de contraseña. Si se ha roto, esa podría ser una forma mucho más rápida de recuperar buenas contraseñas, aunque la fuerza bruta aún podría ser más rápida para contraseñas más débiles.
Por ejemplo, los hashes MySQL originales de 16 bytes se basan en una terrible función hash personalizada que se ha roto dos veces, por lo que las contraseñas ASCII imprimibles de 8 caracteres pueden romperse en una computadora portátil en unos minutos, como se documenta en MySQL OLD_PASSWORD cryptanalysis? ( note velocidad actualizada, no tan rápida / completa como pensé antes )
Peor que eso es el " Collisions-R-Us " VxWorks vxencrypt el algoritmo de hash de contraseña se registró como VU # 840249 y se publicó el año pasado. Tiene tan pocas salidas reales de hash posibles que, por lo general, se puede forzar en forma bruta en 30 minutos a través de la red ... Y una vez más, parece que se dieron malos consejos, esta vez en la respuesta del CERT , solo usar SHA-512 una vez. No hay mención de sales o iteraciones ....
Otro ejemplo es hash de LM . Si bien la primitiva de hash subyacente que utilizaron fue DES (que no tiene interrupciones prácticas), la forma en que la utilizaron destruyó la fuerza general del hash.
Tenga en cuenta que MD5 se ha roto por ataques de colisión, pero no por ataques de preimagen. Por ahora, no sabemos de ningún ataque directo a los hashes de contraseña basados en MD5 y debemos hacer fuerza bruta o arco iris. Sin embargo, ahora la gente sospecha mucho de MD5 y no debe utilizarse para el hashing de contraseñas.