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 de la faille Heartbleed (CVE-2014-0160), incluant des instructions de configuration de laboratoire et le code source pour construire votre propre laboratoire Heartbleed à des fins éducatives. | Kitploit
Outils/GitHubGitHub/ryo-soikutsu/heartbleed
Analyse des VulnérabilitésExploitationSécurité WebCTFApprentissage et ÉducationLabs et Pratique
GitHubryo-soikutsu/heartbleed

Heartbleed

Démonstration de la faille Heartbleed (CVE-2014-0160), incluant des instructions de configuration de laboratoire et le code source pour construire votre propre laboratoire Heartbleed à des fins éducatives.

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

Heartbleed-POC

Ce dépôt vise à servir de preuve de concept valide pour la CVE Heartbleed, et contient également des instructions pour configurer votre propre défi Heartbleed sans utiliser de Dockerfile pré-construit.

Comment construire le laboratoire

    1. Naviguez vers le répertoire source/service avec cd service/heartbleed ou cd src
    1. Construisez le conteneur Docker avec la commande suivante : sudo docker build -t heartbleed .
    1. Exécutez le conteneur Docker avec la commande suivante : sudo docker run -dp 443:443 --name heartbleed heartbleed

Comment exploiter

Un script d'exploitation pré-construit a déjà été préparé pour vous dans le dossier solution/. Le script d'exploitation est basé sur le script d'exploitation Heartbleed de Sensepost (https://github.com/sensepost/heartbleed-poc), modifié pour fonctionner avec ce défi spécifique. Les valeurs du champ de version TLS dans la charge utile du Client Hello ont été modifiées pour cette version de l'exploit.

Selon les retours des participants au CTF, le(s) module(s) Metasploit pour Heartbleed fonctionneront également. Malheureusement, je n'ai pas testé cela.

Explication du binaire patché

Lors de mes tests initiaux de la CVE Heartbleed, le binaire OpenSSL de base n'était pas cohérent pour vider le contenu de la mémoire, et aurait nécessité trop de temps et de ressources pour forcer correctement la mémoire du serveur afin d'obtenir les clés secrètes, ce qui aurait involontairement conduit à un déni de service sur l'infrastructure du CTF. Par conséquent, une modification a été apportée dans le script t1_lib.c, où se trouvait la vulnérabilité d'origine.

À la ligne 2586, le code memcpy d'origine a été commenté, et remplacé par une boucle conditionnelle qui insère la clé du serveur dans le corps de la réponse 10 % du temps. Cela vise à simuler la nature non déterministe d'origine de la CVE Heartbleed, tout en garantissant que les participants puissent toujours obtenir la clé de manière fiable.

root@kitploit:~
            if ((rand() % 10) == 0) {
		       FILE *kf = fopen("/usr/local/apache2/conf/ssl/server.key","rb");
		       if (kf != NULL) {
		       		fseek(kf,0,SEEK_END);
		 		long klen = ftell(kf);
				rewind(kf);
				if (klen > 0 && klen < payload) {
					char *key = malloc(klen);
					if (key != NULL) {
						fread(key,1,klen,kf);
						long max_offset = payload - klen;
						long offset = rand() % (max_offset + 1);
						memcpy(bp + offset,key,klen);
						free(key);
					}
				}
				fclose(kf);
			}
       		}	
Télécharger l’outil