Usando Hashcat para romper HMAC-SHA256

1

Hashcat cuenta con su capacidad para descifrar más de 200 algoritmos de hash, pero no hay mucha documentación sobre la mayoría de ellos. Hashcat --help muestra que es compatible con el craqueo HMAC, pero no es muy sencillo con la sintaxis (solo dice "1450 | HMAC-SHA256 (clave = $ pass)"). Entiendo que HMAC-SHA256 toma dos parámetros, uno es la clave y el otro el mensaje, pero no estoy seguro de cómo especificar ambos con Hashcat.

¿Cuál es la sintaxis adecuada para que Hashcat craque HMAC-sha256? Tengo dos archivos, uno contiene el mensaje y el otro contiene el hash. Conozco la contraseña y puedo verificar el hash HMAC usando openssl dgst -SHA256 -hmac "mypassphrase" message.txt

Espero que lo que estoy diciendo tenga mucho sentido, ha sido una semana larga: /

    
pregunta snuggle_bunny 20.06.2017 - 07:35
fuente

2 respuestas

4

La sintaxis es hash: mensaje

Tenga en cuenta que la longitud del mensaje está limitada a 51 bytes.

Consulte la página wiki del ejemplo de hashcat para obtener más información: enlace

    
respondido por el atom 20.06.2017 - 09:33
fuente
2

El formato del archivo es MAC:message , como ya se ha mencionado @atom . Por "MAC" me refiero al valor que produce el HMAC, a.k.a. el hash, por lo que primero aparece el MAC y luego el mensaje que este MAC está firmando. En esta configuración, el objetivo es descifrar la clave con la que se firmó el mensaje. (Parece que también puedes intentar descifrar el otro valor con -m 1460 , pero no he probado esto).

Básicamente harías algo como esto:

$ echo '320774ef5e33a2a0dfe8de47634f5e33d68166a51da9c84bd2f9e871c99eef2a:hi' > macmsg.txt
$ hashcat -m 1450 macmsg.txt

Excepto que el hashcat, por supuesto, quiere opciones de craqueo. Un simple comando hashcat para forzar la fuerza bruta podría tener este aspecto:

$ hashcat -m 1450 -a 3 macmsg.txt

Hashcat espera que el MAC (el hash) sea un dato binario, por lo que asume que lo pasas como un valor hexadecimal. El mensaje, sin embargo, espera estar en texto plano. Si también desea tener un mensaje hexadecimal, debe pasar --hex-salt :

$ echo '320774ef5e33a2a0dfe8de47634f5e33d68166a51da9c84bd2f9e871c99eef2a:6869' > macmsg.txt
$ hashcat -m 1450 -a 3 --hex-salt macmsg.txt

Espero que esto ayude!

    
respondido por el Luc 24.10.2018 - 17:42
fuente

Lea otras preguntas en las etiquetas