Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
heartbleed-lab — Laboratório autocontido do Heartbleed (CVE-2014-0160): compila o OpenSSL 1.0.1f vulnerável no Docker e inclui um PoC de vazamento de memória em Python para testes autorizados. | Kitploit
Ferramentas/GitHubGitHub/ayushsinha322/heartbleed-lab
Forensia de MemóriaAnálise de VulnerabilidadesExploraçãoSegurança WebCriptografiaTestes de PenetraçãoAprendizado e EducaçãoLabs e Prática
GitHubayushsinha322/heartbleed-lab

heartbleed-lab

Laboratório autocontido do Heartbleed (CVE-2014-0160): compila o OpenSSL 1.0.1f vulnerável no Docker e inclui um PoC de vazamento de memória em Python para testes autorizados.

Ver Repositório
há 10 horasAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

heartbleed-lab

Um laboratório pequeno e autónomo para CVE-2014-0160 (Heartbleed) — a leitura excessiva (over-read) do heartbeat TLS no OpenSSL 1.0.1–1.0.1f. Compila o OpenSSL genuinamente vulnerável a partir do código-fonte upstream fixado (pinned) num contentor descartável, serve-o, e inclui um cliente proof-of-concept que extrai memória viva do processo a partir dele.

Apenas para uso autorizado em laboratório. Tudo aqui tem como alvo localhost / um contentor que executas tu próprio. Não apontes o PoC para qualquer host que não te pertença e para o qual não tenhas permissão explícita de teste — o uso não autorizado do Heartbleed contra sistemas em produção é um crime na maioria das jurisdições. O Heartbleed foi corrigido no OpenSSL 1.0.1g (abril de 2014); este laboratório existe para compreender o bug, não para atacar ninguém.

O que está incluído

CaminhoO que é
DockerfileCompila o OpenSSL 1.0.1f a partir do código-fonte upstream com checksum fixado e heartbeats ativados, gera um certificado descartável e executa openssl s_server — o servidor vulnerável real.
exploit/heartbleed.pyPoC em Python 3. Envia um heartbeat malformado e faz hexdump da memória que o servidor devolve. Termina com 0 se o alvo for vulnerável, 1 se estiver corrigido.
demo/server.pyUma simulação ingénua em Python puro — sem OpenSSL envolvido. Devolve cegamente 64 KB e não vaza nada real; mantido apenas para mostrar a forma de uma resposta de leitura excessiva.
demo/gen-cert.shRegenera o certificado descartável de localhost para a demonstração.

Nenhuma chave privada é incluída no repositório — os certificados são gerados localmente (ver .gitignore).

Executar o cenário real

root@kitploit:~
# 1. Build and start the vulnerable server (needs Docker)
docker build -t heartbleed-lab .
docker run --rm -p 8443:8443 heartbleed-lab

# 2. In another terminal, bleed it
python3 exploit/heartbleed.py 127.0.0.1 -p 8443

Um servidor vulnerável imprime um hexdump da memória vazada. Executa o PoC várias vezes — cada pedido devolve uma fatia diferente do heap, que é exatamente por isso que o Heartbleed era tão perigoso: cookies de sessão, dados de formulários e material de chaves privadas vivem todos lá.

A simulação (opcional)

root@kitploit:~
cd demo
./gen-cert.sh
python3 server.py

Isto não é o CVE — é um stub didático que responde sempre com 64 KB de As.

Como funciona o bug

O pedido de heartbeat TLS transporta um payload mais um campo de comprimento. O OpenSSL vulnerável confia no comprimento fornecido pelo atacante e faz memcpy desse número de bytes do buffer do pedido para a resposta — mas o pedido nunca continha tantos dados, pelo que a cópia lê para além dele, para a memória adjacente do processo que ali esteja. A correção no 1.0.1g é uma verificação de limites: if (1 + 2 + payload + 16 > s->s3->rrec.length) return 0; — descartar silenciosamente qualquer heartbeat que declare mais do que foi efetivamente enviado.

Remediação

  • Atualiza para OpenSSL ≥ 1.0.1g, ou compila com -DOPENSSL_NO_HEARTBEATS.
  • Após exposição, assume que as chaves privadas foram vazadas: reemite os certificados e revoga os antigos, depois roda quaisquer tokens de sessão ou credenciais que tenham transitado pelo servidor.
Baixar ferramenta