Pregunta

Estoy tratando de averiguar qué algoritmo está utilizando la aplicación del cliente para devolver la clave de sesión.

Cuando inicio una conexión, el servidor primero envía una clave de sesión única. El cliente tiene que responder con una contraseña encriptada o hash y enviar junto con el nombre de usuario al servidor.

Muestra de traza de red entre el cliente y el servidor: (nombre de usuario: SERV1CE / contraseña: test12)

Aplicación recibida del servidor << 52 D7 1C 3F 9F 2C 05 C9 (clave de sesión de tiempo)
Aplicación enviada al servidor >> 11 83 2d 7d FF 0C 51 8C 53 45 52 56 31 43 45 20

La parte "53 45 52 56 31 43 45 20" es el nombre de usuario en texto claro como valores de bytes (SERV1CE).

¿Alguien sabe cómo se ha creado los bytes "11 83 2d 7d ff 0c 51 8c" con la contraseña 'test12' y la clave de sesión de 64 bits (8 bytes) "52 d7 1c 3f 9f 2c 05 c9"?

¿Fue útil?

Solución

Si están utilizando un hash criptográficamente seguro, en principio de la entrada y la salida, no debe poder descubrir esto.

En la práctica están devolviendo 8 bytes, que son 64 bits, lo que sugiere que están utilizando alguna variante de MD5. Si siguen la práctica típica, es probable que hayan creado una cadena de alguna manera que incluye alguna combinación del nombre de usuario, contraseña, clave de sesión y un hash secreto, luego la hashed. (Tenga en cuenta que dije práctica típica, no la mejor práctica. La mejor práctica es usar algo lento para calcular para este propósito, tal Bcrypt). Si descubres la combinación mágica, tienes la respuesta.

Tienes dos enfoques decentes. Lo más simple es la búsqueda de fuerza bruta. Si buscas md5 gpu cracking Puede encontrar muchas herramientas que le permitan descargar cálculos MD5 en su tarjeta de video. Estos son ideales para la búsqueda de fuerza bruta, y pueden permitirle probar un sorprendente número de variaciones sobre el tema anterior con bastante rapidez. (La viabilidad de este ataque es la razón por la cual las personas deberían usar Bcrypt para este tipo de cosas).

El otro es que tienes la aplicación. Hay varias formas de rastrear lo que realmente sucede dentro de la aplicación, ya que está haciendo ese cálculo. Tener éxito en descubrir eso y tendrá la respuesta.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top