heartbleed-vulnerability-exploitation
Beschreibung
praktische Untersuchung der Heartbleed-Schwachstelle (CVE-2014-0160).
Zusammenfassung
Dieses Lab dokumentiert eine praktische Untersuchung der Heartbleed-Schwachstelle, eines kritischen Fehlers in der Implementierung der TLS-Heartbeat-Erweiterung durch OpenSSL. Das Ziel war zu verstehen, wie die Schwachstelle auf Protokollebene funktioniert, und sie in einer kontrollierten Umgebung auszunutzen, um ihre Auswirkungen zu beobachten, wobei Fähigkeiten geübt wurden, die direkt für die SOC-Analyse relevant sind (Schwachstellenbewertung und Auswirkungsanalyse).
Zielsetzung
- die Ursache von Heartbleed verstehen (fehlerhafte Grenzprüfung in der Heartbeat-Erweiterung von OpenSSL).
- einen verwundbaren OpenSSL-Dienst mithilfe von Reconnaissance- und Scan-Tools identifizieren.
- die Schwachstelle in einer kontrollierten Lab-Umgebung ausnutzen, um die Offenlegung von Daten zu beobachten.
- Gegenmaßnahmen aus der Perspektive eines SOC-Analysten dokumentieren.
- Ziel: verwundbarer Webserver (nginx 1.15.7 auf Port 443) mit einer veralteten OpenSSL-Version, isolierte Lab-VM.
- Angreifer-/Analysten-Maschine: Linux-basierte Analyseumgebung.
- Verwendete Tools:
nmap - Dienst-Enumeration und Schwachstellenerkennung.
Metasploit - Modul auxiliary/scanner/ssl/openssl_heartbleed zur Ausnutzung.
Methodik
1. Reconnaissance
- führte einen vollständigen TCP-Portscan mit Dienst-/Versionserkennung durch (nmap -sS -vv -p- -A )
- identifizierte offene Ports: 22 (SSH), 111 (rpcbind), 443 (SSL/HTTP).
- fingerprintete Port 443 als ngix 1.15.7 über SSL/TLS laufend (Kandidat für veraltetes OpenSSL)
2. Schwachstellenidentifikation
- führte (nmap -sV --script vuln ) aus, um alle entdeckten Dienste gegen bekannte Schwachstellen-Skripte zu prüfen.
- bestätigte das Ziel als VERWUNDBAR für Heartbleed über das NSE-Skript ssl-heartbleed, gekennzeichnet als hohes Risiko.
3. Ausnutzung
- startete das Metasploit-Framework (msfconsole) und fand das relevante Modul mit (search heartbleed).
- wählte auxiliary/scanner/ssl/openssl_heartbleed aus und überprüfte die Moduloptionen.
- konfigurierte RHOSTS, RPORT 443 und verbose true und führte das Modul aus.
- das Modul sendete eine fehlerhafte TLS-Heartbeat-Anfrage und fing die überdimensionierte Antwort des Servers ab, wodurch angrenzender Prozessspeicher offengelegt wurde.
Erkenntnisse
- das Ziel (nginx 1.15.7, Port 443) wurde sowohl über nmaps ssl-heartbleed-Skript als auch über Metasploits openssl_heartbleed-Scanner als verwundbar für CVE-2014-0160 bestätigt.
- die Ausnutzung legte erfolgreich Heap-Speicher des Servers offen und lieferte druckbare Zeichenketten neben Binärdaten zurück.
- der offengelegte Speicher enthielt Fragmente eines früheren HTTP-Anfragekörpers, einschließlich der Parameter "user_name, user_email, and user_message", was zeigt, dass Heartbleed Daten auf Anwendungsebene offenlegen kann, die sich zufällig in angrenzendem Speicher befanden.
- es war keine Authentifizierung erforderlich, um die Schwachstelle auszunutzen, wodurch sie von jedem netzwerknahen Angreifer ausnutzbar ist.
Gegenmaßnahmen
- OpenSSL auf eine gepatchte Version aktualisieren.
- Alle SSL-Zertifikate/privaten Schlüssel, die möglicherweise vor dem Patchen offengelegt wurden, widerrufen und neu ausstellen.
- Passwortzurücksetzungen für Konten erzwingen, deren Sitzungen während des Verwundbarkeitszeitraums aktiv waren.
- Die Heartbeat-Erweiterung vollständig deaktivieren, falls ein sofortiges Patchen nicht möglich ist.
Demonstrierte Fähigkeiten
- Portscans im vollen Umfang und Diensterkennung (nmap).
- Schwachstellenscans mit NSE-Skripten (vuln, ssl-heartbleed)
- Konfiguration und Ausführung von Exploit-Modulen im Metasploit-Framework.
- Ursachenanalyse einer Speichersicherheits-Schwachstelle.
- Sicherheitsberichterstattung und Planung von Gegenmaßnahmen.
Referenzen