9.1.2.5 Lab - Hashing Things Out
9.1.2.5 Lab - Hashing Things Out
9.1.2.5 Lab - Hashing Things Out
Objetivos
Parte 1: Crear hashes con OpenSSL
Parte 2: Verificar hashes
Antecedentes / Escenario
Las funciones de hash son algoritmos matemáticos diseñados para tomar datos como entrada y generar una
cadena de caracteres única de tamaño fijo, también conocida como hash. Diseñadas para que sean veloces,
las funciones de hash son muy difíciles de revertir; es muy difícil recuperar los datos que crearon un hash
determinado, basándose solamente en el hash. Otra de las propiedades importantes de las funciones de
hash es que hasta el cambio más pequeño realizado en los datos de entrada genera un hash completamente
diferente.
Aunque se puede utilizar OpenSSL para generar y comparara hashes, hay otras herramientas disponibles.
En esta práctica de laboratorio también se incluyen algunas de estas herramientas.
Recursos necesarios
VM CyberOps Workstation
Acceso a Internet
Cisco y/o sus filiales. Todos los derechos reservados. Información confidencial de Cisco Página 1 de 6 www.netacad.com
Práctica de laboratorio: Convertir elementos en hashes
c. Escriban el siguiente comando para generar una lista del contenido del archivo de
texto letter_to_grandma.txt en la pantalla:
[analyst@secOps lab.support.files]$ cat letter_to_grandma.txt
Hi Grandma,
I am writing this letter to thank you for the chocolate chip cookies you sent me. I
got them this morning and I have already eaten half of the box! They are absolutely
delicious!
d. Sin salir de la ventana del terminal, emitan el siguiente comando para generar un hash a partir del
archivo de texto. El comando utilizará MD5 como algoritmo de hashing para generar un hash del archivo
de texto. El hash aparecerá en la pantalla después de que OpenSSL lo haya computado.
[analyst@secOps lab.support.files]$ openssl md5 letter_to_grandma.txt
MD5(letter_to_grandma.txt)= 8a82289f681041f5e44fa8fbeeb3afb6
Observen el formato de la salida. OpenSSL muestra el algoritmo de hashing que se utilizó (MD5),
seguido por el nombre del archivo utilizado como datos de entrada. El hash MD5 en sí aparece después
del signo igual (‘=’).
Cisco y/o sus filiales. Todos los derechos reservados. Información confidencial de Cisco Página 2 de 6 www.netacad.com
Práctica de laboratorio: Convertir elementos en hashes
e. Las funciones de hash son útiles para verificar la integridad de los datos independientemente de que se
traten de una imagen, una canción o un simple archivo de texto. El cambio más pequeño produce un
hash completamente diferente. Los hashes se pueden calcular antes y después de la transmisión, para
luego compararlos. Si los hashes no coinciden, los datos fueron modificados durante la transmisión.
Modifiquemos el archivo de texto letter_to_grandma.txt y volvamos a calcular el hash MD5. Emitan el
siguiente comando para abrir nano, un editor de texto para la línea de comandos.
[analyst@secOps lab.support.files]$ nano letter_to_grandma.txt
Utilicen nano para cambiar la primera oración de ‘Hi Grandma’ a ‘Hi Grandpa’. Observen que solo
estamos cambiando un carácter: la ‘m’ a una ‘p’. Después de hacer el cambio, presionen las
teclas <CONTROL+X> para guardar el archivo modificado. Presionen ‘Y’ (Sí) para confirmar el nombre y
guardar el archivo. Presione la tecla <Intro> y saldrá de nano para continuar con el siguiente paso.
Cisco y/o sus filiales. Todos los derechos reservados. Información confidencial de Cisco Página 3 de 6 www.netacad.com
Práctica de laboratorio: Convertir elementos en hashes
f. Ahora que se ha modificado y guardado el archivo, vuelvan a ejecutar el siguiente comando para generar
un hash MD5 del archivo.
[analyst@secOps lab.support.files]$ openssl md5 letter_to_grandma.txt
MD5(letter_to_grandma.txt)= dca1cf6470f0363afb7a65a4148fb442
g. Los hashes MD5 se consideran débiles y susceptibles a ataques. Algunos algoritmos de hashing más
robustos son SHA-1 y SHA-2. Utilicen el siguiente comando para generar un hash SHA-1 del
archivo letter_to_grandma.txt::
[analyst@secOps lab.support.files]$ openssl sha1 letter_to_grandma.txt
SHA1(letter_to_grandma.txt)= 08a835c7bcd21ff57d1236726510c79a0867e861
[analyst@secOps lab.support.files]$
Nota: Hay otras herramientas para generar hashes. A saber: md5sum, sha1sum y sha256sum se
pueden utilizar para generar hashesMD5, SHA-1 y SHA-2-256, respectivamente.
h. Utilicen md5sum y sha1sum para generar un hash MD5 y uno SHA-1 del archivo letter_to_grandma.txt:
[analyst@secOps lab.support.files]$ md5sum letter_to_grandma.txt
dca1cf6470f0363afb7a65a4148fb442 letter_to_grandma.txt
Cisco y/o sus filiales. Todos los derechos reservados. Información confidencial de Cisco Página 4 de 6 www.netacad.com
Práctica de laboratorio: Convertir elementos en hashes
Los hashes generados con md5sum y sha1sum, ¿coinciden con las imágenes generadas en los
puntos (g) y (h), respectivamente? Explique.
R/Si coinciden, Si bien se utilizan diferentes herramientas, utilizan el mismo algoritmo hash y los mismos
datos de entrada.
Nota: Si bien SHA-1 aún no se vio comprometido de manera efectiva, las computadoras se vuelven cada
vez más poderosas. Se espera que esta evolución natural pronto permita que los atacantes
vulneren SHA-1. A modo de medida proactiva, SHA-2 ahora es el estándar recomendado para el
hashing. También cabe señalar que SHA-2 es, de hecho, una familia de algoritmos de hashing. La
familia SHA-2 está compuesta por seis funciones de hash: a saber: SHA-224, SHA-256, SHA-384, SHA-
512, SHA-512/224, SHA-512/256. Estas funciones generan valores de hash de 224, 256, 384 o 512 bits
de largo, respectivamente.
Nota: La VM CyberOPS solo incluye compatibilidad con SHA-2-224, SHA-2-256 y SHA-2-512
(sha224sum, sha256sum y sha512sum, respectivamente).
Cisco y/o sus filiales. Todos los derechos reservados. Información confidencial de Cisco Página 5 de 6 www.netacad.com
Práctica de laboratorio: Convertir elementos en hashes
Nota: Si bien los hashes de comparación son un método relativamente resistente para detectar errores
de transmisión, hay mejores formas de garantizar que nadie modifique el archivo. Diversas herramientas
como gpg son un método mucho mejor para garantizar que el archivo descargado no haya sido
modificado por ningún tercero y que es, efectivamente, el archivo que el editor quería publicar.
Cisco y/o sus filiales. Todos los derechos reservados. Información confidencial de Cisco Página 6 de 6 www.netacad.com