
Esta é a documentação do bug Heratbleed (CVE-2014-0160) que fiz para o curso de Advenced Cyber Attacks.
Este repositório apresenta Heartbleed.java, um exploit personalizado baseado em Java, projetado para demonstrar a vulnerabilidade Heartbleed (CVE-2014-0160) extraindo dados sensíveis de um servidor vulnerável (IP: 192.168.1.132) executando Apache (porta 443) e Postfix (porta 465). O exploit envia requisições malformadas de heartbeat TLS, explorando a vulnerabilidade em versões não corrigidas do OpenSSL (1.0.1 a 1.0.1f) para vazar até 64KB de memória por requisição. Scripts Bash de suporte (apache_memload.sh e postfix_memload.sh) inundam a memória dos serviços com dados sensíveis, como credenciais de usuário, senhas de servidor de correio e certificados SSL, que o exploit Java então extrai.
Este projeto faz parte de uma demonstração abrangente de segurança documentada em um documento Word detalhado, que descreve a metodologia do ataque, resultados e implicações para os serviços Apache e Postfix. O trabalho envolveu a criação de scripts para carregar a memória, executar o exploit a partir de um cliente Windows (IP: 192.168.1.99) e analisar os dados vazados para destacar o impacto da vulnerabilidade.
Heartbleed.java é o núcleo desta demonstração, implementando um processo de ataque simplificado:
sendHeartbeats, que é central para o exploit.O método sendHeartbeats, um componente chave, orquestra o ataque enviando repetidamente mensagens de heartbeat manipuladas para o servidor, explorando a vulnerabilidade Heartbleed para extrair conteúdos da memória. O papel deste método é detalhado no documento Word que acompanha, junto com uma captura de tela da sua implementação.
O escopo completo deste trabalho inclui:
apache_memload.sh para inundar a memória do Apache com 50 requisições curl, incorporando dados sensíveis como hashes de senha SHA-512 através de um script PHP (memload.php). Da mesma forma, postfix_memload.sh envia 50 payloads SMTP para o Postfix, incorporando credenciais de e-mail e senhas.Heartbleed.java a partir de um cliente Windows (IP: 192.168.1.99) para atacar Apache (porta 443) e Postfix (porta 465), vazando com sucesso dados como credenciais de usuário, senhas e certificados.sendHeartbeats e uma conclusão com estratégias futuras de mitigação.memload.php em https://localhost/phpmyadmin/memload.php.sudo apt install openjdk-11-jdk.Clone o Repositório:
git clone https://github.com/Shayhha/HeartbleedAttack
Compile o Exploit:
javac -d bin Heartbleed.java
~/Desktop/apache_memload.sh
~/Desktop/postfix_memload.sh
Heartbleed.java para definir SERVER_PORT = APACHE_PORT, recompile, então:javac -d bin Heartbleed.java
java -cp bin Heartbleed
Heartbleed.java para definir SERVER_PORT = POSTFIX_PORT, recompile, então:javac -d bin Heartbleed.java
java -cp bin Heartbleed
Este exploit é apenas para fins educacionais. Não o utilize para prejudicar sistemas sem permissão explícita. Garanta conformidade com padrões legais e éticos.
Licença MIT — veja LICENSE para detalhes.