
Una vulnerabilidad de escalada de privilegios local en VMware vCenter Server (y VMware Cloud Foundation) causada por una mala configuración de sudo, que permite a un usuario autenticado con privilegios no administrativos escalar a root.
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.
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.%operator (grupo)%admin (grupo)infraprofile (usuario)vpxd (usuario)sts (usuario)pod (usuario)Clona este repositorio:
git clone https://github.com/Mr-r00t11/CVE-2024-37081.git
cd CVE-2024-37081
Ejecuta el script PoC:
python3 poc.py
poc.py: Script en Python que demuestra la explotación de la vulnerabilidad.README.md: Este archivo.El script poc.py realiza los siguientes pasos:
/tmp/malicious/__init__.py que ejecuta el comando id y guarda la salida en /tmp/pwned.PYTHONPATH a /tmp/malicious y ejecuta un comando sudo para importar un módulo Python como el usuario operator.execute_with_pythonpath(), pero usa la variable ambiental VMWARE_PYTHON_PATH y ejecuta el comando como el usuario pod.VMWARE_PYTHON_BIN a este script, y ejecuta un comando sudo como el usuario admin.vpxd para leer el archivo /etc/shadow usando sendmail./tmp/pwned ha sido creado, lo que indicaría que el código malicioso se ejecutó con éxito.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.
Este proyecto está licenciado bajo los términos de la MIT License.