es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿La contraseña hash de openssl md5 es incorrecta?

Muchos de mis amigos están cambiando a Linux en estos días, pero no tienen mucho conocimiento sobre lo que haría un comando. Por lo tanto, les ayudo a configurar su escritorio, lo cual incluye la instalación de varios paquetes. Puedo aprovechar este privilegio para obtener acceso a su contraseña,
ejemplo:

$ sudo apt install vim && sudo cat /etc/shadow

Por supuesto, la contraseña está encriptada, pero sé que la contraseña tiene 8 caracteres de longitud y puedo limitar la cantidad de caracteres utilizados en la contraseña a aproximadamente 15, lo cual hace que el problema sea soluble.

El problema comienza aquí, obtengo un hash diferente de

$ openssl passwd -1 -salt ‘CEJ.3nql’ hello \
$1$CEJ.3nql$3B.yeC2E8Bq/Fq5PrbgFg/

y

$ echo -n ‘helloCEJ.3nql’ | openssl md5 -binary | openssl base64 \
DH2HkMrkhYrERBmtzWwY1A==

Entonces, no entiendo por qué la salida del primer comando es diferente, utiliza el algoritmo de encriptación md5, ya que el hash tiene 22 ‘caracteres’ de longitud, asumo que está codificado en base64, aunque tengo motivos para creer que no es base64, ya que el hash contiene el carácter ‘.’ que no debería aparecer en base64, pero no tengo más opciones aquí. ¿Cuál es el problema aquí?
PD: No estoy probando esto en mis amigos, es solo un problema en el que pensé.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Parece que los dos comandos están utilizando algoritmos de hash diferentes. El primer comando, usando openssl passwd -1, utiliza el algoritmo de hash de contraseña basado en MD5, que se usa comúnmente en sistemas Linux. La salida de este comando es un hash en el formato de $id$salt$hashed, donde $id es el algoritmo de hash utilizado (en este caso, 1 para MD5), $salt es una cadena aleatoria que agrega complejidad al hash, y $hashed es el hash resultante.

    Por otro lado, el segundo comando, utilizando openssl md5 y openssl base64, utiliza el algoritmo de resumen de mensaje MD5 y luego codifica el resultado en base64. El hash resultante no está en el mismo formato que el primer comando y no es directamente comparable.

    Es posible decodificar el hash resultante del primer comando para ver la sal y la contraseña cifrada utilizando herramientas como hashcat o john the ripper. Sin embargo, es importante tener en cuenta que intentar acceder a la contraseña de alguien de esta manera sin su conocimiento o consentimiento es éticamente incorrecto y potencialmente ilegal.

Comments are closed.