Encuentre sal de hash md5 si se conoce la contraseña

3

Tengo un hash MD5 con sal y también conozco la contraseña. ¿Cómo puedo recuperar la sal utilizando herramientas como John The Ripper (tengo instalado JTR JTR)?

    
pregunta nikrom3000 12.07.2016 - 14:33
fuente

1 respuesta

5

Con texto simple conocido, y asumiendo que la sal utiliza una concatenación de cadena simple, algunas suites de descifrado de contraseñas como hashcat o MDXfind le permitirán usar la fuerza bruta. Esto solo será práctico para sales simples (lo suficientemente cortas como para fuerza bruta, o si el conjunto de caracteres de la sal se conoce lo suficientemente bien como para mantener el espacio de teclas pequeño).

Para el hashcat, el truco (quizás no intuitivo) es pretender que la sal es la contraseña, y la contraseña es la sal. Esto funciona cuando la salazón se realiza como una simple concatenación.

En este ejemplo, la contraseña de texto sin formato conocida es "contraseña" y la sal desconocida es "GR7". Usaremos el modo 20 del algoritmo de hashcat (md5 ($ salt. $ Pass)).

Aquí está el hash salado:

$ echo -n 'passwordGR7' | md5sum
a598e9df477f07dadee6b6bee9ac1daa  -

... y aquí está el hash y el "salt" de destino (en el formato hash: salt esperado), pero el "salt" es nuestra contraseña de texto simple conocida:

$ cat hash.list
a598e9df477f07dadee6b6bee9ac1daa:password

Luego, usamos una máscara '? a? a? a' (todas las cadenas imprimibles de tres caracteres) como posibles "contraseñas" (realmente la sal):

$ hashcat --quiet -m 20 -a 3 hash.list ?a?a?a
a598e9df477f07dadee6b6bee9ac1daa:password:GR7

Para manejar sales de diferentes longitudes o formatos, simplemente ajuste la máscara o el tipo de ataque. Si no se conoce la longitud de la sal, use --increment para probar todas las longitudes hasta la longitud de la máscara suministrada.

Si se agrega la sal en lugar de agregarla, se puede usar el modo hashcat 10 (md5 ($ pass.salt)) (de nuevo, recordando que el "paso" en este contexto es en realidad la sal, usando el mismo método que arriba).

No he hecho esto explícitamente con John the Ripper, pero como John admite md5 ($ p. $ s) y md5 ($ s. $ p) usando formatos dinámicos, creo que se puede usar la misma técnica con Juan. Pero estos formatos dinámicos solo están en la CPU en este momento, por lo que si tienes GPU disponibles, te recomiendo que eches un vistazo al hashcat.

    
respondido por el Royce Williams 23.10.2017 - 06:48
fuente

Lea otras preguntas en las etiquetas