heartbleed-vulnerability-exploitation
Descrição
investigação prática da vulnerabilidade Heartbleed (CVE-2014-0160).
Resumo
este laboratório documenta uma investigação prática da vulnerabilidade Heartbleed, uma falha crítica na implementação do OpenSSL da extensão TLS heartbeat. o objetivo era compreender como a vulnerabilidade funciona ao nível do protocolo e explorá-la num ambiente controlado para observar o seu impacto, praticando competências diretamente relevantes para a análise de SOC (avaliação de vulnerabilidades e análise de impacto).
Objetivo
- compreender a causa raiz do Heartbleed (verificação de limites inadequada na extensão heartbeat do OpenSSL).
- identificar um serviço OpenSSL vulnerável utilizando ferramentas de reconhecimento e varredura.
- explorar a vulnerabilidade num ambiente de laboratório controlado para observar a exposição de dados.
- documentar estratégias de remediação na perspetiva de um SOC/analista.
Ambiente e Ferramentas
- Alvo: servidor web vulnerável (nginx 1.15.7 na porta 443) a executar uma versão desatualizada do OpenSSL, VM de laboratório isolada.
- Máquina Atacante/Analista: ambiente de análise baseado em linux.
- Ferramentas Utilizadas:
nmap - enumeração de serviços e descoberta de vulnerabilidades.
Metasploit - módulo auxiliary/scanner/ssl/openssl_heartbleed para exploração.
Metodologia
1. Reconhecimento
- executou-se uma varredura completa de portas TCP com deteção de serviço/versão (nmap -sS -vv -p- -A )
- identificaram-se portas abertas: 22 (SSH), 111 (rpcbind), 443 (SSL/HTTP).
- identificou-se a porta 443 como a executar ngix 1.15.7 sobre SSL/TLS (candidata a OpenSSL desatualizado)
2. Identificação da Vulnerabilidade
- executou-se (nmap -sV --script vuln ) para verificar todos os serviços descobertos contra scripts de vulnerabilidades conhecidas.
- confirmou-se o alvo como VULNERÁVEL ao Heartbleed através do script NSE ssl-heartbleed, sinalizado como de alto risco.
3. Exploração
- lançou-se o metasploit framework (msfconsole) e localizou-se o módulo relevante com (search heartbleed).
- selecionou-se auxiliary/scanner/ssl/openssl_heartbleed e reviram-se as opções do módulo.
- configurou-se RHOSTS, RPORT 443 e verbose true, e depois executou-se o módulo.
- o módulo enviou um pedido TLS heartbeat malformado e capturou a resposta sobredimensionada do servidor, expondo memória de processo adjacente.
Constatações
- o alvo (nginx 1.15.7, porta 443) foi confirmado como vulnerável a CVE-2014-0160 tanto através do script ssl-heartbleed do nmap como do scanner openssl_heartbleed do Metasploit.
- a exploração expôs com sucesso memória heap do servidor, devolvendo strings imprimíveis juntamente com dados binários.
- a memória exposta continha fragmentos do corpo de um pedido HTTP anterior, incluindo os parâmetros "user_name, user_email, e user_message", demonstrando que o Heartbleed pode expor dados da camada de aplicação que residiam em memória adjacente.
- não foi necessária autenticação para explorar a vulnerabilidade, tornando-a explorável por qualquer atacante adjacente à rede.
- atualizar o OpenSSL para uma versão corrigida.
- revogar e reemitir quaisquer certificados SSL/chaves privadas potencialmente expostos antes da correção.
- forçar a redefinição de senhas para contas com sessões ativas durante a janela de vulnerabilidade.
- desativar completamente a extensão heartbeat se a correção não for imediatamente possível.
Habilidades Demonstradas
- varredura de portas de escopo completo e enumeração de serviços (nmap).
- varredura de vulnerabilidades com scripts NSE (vuln, ssl-heartbleed)
- configuração e execução de módulos de exploit no framework Metasploit.
- análise de causa raiz de uma vulnerabilidade de segurança de memória.
- relatórios de segurança e planejamento de remediação.
Referências