heartbleed-vulnerability-exploitation
Descrizione
indagine pratica sulla vulnerabilità Heartbleed (CVE-2014-0160).
Riepilogo
questo laboratorio documenta un'indagine pratica sulla vulnerabilità Heartbleed, un difetto critico nell'implementazione di OpenSSL dell'estensione heartbeat di TLS. l'obiettivo era comprendere come funziona la vulnerabilità a livello di protocollo e sfruttarla in un ambiente controllato per osservarne l'impatto, esercitando competenze direttamente rilevanti per l'analisi SOC (valutazione delle vulnerabilità e analisi dell'impatto).
Obiettivo
- comprendere la causa principale di Heartbleed (controllo dei limiti improprio nell'estensione heartbeat di OpenSSL).
- identificare un servizio OpenSSL vulnerabile utilizzando strumenti di ricognizione e scansione.
- sfruttare la vulnerabilità in un ambiente di laboratorio controllato per osservare l'esposizione dei dati.
- documentare le strategie di correzione dal punto di vista di un SOC/analista.
Ambiente e strumenti
- Target: server web vulnerabile (nginx 1.15.7 sulla porta 443) con una versione obsoleta di OpenSSL, VM di laboratorio isolata.
- Macchina attaccante/analista: ambiente di analisi basato su linux.
- Strumenti utilizzati:
nmap - enumerazione dei servizi e scoperta delle vulnerabilità.
Metasploit - modulo auxiliary/scanner/ssl/openssl_heartbleed per lo sfruttamento.
Metodologia
1. Ricognizione
- eseguita una scansione completa delle porte TCP con rilevamento di servizi/versioni (nmap -sS -vv -p- -A )
- identificate le porte aperte: 22 (SSH), 111 (rpcbind), 443 (SSL/HTTP).
- rilevata l'impronta della porta 443 come ngix 1.15.7 su SSL/TLS (candidato per OpenSSL obsoleto)
2. Identificazione della vulnerabilità
- eseguito (nmap -sV --script vuln ) per verificare tutti i servizi scoperti rispetto agli script di vulnerabilità noti.
- confermato il target come VULNERABILE a Heartbleed tramite lo script NSE ssl-heartbleed, contrassegnato come ad alto rischio.
3. Sfruttamento
- avviato il framework metasploit (msfconsole) e individuato il modulo pertinente con (search heartbleed).
- selezionato auxiliary/scanner/ssl/openssl_heartbleed e revisionate le opzioni del modulo.
- configurati RHOSTS, RPORT 443 e verbose true, quindi eseguito il modulo.
- il modulo ha inviato una richiesta heartbeat TLS malformata e catturato la risposta sovradimensionata del server, facendo trapelare la memoria del processo adiacente.
Risultati
- il target (nginx 1.15.7, porta 443) è stato confermato vulnerabile a CVE-2014-0160 sia tramite lo script ssl-heartbleed di nmap sia tramite lo scanner openssl_heartbleed di Metasploit.
- lo sfruttamento ha fatto trapelare con successo la memoria heap dal server, restituendo stringhe stampabili insieme a dati binari.
- la memoria trapelata conteneva frammenti del corpo di una precedente richiesta HTTP, inclusi i parametri "user_name, user_email e user_message", dimostrando che Heartbleed può esporre dati a livello applicativo che si trovavano nella memoria adiacente.
- non era richiesta alcuna autenticazione per sfruttare la vulnerabilità, rendendola sfruttabile da qualsiasi attaccante adiacente alla rete.
Correzione
- aggiornare OpenSSL a una versione corretta.
- revocare e riemettere eventuali certificati SSL/chiavi private potenzialmente esposti prima della correzione.
- forzare la reimpostazione delle password per gli account con sessioni attive durante la finestra di vulnerabilità.
- disabilitare completamente l'estensione heartbeat se la correzione non è immediatamente possibile.
Competenze dimostrate
- scansione delle porte a tutto spettro ed enumerazione dei servizi (nmap).
- scansione delle vulnerabilità con script NSE (vuln, ssl-heartbleed)
- configurazione ed esecuzione del modulo di exploit nel framework Metasploit.
- analisi della causa radice di una vulnerabilità di sicurezza della memoria.
- reportistica di sicurezza e pianificazione della remediation.
Riferimenti