heartbleed-vulnerability-exploitation
Descripción
investigación práctica de la vulnerabilidad Heartbleed (CVE-2014-0160).
Resumen
este laboratorio documenta una investigación práctica de la vulnerabilidad Heartbleed, un fallo crítico en la implementación de OpenSSL de la extensión heartbeat de TLS. el objetivo era comprender cómo funciona la vulnerabilidad a nivel de protocolo y explotarla en un entorno controlado para observar su impacto, practicando habilidades directamente relevantes para el análisis de SOC (evaluación de vulnerabilidades y análisis de impacto).
Objetivo
- comprender la causa raíz de Heartbleed (verificación de límites incorrecta en la extensión heartbeat de OpenSSL).
- identificar un servicio OpenSSL vulnerable utilizando herramientas de reconocimiento y escaneo.
- explotar la vulnerabilidad en un entorno de laboratorio controlado para observar la exposición de datos.
- documentar estrategias de remediación desde la perspectiva de un SOC/analista.
Entorno y herramientas
- Objetivo: servidor web vulnerable (nginx 1.15.7 en el puerto 443) ejecutando una versión desactualizada de OpenSSL, VM de laboratorio aislada.
- Máquina atacante/analista: entorno de análisis basado en linux.
- Herramientas utilizadas:
nmap - enumeración de servicios y descubrimiento de vulnerabilidades.
Metasploit - módulo auxiliary/scanner/ssl/openssl_heartbleed para la explotación.
Metodología
1. Reconocimiento
- se ejecutó un escaneo completo de puertos TCP con detección de servicio/versión (nmap -sS -vv -p- -A )
- se identificaron puertos abiertos: 22 (SSH), 111 (rpcbind), 443 (SSL/HTTP).
- se identificó el puerto 443 como ejecutando ngix 1.15.7 sobre SSL/TLS (candidato a OpenSSL desactualizado)
2. Identificación de la vulnerabilidad
- se ejecutó (nmap -sV --script vuln ) para comprobar todos los servicios descubiertos contra scripts de vulnerabilidades conocidas.
- se confirmó que el objetivo era VULNERABLE a Heartbleed mediante el script NSE ssl-heartbleed, marcado como de alto riesgo.
3. Explotación
- se lanzó el framework metasploit (msfconsole) y se localizó el módulo correspondiente con (search heartbleed).
- se seleccionó auxiliary/scanner/ssl/openssl_heartbleed y se revisaron las opciones del módulo.
- se configuraron RHOSTS, RPORT 443 y verbose true, y luego se ejecutó el módulo.
- el módulo envió una solicitud heartbeat de TLS malformada y capturó la respuesta sobredimensionada del servidor, filtrando memoria de proceso adyacente.
Hallazgos
- se confirmó que el objetivo (nginx 1.15.7, puerto 443) era vulnerable a CVE-2014-0160 tanto mediante el script ssl-heartbleed de nmap como mediante el escáner openssl_heartbleed de Metasploit.
- la explotación filtró con éxito memoria heap del servidor, devolviendo cadenas imprimibles junto con datos binarios.
- la memoria filtrada contenía fragmentos del cuerpo de una solicitud HTTP previa, incluidos los parámetros "user_name, user_email, and user_message", lo que demuestra que Heartbleed puede exponer datos de la capa de aplicación que residían en memoria adyacente.
- no se requirió autenticación para explotar la vulnerabilidad, lo que la hace explotable por cualquier atacante adyacente a la red.
- actualizar OpenSSL a una versión parcheada.
- revocar y reemitir cualquier certificado SSL/clave privada que pueda haber quedado expuesto antes del parcheo.
- forzar el restablecimiento de contraseñas para las cuentas con sesiones activas durante la ventana de vulnerabilidad.
- deshabilitar por completo la extensión heartbeat si no es posible aplicar el parche de inmediato.
Habilidades demostradas
- escaneo de puertos de alcance completo y enumeración de servicios (nmap).
- escaneo de vulnerabilidades con scripts NSE (vuln, ssl-heartbleed)
- configuración y ejecución de módulos de explotación en el framework Metasploit.
- análisis de causa raíz de una vulnerabilidad de seguridad de memoria.
- elaboración de informes de seguridad y planificación de la remediación.
Referencias