Logo Studenta

37 consolidado informe de criptografia

¡Estudia con miles de materiales!

Vista previa del material en texto

Resumen. 
 
Palabras Clave —Firma digital, hash MD5, live http 
headers 
 
Abstract- 
 
Keywords—Digital signature, hash MD5 
 
 
I. INTRODUCCIÓN 
 
La criptografía responde a la necesidad de codificar mensajes 
que sólo pueda descifrar el destinatario y se ha aplicado tanto a 
defensa, como a secretos industriales y, en los últimos años, sobre 
todo, al comercio electrónico. Esto es así porque actualmente la 
seguridad de los sistemas informáticos se ve debilitada por el fuerte 
crecimiento de las redes y cuando se trata este tema hay que tener en 
cuenta un aspecto tan importante como la privacidad e integridad de 
los datos. 
 
II. OBJETIVOS 
 
 
Comprender el funcionamiento de la firma digital.y como atacar con 
http live headers para saber contraseñas 
 
 
III.Generar firma digital de un archivo 
 
Ejecutar el siguiente comando en el terminal de Debian: “openssl 
genrsa” para generar una pareja de claves: 
 
Clave privada: rsa_2048.key 
 
 
➢ Archivo de salida: rsa_2048.key 
➢ Tamaño de la pareja de claves en bits: 2048 
➢ Exponente público: “65537” 
➢ Cifrado de la clave privada: AES 
➢ con una clave de 128 bits 
➢ Contraseña: cripto2015 
➢ Comando: openssl genrsa -aes192 -f4 -passout 
pass:cripto2015 -out rsa_2048.key 2048 
 
 
Fig. 1 Generación de clave privada 
 
La cual genera el siguiente archivo: rsa_2048.key 
 
 
Fig. 2 archivo clave privada 
 
 
 
Gilbert Jair Sanchez Avila 
Escuela de Ciencias Básicas, Tecnología e Ingeniería “ECBTI”, 
Universidad Nacional Abierta y a Distancia “UNAD” 
Colombia 
gilbertjair21@yahoo.es 
 
 
Segunda Fase - Diseño y construcción 
mailto:gilbertjair21@yahoo.es
• El siguiente paso es extraer la clave, se debe ejecutar el 
siguientecomando en el terminal de Debian: “openssl rsa”: 
Clave pública:rsa_2048_pub.key 
 
➢ Archivo de entrada: rsa_2048.key 
➢ Archivo de salida: rsa_2048_pub.key 
➢ Comando: openssl rsa -in rsa_2048.key -
passin pass:cripto2015 –pubout –out 
rsa_2048_pub.key 
 
Fig. 3 Generación de la clave publica 
 
 
La cual genera el siguiente archivo: rsa_2048_pub.key 
 
 
 
Fig.4 Archivo clave publica 
 
Deberán firmar con el comando “openssl dgst” y la clave 
“rsa_2048.key” el documento “archivo_2z.ps”. Se hará uso de la 
función hash (resumen) criptográfica MD5 para calcular la firma. 
 
➢ Archivo que se va a proceder a firmar: archivo_2z.ps 
➢ Clave privada: rsa_2048.key 
➢ Contraseña: cripto2015 
➢ Función hash (resumen): md5 
➢ Archivo de salida (firma): firma_archivo_2z.txt 
➢ Comando a ejecutar en el terminal de Debian para 
ejecutarel proceso antes mencionado: openssl dgst -sign 
rsa_2048.key -md5 -passin pass:cripto2015 -out 
firma_archivo_2z.txt archivo_2z.ps 
 
 
 
Fig. 5 Generación de la firma digital 
 
 
Fig. Firma digital 
 
 
 
Fig. 7 archivo de la firma digital 
 
Deberán verificar con el comando “openssl dgst” y la clave 
pública “rsa_2048_pub.key” la firma digital del archivo generado en 
el proceso anterior “firma_archivo_2z.txt” pero haciendo uso del 
archivo “archivo_1y.ps” como documento firmado. 
 
➢ Archivo que contiene la firma digital: firma_archivo_2z.txt 
➢ Archivo firmado: archivo_2z.ps 
➢ Clave pública: rsa_2048_pub.key 
➢ Función hash (resumen): md5 
➢ Comando: openssl dgst -verify rsa_2048_pub.key -md5 - 
signature firma_archivo_2z.txt archivo_1y.ps 
 
 
 
Fig. 8 verificación de la firma digital 
 
 
 
 
 
PREGUNTAS 
¿Qué resultado obtuvieron en este proceso de firma digital, esto sí 
debería suceder o ser posible? 
Se generaron un par de claves una privada y una publica para poder 
firmar el documento. 
 
 
¿Qué es una función hash MD5? 
 
La función hashMD5es un algoritmo que consiguen crear a partir de 
una entrada ya sea un texto, una contraseña o un archivo una salida 
alfanumérica de longitud de 128bits (32 dígitoshexadecimales) que 
representa un resumen de toda la información que se le ha dado. 
 
¿Por qué obtuvieron dicho resultado?¿Cuál es la debilidaden el 
sistema de firma digital OpenSSL? 
 
Se generó un archivo con la firma digital (firma_archivo_2z.txt ) para 
el archivoarchivo_2z.ps utilizando el hash MD5, pero al verificar la 
firma digital (firma_archivo_2z.txt) se utilizó otro archivo 
archivo_1y.ps dando como resulto OK, podemos verificar la función 
hash MD5 de los dos archivos por medio del siguiente comando 
md5sum archivo_1y.ps y md5sum archivo_2z.ps podemos observar 
que son los mismos 
 
 
Fig. 9 comprobación del hash md5 
 
 
 
 
Este es una vulnerabilidad llamada ataque de colisión hash “se 
produce al aplicar a dos archivos distintos una función hash y que 
éstos arrojen la misma salida” 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Configurar un script 
 
Ataque diccionario: Los ataques por fuerza bruta suelen 
utilizarse para superar sistemas criptográficos como los 
protegidos con contraseñas. Los ciberdelincuentes utilizan 
programas informáticos para probar una gran cantidad de 
contraseñas y descifrar el mensaje o acceder al sistema. 
 
Programación de scripts: Los scripts (guiones) son meros 
ficheros de texto ASCII que presentan una serie de órdenes y 
estructuras organizadassecuencialmente. Así pues el script se 
ejecuta de forma lineal-secuencial orden tras orden.Los 
lenguajes scripts son lenguajes "interpretados". Lo que quiere 
decir que sus órdenes secuenciales son interpretadas porun 
sistema o programa padre. 
 
Descargamos el script dentro de maquina virtual en OS 
Debian 8.0, a través del navegador 
 
 
Después de descargar el script lo movemos de la carpeta 
Descarga a la carpeta Escritorio 
 
 
 
 
Luego cambiamos permisos al scipt, por la opción de 
propiedades: 
 
 
 
Luego ejecutamos la Terminal para ingresar como usuario root 
 
Enseguida ingresamos al directorio donde se encuentra el sript 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
IV Ataque de fuerza bruta utilizando un script 
 
 
Fig. 10 script a ejecutar 
 
 
 
 
 
Asignamos privilegios plenos 
 
 
 
Fig.11 permisos de ejecución 
 
 
 
 
 
Ejecutamos el script para el primer alfabeto 
 
 
Fig. 12 primera clave 
 
 
Editamos el script cambiando el número del alfabeto a trabajar 
space1 lo cambiamos por space2 
 
 
Fig.13 edición del script 
 
 
 
Obtenemos la segunda clave 
 
 
 
 
Fig.14 segunda clave 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
La tercera clave no se obtuvo con el script 
 
 
 
 
Fig. 15 tercera clave 
 
Tabla1. 
 
Como este script no pudo descifrar le tercera clave utilizaremos el 
programa john the ripper, procedemos a instalarlo 
 
 
Fig. 16 instalación de John the ripper 
 
 
Para la obtención de la sexta clave creamos un texto con el hash 
llamando hash6 
 
 
Fig. 17 hash6 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Procedemos a realizar el ataque 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Alfabeto Número 
caracteres 
 
Salt 
 
Hashcontraseña 
 
Contraseña 
 
 
Tiempo 
Alfabeto 
1 
 
3 
 
zz 
 
zzxro5xjinmvM 
yep 57 seg 
Alfabeto 
2 
 
3 
 
OO 
 
OOxtB6h5YruaA 
YEP 7 min 
45seg 
Alfabeto 
3 
 
3 
 
U. 
 
U./Se8tPqytD2 
 
Alfabeto 
4 
 
3 
 
4Y 
 
4Yy77AHdCPNqY 
 
Alfabeto 
1 
 
5 
 
bb 
 
bbzNErQvUSZOI. 
marta 
Alfabeto 
1 
 
6 
 
uu 
 
uuFPJnWAcNys2 
madrid 0.2 seg 
 
 
V.PRUEBA CON LIVE HTTP HEADERS PARA HACKEAR 
CONTRASEÑAS DE FACEBOOK O CORREOS 
Ya hemos instalado Live Http Headers ahora para hackear la 
contraseña de alguna victima lo primero que se tiene que hacer antes 
de que la victima abra su facebook o correos es abrir el live http 
headers y dejarlo minimizado, en este imagen vemos que no ha 
capturado ningún código de los encabezados. 
 
 
 
Vamos a probar esto colocando un correoy password en el facebook, 
por ejemplo pruebacripto@hotmail.com y un password de prueba 
(1234) , mientras vamos colocando esos datos vemos que el 
componente de live headers sigue capturando datos (ver siguiente 
imagen): 
 
En este caso la clave es errónea, pero el componente live http 
headers sigue capturando los datos enviados a la página, ver 
siguiente imagen: 
 
 
Ahora supongamos que una víctima se haya metido a su cuenta de 
facebook, esta vez con la contraseña correcta y mire su facebook 
normalmente, en este caso mostramos en esta imagen que el 
componente live http headers sigue trabajando, aunque en la vida real 
para que el ataque de efecto tenemos que dejar el componente 
minimizado y esperar que la víctima se vaya del puesto de trabajo 
para poder tomar los datos (mas adelante mostraremos eso) 
 
Ahora supongamos que la víctima se mete a su correo personal el 
componente de live http headers también captura los datos que toma 
el formulario de inicio de sesión (correo y password) para acceder a 
nuestra cuenta de correo electrónico, (aquí vemos a live http headers 
actuando) en la vida real obviamente tenemos que dejar esto 
minimizado para que la víctima no se dé cuenta y tener éxito en el 
ataque: 
 
mailto:pruebacripto@hotmail.com
Ahora supongamos que la víctima se levanto del puesto de trabajo 
por alguna razón , en ese momento el atacante abre la aplicación y 
donde dice guardar todo (recuadro en rojo) le damos un nombre al 
archivo y una ubicación (incluso esa información se guardar como un 
documento .txt o bloc de notas y se puede guardar en una memoria 
USB) una vez hecho esto el atacante se puede ir con la información 
guardada y analizar para un ataque o acceso a las cuentas de facebook 
o correos de la víctima. 
 
 
 
 
Análisis de la información encontrada 
Una vez el atacante se ha ido para su casa con el documento 
guardado en el que se tiene los encabezados de las páginas web que 
ha accedido la victima a lo largo del día abre ese bloc de notas y en la 
opción buscar colocamos la palabra pass: 
 
Podemos ver que nos aparece el password del usuario en 
facebook pruebacripto@hotmail.com y la clave es 1234 (ver bien 
la imagen donde está el color verde) 
 
 
Seguimos dándole buscar la palabra pass a lo largo del documento y 
vemos que se recoge los encabezados de facebook (ver recuadro 
verde de la imagen) si vemos el recuadro en rojo de esta imagen 
vemos el correo asociado a esa cuenta de facebook y en pass la clave 
de esa cuenta de facebook 
 
Aquí podemos ver ahora si en detalle lo anterior, ver esta 
imagen: 
 
 
Email:coronelturman@hotmail.com 
Password: gjsa8031 
 
 
 
Si seguimos dándole pass ahora vemos que busca la información no 
solo de facebook o de otras redes sociales sino también de cuentas de 
correo como la que probamos anteriormente: 
 
Aquí vemos los datos de la cuenta de correo usada para este 
ejercicio en detalle: 
 
Cuenta de correo:gilbertuts@hotmail.com 
Password: jair8031 
 
 
1. Por que se presenta esta falla de seguridad 
Live http headers su función es interceptar las cabeceras que manda 
nuestro navegador a un servidor, esto se puede decir que nosotros 
cuando por ejemplo escribimos un usuario y clave en un formulario 
de una página web estos datos se envían hacia un servidor especifico 
(servidor de Hotmail, servidor de facebook etc...)en ese momento 
hacemos la función de cliente, los servidores procesan nuestra 
solicitud y si aceptada pues ejecutan lo que los pedimos en este caso 
sería dejarnos entrar a nuestro correo o facebook etc.. live http 
headers funciona como una especie de sniffer interceptando todo el 
trafico que pasa por el puerto 80,además de eso live http headers no 
solo analiza las cabeceras sino que nos puede servir para modificarlas 
y ejecutar diversos ataques de inyección de códigos (XSS por 
ejemplo). 
2. Que se debería encriptar para que no haya este error 
Se debe encriptar los datos de envió de los formularios de los 
aplicativos web cuando esto van hacia el servidor buscando solución 
a las solicitudes de la pagina en cuestión que hace la función cliente, 
encriptar las peticiones GET o POST. 
3. Cual sería la solución para solventar este error 
Una de las soluciones seria que los programadores de estas 
aplicaciones web revisaran los códigos fuentes, se pueden guiar por 
la metodología de OWASP para estos análisis y revisiones. 
También que el administrador de red este monitoreando el flujo de 
datos constantemente para ver si hay irregularidades, también 
podríamos usar un WAF (firewall de aplicaciones web) el cual filtra 
los envíos de mensajes por HTTP por medio de reglas las cuales 
bloquean ataques como XSS e inyecciones SQL y usar VPN para que 
los equipos se conecten entre sí como si fuera una red local. 
Tambien es recomendable como usuarios revisar nuestro equipo para 
ver si hay programas extraños instalados si es así desinstalarlos o 
eliminarlos, actualizar el antivirus , no bajar programas desconocidos 
ni abrir correos desconocidos ,también podemos una vez nos 
levantemos de un puesto de trabajo dejar el equipo con sesión de 
usuario con su respectiva clave o que el protector de pantalla se 
active al poco tiempo inactividad y al protector de pantalla colocarle 
una clave mientras llegamos al puesto de trabajo, otra recomendación 
seria cambiar la contraseña seguido de nuestras cuentas de correo y 
redes sociales. 
 
 
 
 
Conclusiones 
 
 
 
✓ En este caso vemos que usa el algoritmo MD5 en openssl el 
cual vemos que tiene falencias en seguridad lo cual no es 
recomendable para almacenar contraseñas se aconseja usar 
SHA512 ya es mas imperceptible con respecto a MD5. 
✓ El Salt es útil para almacenar el hash de la contraseña ya 
que introduce elementos que impiden que un atacante use 
contraseñas que ya están compilados en hash de 
contraseñas anteriores. y es muy usado en aplicaciones 
como seguridad en esquemas de contraseñas protegiendo 
estos datos. 
✓ Tambien como usuarios normales tener presente que a 
nuestras contraseñas de correo y cuentas sociales no 
hacerlas de frases o palabras conocidas sino usar 
combinaciones alfanuméricas ,mayúsculas y minusculas 
para que dificulte a un potencial atacante incluso cuando 
use programas para hacer ataques de fuerza bruta (se 
prueban todas las combinaciones posibles al descifrar una 
contraseña ) o diccionario (usar palabras comunes por los 
usuarios) en programas como Hydra o Jhon the Reaper y 
estar cambiando las contraseñas periódicamente o cuando 
se tenga sospecha de que nos han accedido a nuestras 
cuentas de redes sociales y correo, con esto ayudamos a 
proteger nuestros datos de un potencial atacante. 
VI. REFERENCIAS 
 
[1]https://www.youtube.com/watch?v=6S8FQGGgvZE Instalar las 
Guest Additions en Debian,. [Último acceso: Septiembre 2015]. 
 
[2]https://www.youtube.com/watch?v=Le7lD0RxSI0,Compartir 
carpetas Windows-8 a Linux-Ubuntu12 (VirtualBox) [Último acceso: 
Septiembre 2015]. 
 
[3]http://www.seguridad.unam.mx/noticia/?noti=2012, El último 
clavo al ataúd del hash MD5: Generalizan colisiones criptográficas 
[Último acceso: Septiembre 2015]. 
 
[4]http://blog.loretahur.net/2007/07/instalando-john-
ripper.html, Instalando John The Ripper-Publicado por Lorena 
Fernández el 25-07-2007[Último acceso: Septiembre 2015]. 
 
 
[5]. https://www.youtube.com/watch?t=1&v=8Me0yZf4fXY Video 
sobre el uso de Live Http Headers. [Último acceso: Septiembre 
2015]. 
 
[6]. http://www.taringa.net/posts/info/13845034/HTTP-al-
Descubierto.html. HTTP al descubierto. 
 [Último acceso: Septiembre 2015]. 
 
 
[7] https://platzi.com/blog/como-usar-una-vpn/.Uso de VPN. 
 [Último acceso: Septiembre 2015]. 
 
[8] http://www.exceda.com/es/produtos/waf-web-application-
firewall/WAF. 
[Último acceso: Septiembre 2015]. 
 
[9]https://www.sophos.com/es-es/threat-center/threat-analyses/threatsaurus/a-to-z-of-threats/b/brute-force-
attack.aspx. SOPHOS, 1997-2015. Ataque por fuerza bruta 
[Último acceso: Septiembre 2015]. 
 
[10] https://aurea.es/assets/scriptsenlinux.pdf Rivera Javier. 
Programación de scripts bajo shell de LINUX 
Último acceso: Septiembre 2015]. 
 
 
 
https://www.youtube.com/watch?v=6S8FQGGgvZE
https://www.youtube.com/watch?v=Le7lD0RxSI0
http://www.seguridad.unam.mx/noticia/?noti=2012
http://blog.loretahur.net/2007/07/instalando-john-ripper.html
http://blog.loretahur.net/2007/07/instalando-john-ripper.html
https://www.youtube.com/watch?t=1&v=8Me0yZf4fXY
http://www.taringa.net/posts/info/13845034/HTTP-al-Descubierto.html
http://www.taringa.net/posts/info/13845034/HTTP-al-Descubierto.html
https://platzi.com/blog/como-usar-una-vpn/
http://www.exceda.com/es/produtos/waf-web-application-firewall/
http://www.exceda.com/es/produtos/waf-web-application-firewall/
https://www.sophos.com/es-es/threat-center/threat-analyses/threatsaurus/a-to-z-of-threats/b/brute-force-attack.aspx
https://www.sophos.com/es-es/threat-center/threat-analyses/threatsaurus/a-to-z-of-threats/b/brute-force-attack.aspx
https://www.sophos.com/es-es/threat-center/threat-analyses/threatsaurus/a-to-z-of-threats/b/brute-force-attack.aspx
https://aurea.es/assets/scriptsenlinux.pdf
[11] http://www.securitybydefault.com/2013/09/consejos-practicos-
la-hora-de-integrar.html. 
Yago Jesus. consejos practicos a la hora de integrar criptografía. 
[Último acceso: Septiembre 2015]. 
 
 
 
 
 
 
 
 
 
 
 
. 
http://www.securitybydefault.com/2013/09/consejos-practicos-la-hora-de-integrar.html
http://www.securitybydefault.com/2013/09/consejos-practicos-la-hora-de-integrar.html

Continuar navegando