Share
## https://sploitus.com/exploit?id=1BA2AE40-ADA9-5416-8681-63BBE1A6FD3A
# VMware vCenter - CVE-2024-37081 Proof of Concept

## Descripción

Este repositorio contiene una prueba de concepto (PoC) para la vulnerabilidad CVE-2024-37081 en VMware vCenter. La vulnerabilidad se debe a una mala configuración en el archivo `/etc/sudoers` que permite la preservación de variables ambientales peligrosas al ejecutar comandos `sudo`. Esto puede ser aprovechado por atacantes para ejecutar comandos arbitrarios con privilegios de root.

## Vulnerabilidad

- **ID**: CVE-2024-37081
- **Descripción**: La mala configuración del parámetro `Defaults env_keep` en el archivo `/etc/sudoers` permite la propagación de variables ambientales peligrosas (`PYTHONPATH`, `VMWARE_PYTHON_PATH`, `VMWARE_PYTHON_BIN`, etc.) durante la ejecución de comandos `sudo`, lo que posibilita la ejecución de código arbitrario con privilegios de root.
- **Usuarios/Gruppos Afectados**:
  - `%operator` (grupo)
  - `%admin` (grupo)
  - `infraprofile` (usuario)
  - `vpxd` (usuario)
  - `sts` (usuario)
  - `pod` (usuario)

## Requisitos

- Python 3.x
- Permisos de sudo

## Instrucciones

1. Clona este repositorio:
    ```bash
    git clone https://github.com/Mr-r00t11/CVE-2024-37081.git
    cd CVE-2024-37081
    ```

2. Ejecuta el script PoC:
    ```bash
    python3 poc.py
    ```

## Contenido del Repositorio

- `poc.py`: Script en Python que demuestra la explotación de la vulnerabilidad.
- `README.md`: Este archivo.

## Detalles del Script

El script `poc.py` realiza los siguientes pasos:

1. **create_malicious_code()**: Crea un archivo Python malicioso en el directorio `/tmp/malicious/__init__.py` que ejecuta el comando `id` y guarda la salida en `/tmp/pwned`.
2. **execute_with_pythonpath()**: Establece la variable ambiental `PYTHONPATH` a `/tmp/malicious` y ejecuta un comando sudo para importar un módulo Python como el usuario `operator`.
3. **execute_with_vmware_python_path()**: Similar a `execute_with_pythonpath()`, pero usa la variable ambiental `VMWARE_PYTHON_PATH` y ejecuta el comando como el usuario `pod`.
4. **execute_with_vmware_python_bin()**: Crea un script shell malicioso, establece la variable ambiental `VMWARE_PYTHON_BIN` a este script, y ejecuta un comando sudo como el usuario `admin`.
5. **execute_with_sendmail()**: Ejecuta un comando sudo como el usuario `vpxd` para leer el archivo `/etc/shadow` usando `sendmail`.
6. **check_exploit_success()**: Verifica si el archivo `/tmp/pwned` ha sido creado, lo que indicaría que el código malicioso se ejecutó con éxito.

## Notas de Seguridad

Este script debe usarse únicamente en un entorno controlado y con fines educativos. La explotación de vulnerabilidades en sistemas sin autorización es ilegal y está penada por la ley. Asegúrate de tener permisos adecuados y de comprender completamente las implicaciones de ejecutar este tipo de código.

## Créditos

- **Investigador de Seguridad**: Matei “Mal” Badanoiu

## Licencia

Este proyecto está licenciado bajo los términos de la [MIT License](LICENSE).