No todas las fugas de contraseñas son iguales. La función hash utilizada por la aplicación y la política de contraseña de la aplicación deben dictar qué herramientas se utilizan para romper los hashes. Un buen recurso sobre este tema es
Look Back on 2012´s Fugas de hash de contraseñas famosas: lista de palabras, análisis y nuevas técnicas de cracking . En resumen, fueron capaces de romper la mayoría de los hashes de contraseña utilizando un enfoque combinado.
Si la aplicación no contiene contraseñas de sal, o la sal es muy pequeña, entonces una Rainbow Table es la herramienta de elección. Las tablas del arco iris están precalculadas y disponibles de forma gratuita. Este es el método más rápido para agotar un espacio de claves (¡especialmente si tiene una matriz de incursión 0!). Por estas razones, una tabla de arco iris suele ser el primer método de craqueo, si se puede utilizar.
John the Ripper puede trabajar con listas de palabras y generar mutaciones "leet speak" en palabras. Si una contraseña es solo una palabra del diccionario o le permite hablar de una palabra, entonces John el Destripador puede romper este hash. A diferencia de las tablas de arco iris, John the Ripper puede trabajar aceptando la sal como un argumento, lo que no impide el agrietamiento.
Si la aplicación utiliza el estiramiento de clave con bcrypt o pbkdf2, entonces un FPGA y GPU son casi inútiles . En el análisis de hash filtrado de 2012, las GPU fueron capaces de descifrar alrededor del 48% de las contraseñas, principalmente porque bcrypt y pbkdf2 no se usan comúnmente.
... pero en la práctica, la cantidad no lo es todo. Estoy totalmente en desacuerdo con Jeff Atwood en este enfoque de "frutos colgados". La cuenta que es la más valiosa es la cuenta administrativa , a menudo solo hay un solo hash de contraseña que el atacante quiere romper y harán todo lo posible para romper este hash. Como probador de penetración, romper un hash de contraseña administrativa es un gran hallazgo en un informe y un excelente enlace en un ataque encadenado.