Está en la página 1de 5

Práctica de laboratorio: Cifrar y descifrar datos con OpenSSL

Objetivos
Parte 1: Cifrar mensajes con OpenSSL
Parte 2: Descifrar mensajes con OpenSSL

Antecedentes / Escenario
OpenSSL es un proyecto de código abierto que proporciona un kit de herramientas robusto, comercial y
completo para los protocolos de Seguridad de capa de transporte (Transport Layer Security, TLS) y Capa de
sockets segura (Secure Sockets Layer, SSL). También es una biblioteca de criptografía de uso general. En
esta práctica de laboratorio utilizarán OpenSSL para cifrar y descifrar mensajes de texto.
Nota: Si bien actualmente OpenSSL es la biblioteca de criptografía obligada, el uso que se presenta en esta
práctica de laboratorio NO se recomienda para lograr una protección sólida. A continuación se presentan
dos problemas de seguridad con esta práctica:
1) El método que se describe en esta práctica utiliza un función de derivación de claves débiles. La
ÚNICA medida de seguridad es una contraseña muy fuerte.
2) El método que se describe en esta práctica no garantiza la integridad del archivo de texto.
Esta práctica de laboratorio debe utilizarse solo con fines instructivos. Los métodos aquí presentado NO se
deben emplear para asegurar datos realmente sensibles.

Recursos necesarios
 Máquina virtual CyberOps Workstation
 Acceso a Internet

Parte 1: Cifrar mensajes con OpenSSL


OpenSSL se puede utilizar como una herramienta independiente para el cifrado. Aunque pueden utilizarse
muchos algoritmos de cifrado, esta práctica de laboratorio se enfoca en AES. Si quieren utilizar AES para
cifrar un archivo de texto directamente desde la línea de comando utilizando OpenSSL, sigan los pasos que
se indican a continuación:

Paso 2: Cifrar un archivo de texto


a. Inicien sesión en la VM CyberOPS Workstation.
b. Abran una ventana del terminal.
c. Como el archivo de texto que se debe cifrar se encuentra en el directorio /home/analyst/lab.support.files/,
pasen a ese directorio:
[analyst@secOps ~]$ cd ./lab.support.files/
[analyst@secOps lab.support.files]$
d. Escriba el siguiente comando a continuación para generar una lista del contenido del archivo de
texto encriptado letter_to_grandma.txt en la pantalla:
[analyst@secOps lab.support.files]$ cat letter_to_grandma.txt
Hi Grandma,

 Cisco y/o sus filiales. Todos los derechos reservados. Información confidencial de Cisco Página 1 de 5 www.netacad.com
Práctica de laboratorio: Cifrar y descifrar datos con OpenSSL

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.
[analyst@secOps lab.support.files]$

e. En la misma ventana del terminal, emitan el siguiente comando para cifrar el archivo de texto. El
comando usará AES-256 para cifrar el archivo de texto y guardar la versión cifrada como message.enc.
OpenSSL les pedirá una contraseña y que la confirmen. Proporcionen la contraseña tal como se les
solicita y recuérdenla.
[analyst@secOps lab.support.files]$ openssl aes-256-cbc -in
letter_to_grandma.txt -out message.enc
enter aes-256-cbc encryption password:
Verifying - enter aes-256-cbc encryption password:
[analyst@secOps lab.support.files]$

Document the password.


3Dw_1981

f. Cuando haya terminado el proceso, vuelvan a utilizar el comando cat para mostrar el contenido del
archivo message.enc.
[analyst@secOps lab.support.files]$ cat message.enc

 Cisco y/o sus filiales. Todos los derechos reservados. Información confidencial de Cisco Página 2 de 5 www.netacad.com
Práctica de laboratorio: Cifrar y descifrar datos con OpenSSL

¿Se mostró correctamente el contenido del archivo message.enc? ¿Qué aspecto tiene? Explique.
No se mostró correctamente, es evidente que el contenido ya no es legible, por el contrario no tiene
ninguna coherencia ya que usa una serie de caracteres especiales, mayúsculas, números.
g. Para que el archivo sea legible, vuelvan a ejecutar el comando OpenSSL pero esta vez agreguen la
opción -a. La opción -a le indica a OpenSSL que debe cifrar el mensaje cifrado con un método de
codificación diferente a Base64 antes de guardar el resultado en un archivo.
Nota: Base64 es un grupo de esquemas similares de codificación binario a texto que se utiliza para
representar datos binarios en un formato de cadena ASCII.
[analyst@secOps lab.support.files]$ openssl aes-256-cbc -a -in
letter_to_grandma.txt -out message.enc
enter aes-256-cbc encryption password:
Verifying - enter aes-256-cbc encryption password:
h. Nuevamente, utilicen el comando cat para mostrar el contenido del archivo message.enc, que se acaba
de generar otra vez:
Nota: El contenido de message.enc variará.
[analyst@secOps lab.support.files]$ cat message.enc
U2FsdGVkX19ApWyrn8RD5zNp0RPCuMGZ98wDc26u/vmj1zyDXobGQhm/dDRZasG7
rfnth5Q8NHValEw8vipKGM66dNFyyr9/hJUzCoqhFpRHgNn+Xs5+TOtz/QCPN1bi
08LGTSzOpfkg76XDCk8uPy1hl/+Ng92sM5rgMzLXfEXtaYe5UgwOD42U/U6q73pj
a1ksQrTWsv5mtN7y6mh02Wobo3A1ooHrM7niOwK1a3YKrSp+ZhYzVTrtksWDl6Ci
XMufkv+FOGn+SoEEuh7l4fk0LIPEfGsExVFB4TGdTiZQApRw74rTAZaE/dopaJn0
sJmR3+3C+dmgzZIKEHWsJ2pgLvj2Sme79J/XxwQVNpw=
[analyst@secOps lab.support.files]$

 Cisco y/o sus filiales. Todos los derechos reservados. Información confidencial de Cisco Página 3 de 5 www.netacad.com
Práctica de laboratorio: Cifrar y descifrar datos con OpenSSL

¿Ahora se muestra correctamente message.enc? Explique.


No, el texto cambio si su cifrado, ya que en esta ocasión existen letras mayúsculas, minúsculas, números
y símbolos matemáticos, sin espacio ni saltos de línea, de igual forma ilegible.
¿Pueden pensar en algún beneficio de tener message.enc codificado como Base64?
Personalmente considero que podría ser útil para transportar datos por internet, por ejemplo una entrega
de correo electrónicos, donde claro está el destinatario debe tener claro el método de cifrado para poder
descifrarlo, sin embargo aunque Base64 cambia el aspecto del contenido a simple vista, de acuerdo a
investigaciones no se debe considerar seguro, ya que incluso en la misma investigación explican como
Base64 codifica, lo que hace pensar que los ciberdelincuentes no tendrán problema en descifrar estos
contenidos, pero para poner en uso en una empresa para el envió de información sería algo interesante,
ya que la información no estaría en texto plano para quien intercepte el correo, y sea un tercero sin
conocimientos de cifrado.

Parte 2: Descifrar mensajes con OpenSSL


Con un comando OpenSSL similar se puede descifrar message.enc.
a. Utilicen el siguiente comando para descifrar message.enc:
[analyst@secOps lab.support.files]$ openssl aes-256-cbc –a -d -in message.enc
-out decrypted_letter.txt
b. OpenSSL les pedirá la contraseña que se utilizó para cifrar el archivo. Vuelvan a introducir la misma
contraseña.
c. Cuando OpenSSL termine de descifrar el archivo message.enc, lo guardará en un archivo de texto de
nombre decrypted_letter.txt. Utilicen el comando cat para mostrar el contenido de decrypted_letter.txt:
[analyst@secOps lab.support.files]$ cat decrypted_letter.txt

 Cisco y/o sus filiales. Todos los derechos reservados. Información confidencial de Cisco Página 4 de 5 www.netacad.com
Práctica de laboratorio: Cifrar y descifrar datos con OpenSSL

¿La carta se descifró correctamente?


Si, al aplicar el comando indicado el contenido cifrado del archivo message.enc a que se descifre en el
nuevo archivo de texto, se logra evidenciar el contenido original sin ningún problema.
El comando que se utilizó para descifrar también contiene una opción -a. ¿Pueden explicarlo?
Si claro, se incluyo la opcion –a, ya que el texto se habia aplicado cifrado en Base64, sin esta opcion el
proceso no sabe en que formato esta, y el resultado no seria un mnesaje descricrado, ya que utilizaria el
metodo AES-256, y este no es coherente con la codificacion cifrada.

 Cisco y/o sus filiales. Todos los derechos reservados. Información confidencial de Cisco Página 5 de 5 www.netacad.com

También podría gustarte