heartbleed-vulnerability-exploitation
Description
investigation pratique de la vulnérabilité Heartbleed (CVE-2014-0160).
Résumé
ce lab documente une investigation pratique de la vulnérabilité Heartbleed, une faille critique dans l'implémentation par OpenSSL de l'extension TLS heartbeat. l'objectif était de comprendre le fonctionnement de la vulnérabilité au niveau du protocole et de l'exploiter dans un environnement contrôlé afin d'observer son impact, en pratiquant des compétences directement pertinentes pour l'analyse SOC (évaluation de vulnérabilité et analyse d'impact).
Objectif
- comprendre la cause racine de Heartbleed (vérification incorrecte des limites dans l'extension heartbeat d'OpenSSL).
- identifier un service OpenSSL vulnérable à l'aide d'outils de reconnaissance et de scan.
- exploiter la vulnérabilité dans un environnement de lab contrôlé afin d'observer l'exposition de données.
- documenter les stratégies de remédiation du point de vue d'un SOC/analyste.
Environnement & Outils
- Cible : serveur web vulnérable (nginx 1.15.7 sur le port 443) exécutant une version obsolète d'OpenSSL, VM de lab isolée.
- Machine attaquant/analyste : environnement d'analyse sous linux.
- Outils utilisés :
nmap - énumération des services et découverte de vulnérabilités.
Metasploit - module auxiliary/scanner/ssl/openssl_heartbleed pour l'exploitation.
Méthodologie
1. Reconnaissance
- exécution d'un scan complet des ports TCP avec détection de service/version (nmap -sS -vv -p- -A )
- identification des ports ouverts : 22 (SSH), 111 (rpcbind), 443 (SSL/HTTP).
- empreinte du port 443 identifié comme exécutant ngix 1.15.7 sur SSL/TLS (candidat pour un OpenSSL obsolète)
2. Identification de la vulnérabilité
- exécution de (nmap -sV --script vuln ) pour vérifier tous les services découverts par rapport aux scripts de vulnérabilité connus.
- confirmation de la cible comme VULNÉRABLE à Heartbleed via le script NSE ssl-heartbleed, signalé comme à haut risque.
3. Exploitation
- lancement du framework metasploit (msfconsole) et localisation du module pertinent avec (search heartbleed).
- sélection de auxiliary/scanner/ssl/openssl_heartbleed et examen des options du module.
- configuration de RHOSTS, RPORT 443 et verbose true, puis exécution du module.
- le module a envoyé une requête TLS heartbeat malformée et capturé la réponse surdimensionnée du serveur, divulguant la mémoire du processus adjacent.
Résultats
- la cible (nginx 1.15.7, port 443) a été confirmée vulnérable à CVE-2014-0160 via le script ssl-heartbleed de nmap et le scanner openssl_heartbleed de Metasploit.
- l'exploitation a réussi à divulguer la mémoire heap du serveur, renvoyant des chaînes imprimables accompagnées de données binaires.
- la mémoire divulguée contenait des fragments du corps d'une requête HTTP antérieure, notamment les paramètres "user_name, user_email, et user_message", démontrant que Heartbleed peut exposer des données de la couche applicative qui se trouvaient en mémoire adjacente.
- aucune authentification n'était requise pour exploiter la vulnérabilité, la rendant exploitable par tout attaquant adjacent au réseau.
- mettre à niveau OpenSSL vers une version corrigée.
- révoquer et réémettre tout certificat SSL/clé privée potentiellement exposé avant la correction.
- forcer la réinitialisation des mots de passe des comptes dont les sessions étaient actives pendant la fenêtre de vulnérabilité.
- désactiver entièrement l'extension heartbeat si la correction n'est pas immédiatement possible.
Compétences démontrées
- scan de ports complet et énumération des services (nmap).
- scan de vulnérabilités avec les scripts NSE (vuln, ssl-heartbleed)
- configuration et exécution de modules d'exploitation dans le framework Metasploit.
- analyse de la cause racine d'une vulnérabilité de sûreté mémoire.
- rédaction de rapports de sécurité et planification de la remédiation.
Références