Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
heartbleed-lab — Laboratorio educativo per lo studio di CVE-2014-0160 (Heartbleed) e delle incongruenze di framing nella gestione degli heartbeat TLS. | Kitploit
Strumenti/GitHubGitHub/victoriacfigueiredo/heartbleed-lab
Analisi delle VulnerabilitàSicurezza di ReteCrittografiaApprendimento e FormazioneBinary ExploitationLab e Pratica
GitHubvictoriacfigueiredo/heartbleed-lab

heartbleed-lab

Laboratorio educativo per lo studio di CVE-2014-0160 (Heartbleed) e delle incongruenze di framing nella gestione degli heartbeat TLS.

Vedi Repository
83 mesi faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Laboratorio Heartbleed

Laboratorio educativo per lo studio della vulnerabilità Heartbleed
(CVE-2014-0160) utilizzando un ambiente reale OpenSSL vulnerabile all'interno di Docker.

Questo progetto riproduce un server TLS vulnerabile usando OpenSSL 1.0.1f e implementa un client TLS heartbeat raw personalizzato per dimostrare come pacchetti heartbeat malformati possano causare la divulgazione di memoria.

Il laboratorio è stato creato a scopo educativo e di ricerca, in particolare per studiare:

  • Framing dei record TLS
  • Analisi dell'estensione Heartbeat
  • Vulnerabilità di divulgazione di memoria
  • Fallimenti di fiducia nel parser
  • Incongruenze di framing tra protocolli
  • Somiglianze concettuali tra Heartbleed e vulnerabilità di desincronizzazione HTTP

Struttura attuale del progetto

root@kitploit:~
heartbleed-lab/
├── client/
│   ├── attacker.py
│   └── Dockerfile
│
├── vulnerable/
│   ├── Dockerfile
│   └── server/
│
├── fixed/
│   ├── Dockerfile
│   └── server/
│
├── docs/
│   └── diagrams/
│
├── notes/
│
├── docker-compose.yml
├── .gitignore
└── README.md

Architettura

root@kitploit:~
heartbleed-client
        ↓
 Rete interna Docker
        ↓
vulnerable-heartbleed

Dove:

  • heartbleed-client invia record TLS grezzi
  • vulnerable-heartbleed esegue OpenSSL 1.0.1f
  • la comunicazione avviene all'interno di una rete Docker isolata

Ambiente vulnerabile

Il server vulnerabile utilizza:

  • Ubuntu 14.04
  • OpenSSL 1.0.1f (versione vulnerabile del 2014)
  • openssl s_server

L'ambiente è configurato intenzionalmente per riprodurre il comportamento originale di Heartbleed.


Funzionalità implementate

Server TLS vulnerabile

  • Build reale di OpenSSL 1.0.1f
  • Supporto handshake TLS
  • Estensione Heartbeat abilitata
  • Ambiente isolato con Docker

Client TLS heartbeat raw

L'implementazione del client:

  • crea socket TCP grezzi
  • invia record TLS costruiti a mano
  • esegue un ClientHello TLS manuale
  • invia richieste heartbeat malformate
  • riceve risposte con memoria trapelata

Dimostrazione Heartbleed

L'implementazione corrente riproduce il comportamento originale di Heartbleed inviando un pacchetto heartbeat malformato in cui:

root@kitploit:~
payload_length > dimensione reale del payload

Esempio:

root@kitploit:~
Lunghezza dichiarata del payload: 0x4000
Payload reale: 1 byte ("A")

Il server vulnerabile si fida erroneamente della lunghezza dichiarata e risponde con contenuti di memoria oltre i confini effettivi del payload.


Esecuzione del laboratorio

Build e avvio dei container

root@kitploit:~
sudo COMPOSE_HTTP_TIMEOUT=300 docker-compose up --build

Accesso al container client

root@kitploit:~
sudo docker exec -it heartbleed-client bash

Esecuzione del proof-of-concept Heartbleed

root@kitploit:~
python attacker.py

Esempio di output riuscito

root@kitploit:~
[+] Sending malformed heartbeat
[+] Got TLS record: type=24 version=(3, 2) length=16384
[!!!] Heartbeat response received

Questo indica che il server vulnerabile ha restituito contenuti di memoria oltre il payload heartbeat legittimo.


Obiettivi di ricerca

Questo progetto esplora la relazione tra:

  • incongruenze di framing TLS
  • fallimenti di fiducia nel parser
  • confusione dei confini
  • campi di lunghezza malformati
  • concetti di desincronizzazione del protocollo

Uno dei principali interessi di ricerca di questo laboratorio è il confronto tra:

root@kitploit:~
HTTP Request Smuggling
vs
TLS Heartbeat Parsing Failures

dal punto di vista di:

  • incongruenze di framing
  • comportamento del parser
  • assunzioni di fiducia nei metadati

Lavori futuri

I prossimi passi pianificati includono:

  • migliore visualizzazione delle perdite
  • helper per l'analisi delle perdite di memoria
  • confronto con versioni corrette di OpenSSL
  • esperimenti con proxy TLS intermedi
  • test di mutazione automatica degli heartbeat

Riferimenti

  • CVE-2014-0160
  • RFC 6520 (TLS Heartbeat Extension)

Disclaimer

Questo repository esiste esclusivamente per:

  • scopi educativi
  • ricerca accademica
  • studi di sicurezza difensiva
Scarica lo strumento