9.1.2.5 Lab - Hashing Things Out

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 6

Práctica de laboratorio: Convertir elementos en hashes

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

Parte 1: Crear hashes con OpenSSL


OpenSSL se puede utilizar como una herramienta independiente para tareas de hash. Sigan los pasos que
se indican a continuación para crear un hash de un archivo de texto:

Paso 1: Generar un hash a partir de un archivo de texto


a. Abran una ventana del terminal en la máquina virtual CyberOps Workstation.

 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

b. Como el archivo de texto desde el cual se quiere generar el hash se encuentra en el


directorio /home/analyst/lab.support.files/, pasen a ese directorio:
[analyst@secOps ~]$ cd /home/analyst/lab.support.files/

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!

I wish you all the best. Love,


Your cookie-eater grandchild.

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

El hash nuevo, ¿es diferente al calculado en el punto (d)? ¿Es muy diferente?


R/ Si. El nuevo hash es completamente diferente al anterior.

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

[analyst@secOps lab.support.files]$ sha1sum letter_to_grandma.txt


08a835c7bcd21ff57d1236726510c79a0867e861 letter_to_grandma.txt
[analyst@secOps lab.support.files]$

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).

Parte 2: Hashes de verificación


Como se mencionó antes, un uso común de los hashes es verificar la integridad de los archivos. Sigan los
pasos que se detallan a continuación para utilizar hashes SHA-2-256 y verificar la integridad de sample.img,
un archivo que se descargó de Internet.

a. Junto con sample.img, también se descargó sample.img_SHA256.sig. sample.img_SHA256.sig es un


archivo que contiene el SHA-2-256 computado por el sitio web. En primer lugar, utilicen el comando cat
para mostrar el contenido del archivo sample.img_SHA256.sig:
[analyst@secOps lab.support.files]$ cat sample.img_SHA256.sig
c56c4724c26eb0157963c0d62b76422116be31804a39c82fd44ddf0ca5013e6a

 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

b. Utilicen SHA256sum para calcular el hash SHA-2-256 del archivo sample.img:


[analyst@secOps lab.support.files]$ sha256sum sample.img
C56c4724c26eb0157963c0d62b76422116be31804a39c82fd44ddf0ca5013e6a sample.img

¿Se descargó correctamente sample.img? Explique.


R/ Si. Debido a que ambos hashes coinciden, el hash calculado antes de la descarga y el calculado
después, es correcto afirmar que no se introdujeron errores durante la descarga.

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

También podría gustarte