AvanzadoLinuxESXiransomwareVMwarevirtualizaciónVMDK

Ransomware en ESXi: Análisis de Campañas Reales que Paralizan Infraestructuras

Análisis técnico de ransomware dirigido a VMware ESXi. Familias con variantes Linux/ESXi (LockBit, BlackCat, Hive, Akira, Play, Black Basta), técnicas de cifrado de archivos VMDK, campañas ESXiArgs, y defensa de infraestructura de virtualización.

MalwareIntel Research··9 min lectura
Serie: Malware en Linux — Parte 8

ESXi: el target de máximo impacto

Un servidor ESXi típico en una empresa mediana aloja 20-50 máquinas virtuales: servidores de archivos, bases de datos, controladores de dominio, servidores web, email. Cifrar un solo ESXi equivale a cifrar toda esa infraestructura de golpe.

Los grupos de ransomware lo saben. Desde 2020, desarrollar una variante ESXi/Linux es un requisito implícito para cualquier programa RaaS serio. El patrón de ataque es consistente: comprometer la red Windows (phishing, exploit, credenciales), escalar a Domain Admin, pivotar al segmento de virtualización, y desplegar el ransomware Linux directamente en los hosts ESXi.

Vectores de acceso a ESXi

Vulnerabilidades en ESXi/vCenter

CVEProductoDescripciónCampañas
CVE-2021-21974ESXi OpenSLPHeap overflow en OpenSLP, RCE sin autenticaciónESXiArgs (2023)
CVE-2024-37085vCenter ServerAuthentication bypass en Active Directory integrationMúltiples grupos 2024
CVE-2022-31696ESXiHeap overflow en USB controllerPoC público
CVE-2023-34048vCenter ServerOut-of-bounds write, RCEExplotado in-the-wild

Acceso via red corporativa comprometida

El vector más común no es un exploit en ESXi sino movimiento lateral desde la red Windows:

1. Compromiso inicial de red Windows (phishing, VPN exploit)
2. Escalada a Domain Admin
3. Identificar vCenter/ESXi en la red (nmap, credenciales en Veeam)
4. Login en vCenter con credenciales de AD (si integrado)
5. Habilitar SSH en ESXi via vCenter
6. SCP del ransomware binario al host ESXi
7. Ejecutar el ransomware via SSH

SSH con credenciales débiles

ESXi tiene SSH deshabilitado por defecto, pero muchos administradores lo habilitan para gestión. Si la contraseña de root es débil o compartida con cuentas de AD comprometidas, el acceso es trivial.

Anatomía del ataque: qué hace el ransomware en ESXi

Secuencia de ejecución típica

# 1. Enumerar VMs en ejecucion
esxcli vm process list

# 2. Detener todas las VMs (imprescindible para cifrar VMDKs que estan en uso)
for vmid in $(vim-cmd vmsvc/getallvms | awk '{print $1}' | tail -n+2); do
    vim-cmd vmsvc/power.off $vmid
done
# Alternativa brutal:
esxcli vm process kill --type=force --world-id=[ID]

# 3. Cifrar archivos VMDK, VMEM, VSWP, VMX, VMSN
./ransomware_binary --path /vmfs/volumes/ --ext vmdk,vmem,vswp,vmx,vmsn

# 4. Dejar nota de rescate
echo "Your VMs have been encrypted..." > /vmfs/volumes/datastore1/README_TO_RESTORE.txt

# 5. Modificar MOTD/pagina web de ESXi
# Algunos modifican /etc/motd o la pagina HTML del ESXi web client

Archivos objetivo

ExtensiónContenidoImpacto si se cifra
.vmdkDisco virtual (Virtual Machine Disk)VM completamente inutilizable
.vmxConfiguración de la VMVM no puede arrancarse
.vmemMemoria de VM suspendidaDatos en memoria perdidos
.vswpSwap de la VMDatos de swap perdidos
.vmsnSnapshot de la VMSnapshots inutilizables
.nvramBIOS/UEFI settings de la VMConfiguración de boot perdida
.vmsdMetadata de snapshotsÁrbol de snapshots perdido
-flat.vmdkExtensión del dato real del discoContenido real del disco virtual

Cifrado parcial en ESXi

Muchas familias usan cifrado parcial para maximizar velocidad:

Archivo VMDK de 500 GB:
- Cifrado completo: ~30 minutos (dependiendo de I/O)
- Cifrado parcial (primeros 1 MB): ~1 segundo

Con 30 VMs de 500 GB cada una:
- Completo: ~15 horas
- Parcial: ~30 segundos

El cifrado parcial es la norma en ESXi.

El cifrado parcial deja la mayor parte del VMDK intacto pero el header queda corrupto, haciendo que VMware no pueda montar el disco.

Familias con variantes ESXi

FamiliaLenguajeCifradoParticularidades ESXi
LockBitCAES-256-CTR + RSAMuy rápido, cifrado intermitente
BlackCat/ALPHVRustAES/ChaCha20 + RSACross-platform nativo, configurable
BabukC/GoChaCha20 + Curve25519Código fuente filtrado, base de muchas variantes
HiveGo/RustChaCha20 + RSAVariante Go y Rust separadas
Royal/BlackSuitC++AES/ChaCha20 + RSAMismo binario Linux sirve para ESXi
AkiraRustChaCha20 + RSAVariante "Megazord" para ESXi
Black BastaC++ChaCha20Detiene VMs con esxcli
RansomHubGoAES + RSAVariante ESXi activa 2024-2025

Babuk ESXi: la madre de muchas variantes

Babuk publicó su código fuente en 2021. La variante ESXi (escrita en Go) se convirtió en la base de múltiples familias:

  • Mario (basado en Babuk ESXi)
  • Qilin (basado en Babuk ESXi)
  • SolidBit (basado en Babuk ESXi)
  • Decenas de variantes menores

Campaña ESXiArgs (febrero 2023)

Qué ocurrió

En febrero de 2023, una campaña automatizada explotó CVE-2021-21974 (vulnerabilidad en OpenSLP de ESXi) para desplegar ransomware en miles de servidores ESXi expuestos a Internet:

AspectoDetalle
VulnerabilidadCVE-2021-21974 (OpenSLP heap overflow, parcheada en febrero 2021)
Servidores afectadosMás de 3.000 en los primeros días
AutomatizaciónCompletamente automatizado (scan + exploit + deploy)
Rescate2 BTC (~40.000 USD al momento)
CifradoParcial (primeros MB de VMDKs)
RecuperaciónCISA publicó script de recuperación para muchos casos

Script de recuperación de CISA

CISA publicó un script que aprovechaba el hecho de que ESXiArgs cifraba parcialmente los VMDKs:

# El script de CISA reconstruia la estructura del VMDK
# usando los datos no cifrados del flat-vmdk
# y recreando el descriptor VMDK

# Funcionaba porque ESXiArgs solo cifraba:
# 1. El descriptor VMDK (archivo .vmdk pequeno)
# 2. Los primeros bytes del flat-vmdk

# El contenido real de la VM (flat-vmdk) estaba en su mayoria intacto

La recuperación no funcionaba en todos los casos: si el VMDK estaba thin-provisioned y los primeros bloques contenían la tabla de particiones/filesystem, la VM podía no ser recuperable.

Detección de ransomware en ESXi

Indicadores en ESXi

IndicadorMétodo de detección
SSH habilitado inesperadamentevCenter alerts, ESXi shell.log
Múltiples VMs apagándose simultáneamentevCenter events, SNMP traps
Proceso desconocido consumiendo I/Oesxtop, vobd.log
Archivos con extensión nueva en datastoresMonitorización de datastores
Nota de rescate en datastoresFile monitoring
MOTD o web UI modificadosMonitorización de integridad
Conexiones SSH desde IPs internas inusualesLogs de SSH (/var/log/auth.log)

Logs relevantes en ESXi

# Logs de autenticacion
/var/log/auth.log         # SSH logins
/var/log/hostd.log        # vSphere API access
/var/log/vpxa.log         # vCenter Agent

# Logs de actividad
/var/log/shell.log        # Comandos ejecutados en ESXi shell
/var/log/vobd.log         # VMkernel observations
/var/log/vmkernel.log     # Kernel messages

# Verificar actividad reciente
grep -i "ssh" /var/log/auth.log | tail -20
grep -i "power" /var/log/hostd.log | tail -20
cat /var/log/shell.log | tail -50

Defensa de infraestructura ESXi

Hardening ESXi

MedidaPrioridadImplementación
Parchear ESXi regularmenteCriticaVMware Update Manager, lifecycle manager
Deshabilitar SSH cuando no se useCriticaESXi Advanced Settings: SSH.start = false
Deshabilitar OpenSLPCritica/etc/init.d/slpd stop + deshabilitar en startup
Segmentar red de virtualizaciónCriticaVLAN separada, firewall entre corp y vSphere
MFA en vCenterAltaIntegración con AD + MFA (Duo, Azure MFA)
Backups de VMs offline/inmutablesCriticaVeeam con Hardened Repository
Lockdown modeAltaRestringe acceso directo al host ESXi
Limitar acceso al ESXi firewallAltaSolo IPs de gestión permitidas
vCenter separado de ADMediaCuenta local de admin, no depender solo de AD
Monitorización de VMsAltaAlertas en apagados masivos, acceso SSH

Backup de VMs

La protección más importante contra ransomware ESXi son backups inmutables de las VMs:

Veeam + Hardened Repository (Linux)
  └── Backup diario de todas las VMs
  └── Inmutable (no se puede eliminar durante retention period)
  └── En red separada del segmento de virtualización
  └── Testing trimestral de restauración

Alternativa: Veeam + S3 Object Lock (AWS/Wasabi)
  └── Backup offsite en cloud con inmutabilidad

Plan de respuesta para ESXi

1. DETECTAR: alerta de VMs apagandose masivamente
2. CONTENER: 
   - Aislar el segmento de virtualizacion del resto de la red
   - NO apagar los hosts ESXi (preservar memoria para forense)
   - Deshabilitar SSH en hosts no afectados
3. EVALUAR:
   - Cuantos hosts afectados
   - Cifrado parcial o completo
   - Backups disponibles y verificados
4. RECUPERAR:
   - Si cifrado parcial: intentar recuperacion con herramientas de reconstruccion VMDK
   - Si backups disponibles: restaurar VMs por prioridad (AD, DNS, DB, apps criticas)
   - Si ni backups ni recuperacion parcial: evaluar pago (ultimo recurso)
5. INVESTIGAR:
   - Como accedieron (credenciales, exploit, lateral)
   - Parchear vector de entrada
   - Cambiar todas las credenciales de vSphere/ESXi

Mapeo MITRE ATT&CK

TécnicaIDContexto ESXi
Exploit Public-Facing ApplicationT1190CVE-2021-21974, CVE-2024-37085
Remote Services: SSHT1021.004SSH al host ESXi
Data Encrypted for ImpactT1486Cifrado de VMDKs
Inhibit System RecoveryT1490Eliminación de snapshots VMware
Service StopT1489Apagar VMs antes de cifrar
Valid AccountsT1078Credenciales de vCenter/AD

Fuentes y referencias

  • VMware. "VMSA-2021-0002: ESXi OpenSLP Vulnerability." VMware Security Advisory.
  • CISA. "ESXiArgs Ransomware: Recovery Guidance." CISA Alert, February 2023.
  • Mandiant. "Ransomware Targeting VMware ESXi." Mandiant Intelligence, 2024.
  • CrowdStrike. "ESXi Ransomware Campaigns." 2024 Global Threat Report.
  • Sophos. "ESXi Ransomware Analysis." SophosLabs, 2024.
  • Trend Micro. "Linux/ESXi Ransomware Landscape." Trend Micro Research, 2024.
  • MITRE ATT&CK. "Data Encrypted for Impact (T1486)." https://attack.mitre.org/techniques/T1486/
  • VMware. "ESXi Security Configuration Guide." VMware Docs.

Preguntas frecuentes

Artículos relacionados

Este contenido tiene fines exclusivamente educativos y de investigación en ciberseguridad defensiva. No se proporcionan binarios maliciosos ni payloads ejecutables. El uso indebido de esta información es responsabilidad exclusiva del usuario. Leer disclaimer completo.