Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
heartbleed-lab — Laboratorio educativo para estudiar CVE-2014-0160 (Heartbleed) y las inconsistencias de encuadre en el manejo del heartbeat de TLS. | Kitploit
Herramientas/GitHubGitHub/victoriacfigueiredo/heartbleed-lab
Análisis de VulnerabilidadesSeguridad de RedesCriptografíaAprendizaje y EducaciónExplotación de BinariosLabs y Práctica
GitHubvictoriacfigueiredo/heartbleed-lab

heartbleed-lab

Laboratorio educativo para estudiar CVE-2014-0160 (Heartbleed) y las inconsistencias de encuadre en el manejo del heartbeat de TLS.

Ver Repositorio
8hace 3 mesesAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Laboratorio Heartbleed

Laboratorio educativo para estudiar la vulnerabilidad Heartbleed
(CVE-2014-0160) usando un entorno OpenSSL vulnerable real dentro de Docker.

Este proyecto reproduce un servidor TLS vulnerable usando OpenSSL 1.0.1f e implementa un cliente TLS heartbeat crudo y personalizado para demostrar cómo paquetes heartbeat malformados pueden provocar la divulgación de memoria.

El laboratorio fue creado con fines educativos y de investigación, especialmente para estudiar:

  • El encapsulamiento de registros TLS
  • El análisis de la extensión heartbeat
  • Vulnerabilidades de divulgación de memoria
  • Fallos de confianza en el analizador
  • Inconsistencias de encapsulamiento entre protocolos
  • Similitudes conceptuales entre Heartbleed y las vulnerabilidades de desincronización HTTP

Estructura Actual del Proyecto

root@kitploit:~
heartbleed-lab/
├── client/
│   ├── attacker.py
│   └── Dockerfile
│
├── vulnerable/
│   ├── Dockerfile
│   └── server/
│
├── fixed/
│   ├── Dockerfile
│   └── server/
│
├── docs/
│   └── diagrams/
│
├── notes/
│
├── docker-compose.yml
├── .gitignore
└── README.md

Arquitectura

root@kitploit:~
heartbleed-client
        ↓
 Docker internal network
        ↓
vulnerable-heartbleed

Donde:

  • heartbleed-client envía registros TLS crudos
  • vulnerable-heartbleed ejecuta OpenSSL 1.0.1f
  • la comunicación ocurre dentro de una red Docker aislada

Entorno Vulnerable

El servidor vulnerable usa:

  • Ubuntu 14.04
  • OpenSSL 1.0.1f (versión vulnerable de 2014)
  • openssl s_server

El entorno está configurado intencionalmente para reproducir el comportamiento original de Heartbleed.


Funcionalidades Implementadas

Servidor TLS Vulnerable

  • Compilación real de OpenSSL 1.0.1f
  • Soporte de handshake TLS
  • Extensión heartbeat habilitada
  • Entorno aislado con Docker

Cliente Heartbeat TLS Crudo

La implementación del cliente:

  • crea sockets TCP crudos
  • envía registros TLS construidos manualmente
  • realiza un ClientHello TLS manual
  • envía solicitudes heartbeat malformadas
  • recibe respuestas con memoria filtrada

Demostración de Heartbleed

La implementación actual reproduce el comportamiento original de Heartbleed enviando un paquete heartbeat malformado donde:

root@kitploit:~
payload_length > real payload size

Ejemplo:

root@kitploit:~
Declared payload length: 0x4000
Real payload: 1 byte ("A")

El servidor vulnerable confía incorrectamente en la longitud declarada y responde con contenido de memoria más allá de los límites reales del payload.


Ejecutar el Laboratorio

Compilar e iniciar los contenedores

root@kitploit:~
sudo COMPOSE_HTTP_TIMEOUT=300 docker-compose up --build

Acceder al contenedor del cliente

root@kitploit:~
sudo docker exec -it heartbleed-client bash

Ejecutar la prueba de concepto de Heartbleed

root@kitploit:~
python attacker.py

Ejemplo de Salida Exitosa

root@kitploit:~
[+] Sending malformed heartbeat
[+] Got TLS record: type=24 version=(3, 2) length=16384
[!!!] Heartbeat response received

Esto indica que el servidor vulnerable devolvió contenido de memoria más allá del payload heartbeat legítimo.


Objetivos de Investigación

Este proyecto explora la relación entre:

  • inconsistencias de encapsulamiento TLS
  • fallos de confianza en el analizador
  • confusión de límites
  • campos de longitud malformados
  • conceptos de desincronización de protocolos

Uno de los principales intereses de investigación de este laboratorio es comparar:

root@kitploit:~
HTTP Request Smuggling
vs
TLS Heartbeat Parsing Failures

desde la perspectiva de:

  • inconsistencias de encapsulamiento
  • comportamiento del analizador
  • suposiciones de confianza en los metadatos

Trabajo Futuro

Los próximos pasos planificados incluyen:

  • mejor visualización de las fugas
  • ayudas para analizar fugas de memoria
  • comparación con versiones parcheadas de OpenSSL
  • experimentos con proxies TLS intermediarios
  • pruebas automatizadas de mutación de heartbeat

Referencias

  • CVE-2014-0160
  • RFC 6520 (Extensión Heartbeat de TLS)

Aviso Legal

Este repositorio existe únicamente para:

  • educación
  • investigación académica
  • estudios de seguridad defensiva
Descargar herramienta