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 — Démonstration du bogue Heartbleed CVE-2014-0160 | Kitploit
Outils/GitHubGitHub/cheese-hub/heartbleed
Sécurité des ConteneursAnalyse des VulnérabilitésExploitationSécurité WebCTFApprentissage et ÉducationLabs et Pratique
GitHubcheese-hub/heartbleed

heartbleed

Démonstration du bogue Heartbleed CVE-2014-0160

Voir le dépôt
23il y a 7 ansPas 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

Bug Heartbleed

Description du scénario

Le bug Heartbleed est un exemple d'attaque cybernétique qui exploite une vulnérabilité dans la bibliothèque OpenSSL. En résumé, une étape de validation manquante dans la bibliothèque OpenSSL pourrait permettre à un pirate d'accéder à des informations sensibles sur un serveur qui utilise la bibliothèque vulnérable. Dans le cadre du protocole de prise de contact pour établir une connexion SSL entre un client et un serveur, un message heartbeat est envoyé par le client, qui est ensuite renvoyé par le serveur. Le client est également responsable de l'envoi de la longueur de son message heartbeat, que le serveur utilise pour déterminer le nombre d'octets de la mémoire qui doivent être renvoyés. Une valeur de longueur erronée, qui n'est pas validée par le serveur, peut l'amener à renvoyer des octets adjacents à l'emplacement mémoire où est stocké le message heartbeat du client.

Ce dépôt contient une démonstration de la façon dont le bug Heartbleed peut être exploité pour extraire des cookies de session d'un serveur web, permettant à un pirate d'accéder à la partie sécurisée et contrôlée par accès d'un site web.

Public cible

Instructeurs

Si vous êtes un instructeur enseignant des concepts de cybersécurité et de codage sécurisé, vous pouvez utiliser cet exemple pour offrir une expérience pratique avec le bug Heartbleed et démontrer la facilité avec laquelle des informations privilégiées peuvent être récupérées.

Étudiants

Si vous êtes un étudiant dans un cours de cybersécurité, ou un programmeur en herbe, il est instructif de comprendre comment des erreurs mineures dans le code peuvent conduire à de graves vulnérabilités de sécurité. Si vous étudiez actuellement l'attaque Heartbleed dans votre cours, vous pouvez acquérir une expérience pratique supplémentaire sur le fonctionnement de ces attaques et sur ce qui peut être fait pour les prévenir.

Conception et architecture

Cette démonstration est conçue à l'aide de trois conteneurs Docker, un pour le serveur, un pour le pirate et un pour la victime. Un simple site web basé sur Python Flask est hébergé sur le conteneur serveur et renvoie un message de bienvenue lors d'une connexion réussie. Le conteneur serveur exécute une version non patchée de la bibliothèque OpenSSL qui présente la vulnérabilité Heartbleed. Les conteneurs du pirate et de la victime fournissent une interface VNC vers une machine Ubuntu. Le conteneur du pirate contient également un script Python qui exploite le bug Heartbleed pour envoyer une longueur de message incorrecte pour un message heartbeat, et analyse les données renvoyées par le serveur pour rechercher des cookies de session. Des instructions sont fournies dans un document HTML sur le bureau du conteneur du pirate.

Installation et utilisation

L'approche recommandée pour exécuter cet ensemble de conteneurs est via CHEESEHub, une plateforme web pour les démonstrations de cybersécurité. CHEESEHub fournit les ressources nécessaires pour orchestrer et exécuter des conteneurs à la demande. Pour configurer cette application afin de l'exécuter sur CHEESEHub, une spécification d'application doit être créée pour configurer l'image Docker à utiliser, les besoins en mémoire et CPU, ainsi que les ports à exposer pour chacun des trois conteneurs. La spécification JSON pour cette démonstration Heartbleed se trouve ici.

CHEESEHub utilise Kubernetes pour orchestrer ses conteneurs d'application. Vous pouvez également exécuter cette application sur votre propre installation Kubernetes. Pour des instructions sur la configuration d'un cluster Kubernetes minimal sur votre machine locale, reportez-vous à Minikube.

Avant de pouvoir exécuter l'application sur CHEESEHub ou Kubernetes, des images Docker doivent être construites pour les trois conteneurs d'application. Les définitions de conteneurs pour le pirate, la victime et le serveur se trouvent respectivement dans les répertoires heartbleed-hacker, heartbleed-victim et heartbleed-server. Pour construire ces conteneurs, exécutez :

root@kitploit:~
cd heartbleed-hacker
docker build -t <tag d'image pirate de votre choix> .

cd heartbleed-victim
docker build -t <tag d'image victime de votre choix> .

cd heartbleed-server
docker build -t <tag d'image serveur de votre choix> .

Une fois les images Docker construites, vous pouvez exécuter les conteneurs en utilisant uniquement le moteur Docker.

root@kitploit:~
docker run -d -p 80 <tag d'image pirate ci-dessus>

docker run -d -p 80 <tag d'image victime ci-dessus>

docker run -d <tag d'image serveur ci-dessus>

Étant donné que l'interface utilisateur des conteneurs du pirate et de la victime est l'interface VNC, nous exposons le port 80 pour qu'il soit accessible depuis la machine hôte. Comme nous n'accéderons au site web du serveur qu'à partir des conteneurs du pirate et de la victime, nous ne nous soucions pas de mapper les ports exposés du conteneur serveur.

Utilisation

En naviguant vers l'URL du conteneur du pirate dans votre navigateur, vous verrez une interface de bureau Linux. Double-cliquez sur le fichier Instructions.html sur le bureau pour consulter les instructions étape par étape pour suivre cette démonstration. Une nouvelle fenêtre de navigateur ou de terminal peut être lancée sur les conteneurs du pirate et de la victime en sélectionnant le menu des programmes en bas à gauche. L'adresse IP du serveur que le pirate et la victime utiliseront pour accéder au site web hébergé par le serveur peut être obtenue en démarrant une console sur le conteneur serveur à partir de la page de liste des conteneurs CHEESEHub.

Comment contribuer

Pour signaler des problèmes ou contribuer à des améliorations de cette application, ouvrez un problème GitHub.

Télécharger l’outil