Si solo conozco parte de una contraseña y parte del hash, ¿es posible obtener la contraseña completa?

1

Estoy tratando de aprender más acerca de los hashes y la criptografía y de hacer mi propia prueba, pero parece que estoy atascado en este problema.

La función hash que se está utilizando es SHA1.

Si estoy tratando de determinar una contraseña y sé que los últimos X caracteres de la contraseña son: endofpassword# .

Y sé que el comienzo del hash es: e921a7cde9e64d612b , pero no el resto de los caracteres para el hash, ¿es posible determinar la contraseña y qué herramienta usaría para esto?

Creo que Hashcat no sería adecuado para este tipo de ataque, pero puedo estar equivocado.

    
pregunta ark 23.06.2016 - 19:11
fuente

2 respuestas

1

Saber que parte de la contraseña te da un buen comienzo para construir una lista de posibles contraseñas, pero podría ser una lista masiva según la longitud máxima y el conjunto de caracteres. Digamos que tiene un máximo de 50 caracteres y tienes 14, lo que deja 36 caracteres de entropía en el rango desconocido.

Al conocer parte del hash, puedes invalidar muchos de ellos, pero sin todo el hash, debes buscar en todo el rango desconocido buscando coincidencias con tu parte de un hash. El tiempo que se tarda es considerable, incluso con la ayuda de la GPU (una herramienta como oclHashCat) que habla de décadas de trabajo ya que la parte del hash que conoces no lo acelera; necesitas ejecutar el hash y luego compararlo con tu fragmento. No puedes detenerte tan pronto como encuentres una que coincida, porque no tienes forma de saber que es la única coincidencia y, por lo tanto, debes agotar todo el espacio.

Si agota el espacio con solo una coincidencia, ha encontrado la contraseña. Si tienes múltiples resultados no has encontrado la contraseña. Creo que la respuesta a "es posible determinar la contraseña" es un sólido "quizás", ya que solo sabrá si hay 1 contraseña posible hasta después de la verificación.

    
respondido por el Jeff Meden 23.06.2016 - 20:16
fuente
1

Teniendo en cuenta que estoy leyendo tu pregunta correctamente, sabes la primera sección de un hash SHA1 y luego los caracteres en texto sin formato después del hash.

Para llevar a cabo este ataque con éxito, deberías escribir un script que adivine las contraseñas como Password1! + randombytes# y mezcle el combo completo con SHA1 y luego verifique para asegurarse de que el inicio de hash de la contraseña adivinada sea igual a e921a7cde9e64d612b y agregarlo a una lista de contraseñas potenciales.

Usted mencionó el uso de hashcat, sin embargo, debido a la naturaleza de su método de ataque como se mencionó anteriormente, sería más fácil escribir un script simple en un idioma de su elección para llevar a cabo su ataque.

En resumen, el ataque es posible pero sería más difícil ya que no tienes el hash completo.

    
respondido por el Nathaniel Suchy 23.06.2016 - 19:36
fuente

Lea otras preguntas en las etiquetas