Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1310 CNY

100%

CVE-2024-37081 PoC — VMvare vCenter Server 安全漏洞

Source
Associated Vulnerability
Title:VMvare vCenter Server 安全漏洞 (CVE-2024-37081)
Description:The vCenter Server contains multiple local privilege escalation vulnerabilities due to misconfiguration of sudo. An authenticated local user with non-administrative privileges may exploit these issues to elevate privileges to root on vCenter Server Appliance.
Readme
# 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).

File Snapshot

Log in to view the POC file snapshot cached by Shenlong Bot

Log in to view
Remarks
    1. It is advised to access via the original source first.
    2. Local POC snapshots are reserved for subscribers — if the original source is unavailable, the local mirror is part of the paid plan.
    3. Mirroring, verifying, and maintaining this POC archive takes ongoing effort, so local snapshots are a paid feature. Your subscription keeps the archive online — thank you for the support. View subscription plans →