Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
heartbleed-lab — Laboratoire pédagogique pour l'étude de la CVE-2014-0160 (Heartbleed) et des incohérences de tramage dans la gestion du heartbeat TLS. | Kitploit
Outils/GitHubGitHub/victoriacfigueiredo/heartbleed-lab
Analyse des VulnérabilitésSécurité RéseauCryptographieApprentissage et ÉducationExploitation de BinairesLabs et Pratique
GitHubvictoriacfigueiredo/heartbleed-lab

heartbleed-lab

Laboratoire pédagogique pour l'étude de la CVE-2014-0160 (Heartbleed) et des incohérences de tramage dans la gestion du heartbeat TLS.

Voir le dépôt
8il y a 3 moisPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Laboratoire Heartbleed

Laboratoire pédagogique pour étudier la vulnérabilité Heartbleed
(CVE-2014-0160) à l'aide d'un environnement OpenSSL réellement vulnérable sous Docker.

Ce projet reproduit un serveur TLS vulnérable utilisant OpenSSL 1.0.1f et implémente un client TLS heartbeat brut personnalisé pour démontrer comment des paquets heartbeat malformés peuvent déclencher une divulgation mémoire.

Le laboratoire a été créé à des fins éducatives et de recherche, notamment pour étudier :

  • Le cadrage des enregistrements TLS
  • L'analyse de l'extension heartbeat
  • Les vulnérabilités de divulgation mémoire
  • Les défaillances de confiance dans les analyseurs syntaxiques
  • Les incohérences de cadrage entre protocoles
  • Les similitudes conceptuelles entre Heartbleed et les vulnérabilités de désynchronisation HTTP

Structure actuelle du projet

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

Architecture

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

Où :

  • heartbleed-client envoie des enregistrements TLS bruts
  • vulnerable-heartbleed exécute OpenSSL 1.0.1f
  • la communication s'effectue au sein d'un réseau Docker isolé

Environnement vulnérable

Le serveur vulnérable utilise :

  • Ubuntu 14.04
  • OpenSSL 1.0.1f (version vulnérable de 2014)
  • openssl s_server

L'environnement est intentionnellement configuré pour reproduire le comportement original de Heartbleed.


Fonctionnalités implémentées

Serveur TLS vulnérable

  • Compilation réelle d'OpenSSL 1.0.1f
  • Prise en charge de la poignée de main TLS
  • Extension heartbeat activée
  • Environnement isolé via Docker

Client TLS heartbeat brut

L'implémentation du client :

  • crée des sockets TCP bruts
  • envoie des enregistrements TLS fabriqués à la main
  • effectue un ClientHello TLS manuel
  • envoie des requêtes heartbeat malformées
  • reçoit les réponses contenant la mémoire divulguée

Démonstration de Heartbleed

L'implémentation actuelle reproduit le comportement original de Heartbleed en envoyant un paquet heartbeat malformé où :

root@kitploit:~
payload_length > real payload size

Exemple :

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

Le serveur vulnérable fait incorrectement confiance à la longueur déclarée et répond avec le contenu mémoire au-delà des limites réelles de la charge utile.


Exécution du laboratoire

Construire et démarrer les conteneurs

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

Accéder au conteneur client

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

Exécuter la preuve de concept Heartbleed

root@kitploit:~
python attacker.py

Exemple de sortie réussie

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

Cela indique que le serveur vulnérable a renvoyé le contenu mémoire au-delà de la charge utile heartbeat légitime.


Objectifs de recherche

Ce projet explore la relation entre :

  • les incohérences de cadrage TLS
  • les défaillances de confiance dans les analyseurs syntaxiques
  • la confusion de limites
  • les champs de longueur malformés
  • les concepts de désynchronisation de protocole

L'un des principaux intérêts de recherche de ce laboratoire consiste à comparer :

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

du point de vue :

  • des incohérences de cadrage
  • du comportement des analyseurs syntaxiques
  • des hypothèses de confiance dans les métadonnées

Travaux futurs

Les prochaines étapes prévues incluent :

  • une meilleure visualisation des fuites
  • des outils d'analyse des fuites mémoire
  • une comparaison avec les versions corrigées d'OpenSSL
  • des expériences de proxy TLS intermédiaire
  • des tests de mutation automatisés du heartbeat

Références

  • CVE-2014-0160
  • RFC 6520 (extension TLS Heartbeat)

Avertissement

Ce dépôt existe uniquement pour :

  • l'éducation
  • la recherche académique
  • les études de sécurité défensive
Télécharger l’outil