VMware ESX / vCenter Pentesting
Tip
Aprende y practica Hacking en AWS:
HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica Hacking en GCP:HackTricks Training GCP Red Team Expert (GRTE)
Aprende y practica Hacking en Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Apoya a HackTricks
- Revisa los planes de suscripción!
- Únete al 💬 grupo de Discord o al grupo de telegram o síguenos en Twitter 🐦 @hacktricks_live.
- Comparte trucos de hacking enviando PRs a los HackTricks y HackTricks Cloud repositorios de github.
Enumeración
nmap -sV --script "http-vmware-path-vuln or vmware-version" -p <PORT> <IP>
msf> use auxiliary/scanner/vmware/esx_fingerprint
msf> use auxiliary/scanner/http/ms15_034_http_sys_memory_dump
Bruteforce
msf> auxiliary/scanner/vmware/vmware_http_login
Si encuentras credenciales válidas, puedes usar más metasploit scanner modules para obtener información.
ESXi Post-Exploitation & Ransomware Operations
Flujo de ataque dentro de entornos virtuales
- Desarrollar: mantener un agente de gestión ligero (p. ej., MrAgent), encryptor (p. ej., Mario), e infraestructura de leak.
- Infiltrar: comprometer la gestión de vSphere, enumerar hosts, robar datos y preparar payloads.
- Desplegar: desplegar agentes en cada host ESXi, dejar que hagan polling a C2 y que obtengan el encryptor cuando se indique.
- Extorsionar: leak datos de proof-of-compromise y ejecutar ransom chats una vez confirmada la encriptación.
Primitivas para tomar control del hypervisor
Una vez obtenida ejecución de comandos en una consola/SSH de ESXi, los atacantes normalmente ejecutan los siguientes comandos de gestión para identificar y aislar el host antes del despliegue de ransomware:
uname -a # hostname / build metadata for tracking
esxcli --formatter=csv network nic list # adapter + MAC inventory
esxcli --formatter=csv network ip interface ipv4 get
esxcli network firewall set --enabled false
/etc/init.d/vpxa stop # cut vCenter off from the host
passwd root # rotate credentials under attacker control
El mismo agente suele mantener un bucle persistente que consulta una URI de C2 codificada. Cualquier estado inalcanzable provoca reintentos, lo que significa que el beacon permanece activo hasta que los operadores envíen instrucciones.
Canal de instrucciones estilo MrAgent
Los agentes de gestión ligeros exponen un conjunto conciso de instrucciones extraído de la cola de C2. Ese conjunto es suficiente para operar docenas de hypervisors comprometidos sin interactive shells:
| Instrucción | Efecto |
|---|---|
Config | Sobrescribe la configuración JSON local que define directorios objetivo, retardos de ejecución o limitación, permitiendo reasignaciones en caliente sin redeplegar binarios. |
Info | Devuelve información de build del hypervisor, IPs y metadatos de adaptadores recopilados con las sondas uname/esxcli. |
Exec | Inicia la fase de ransomware: cambia las credenciales de root, detiene vpxa, opcionalmente programa un retraso de reinicio y luego descarga y ejecuta el encryptor. |
Run | Implementa un remote shell escribiendo comandos arbitrarios provistos por el C2 en ./shmv, haciendo chmod +x y ejecutándolo. |
Remove | Ejecuta rm -rf <path> para limpiar herramientas o realizar borrado destructivo. |
Abort / Abort_f | Detiene cifrados en cola o mata hilos de worker en ejecución si el operador quiere pausar acciones posteriores al reinicio. |
Quit | Termina el agente y rm -f su binario para una auto-eliminación rápida. |
Welcome | Abusa de esxcli system welcomemesg set -m="text" para mostrar avisos de rescate directamente en el banner de la consola. |
Internamente estos agentes mantienen dos blobs JSON protegidos por mutex (configuración de runtime + estado/telemetría) para que hilos concurrentes (p.ej. beaconing + encryption workers) no corrompan el estado compartido. Las muestras suelen estar rellenadas con código basura para ralentizar análisis estático superficial, pero las rutinas centrales permanecen intactas.
Enfoque orientado a virtualización y backups
Los encryptors estilo Mario sólo recorren raíces de directorio suministradas por el operador y tocan artefactos de virtualización que importan para la continuidad del negocio:
| Extension | Target |
|---|---|
vmdk, vmem, vmsd, vmsn, vswp | Discos de VM, instantáneas de memoria y archivos de respaldo de swap. |
ova, ovf | Bundles/metadatos de appliances de VM portátiles. |
vib | Bundles de instalación de ESXi que pueden impedir la remediación o la aplicación de parches. |
vbk, vbm | Backups de VM de Veeam + metadatos para sabotear restauraciones en el host. |
Particularidades operativas:
- Cada directorio visitado recibe
How To Restore Your Files.txtantes del cifrado para asegurar que los canales de rescate estén anunciados incluso en hosts desconectados. - Los archivos ya procesados son omitidos cuando sus nombres contienen
.emario,.marion,.lmario,.nmario,.mmarioo.wmario, evitando un doble cifrado que rompería el decryptor de los atacantes. - Las cargas cifradas son renombradas con un sufijo estilo
*.mario(comúnmente.emario) para que los operadores puedan verificar la cobertura remotamente en consolas o listados de datastores.
Actualizaciones de cifrado por capas
Las builds recientes de Mario reemplazan la rutina original lineal de clave única por un diseño disperso y multi-clave optimizado para VMDKs de cientos de gigabytes:
- Esquema de claves: Genera una clave primaria de 32 bytes (almacenada alrededor de
var_1150) y una clave secundaria independiente de 8 bytes (var_20). Los datos se transforman primero con el contexto primario y luego se remezclan con la clave secundaria antes de las escrituras en disco. - Encabezados por archivo: Los buffers de metadatos (p.ej.
var_40) rastrean mapas de chunks y flags para que el decryptor privado de los atacantes pueda reconstruir el layout disperso. - Chunking dinámico: En lugar de un bucle constante
0xA00000, el tamaño y los offsets de los chunks se recomputan según el tamaño del archivo, con umbrales extendidos hasta ~8 GB para ajustarse a imágenes de VM modernas. - Cobertura dispersa: Solo se tocan regiones elegidas estratégicamente, reduciendo drásticamente el tiempo de ejecución mientras se corrompen metadatos VMFS, estructuras NTFS/EXT4 dentro del guest o índices de backup.
- Instrumentación: Las builds mejoradas registran por chunk recuentos de bytes y totales (encrypted/skipped/failed) en stdout, dando a los afiliados telemetría durante intrusiones en vivo sin herramientas extra.
See also
LPE en Linux vía descubrimiento del servicio VMware Tools (CWE-426 / CVE-2025-41244):
Vmware Tools Service Discovery Untrusted Search Path Cve 2025 41244
References
Tip
Aprende y practica Hacking en AWS:
HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica Hacking en GCP:HackTricks Training GCP Red Team Expert (GRTE)
Aprende y practica Hacking en Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Apoya a HackTricks
- Revisa los planes de suscripción!
- Únete al 💬 grupo de Discord o al grupo de telegram o síguenos en Twitter 🐦 @hacktricks_live.
- Comparte trucos de hacking enviando PRs a los HackTricks y HackTricks Cloud repositorios de github.


