Virtualización

GhostFrame: el implante para VMware ESXi que roba las contraseñas de Windows desde fuera de las VM

Por Equipo Cloud Privado · · 13 min de lectura
Esquema sobre fondo grafito: cuatro máquinas virtuales sobre una capa de hipervisor roja de la que salen llaves

Las claves en 30 segundos

  • GhostFrame es un marco de postexplotación para VMware ESXi que ha documentado Insikt Group, el equipo de investigación de Recorded Future, el 10 de noviembre de 2026. Lo usa el grupo TAG-218, cuya actividad se solapa con la del ransomware Settra.
  • No explota ninguna vulnerabilidad de ESXi. Hace falta tener ya root en el host. El camino observado es el de siempre: VPN sin parchear, salto a vCenter y de ahí a los hipervisores.
  • Desde el hipervisor saca credenciales de Windows sin tocar el sistema invitado. Integra VMkatz, una herramienta libre que lee hashes NTLM, tickets de Kerberos, secretos LSA y la base NTDS.dit de los discos virtuales y de las instantáneas de memoria. El EDR de dentro de la VM no ve nada.
  • Se queda en el host a la fuerza: se copia a /opt/vmhostd-core, se mete en /etc/rc.local.d/local.sh, se hace pasar por hostd y apaga el cortafuegos de ESXi y execInstalledOnly cada cinco segundos.
  • Tiene una huella de red muy reconocible: seis conexiones TCP casi simultáneas desde el ESXi a la misma IP, a los puertos 53, 2222, 3389, 4444, 8443 y 9443.
  • La lección no es solo de VMware. VMkatz lee igual de bien discos qcow2 y volúmenes LVM de Proxmox y copias de Veeam. Quien controla el hipervisor o el almacén de copias tiene el controlador de dominio.

Durante años, el ransomware entraba en la red, iba saltando de un Windows a otro y, al final, cifraba lo que encontraba. Desde 2021 los grupos más organizados hacen otra cosa: llegan al hipervisor y cifran los discos de todas las VM de golpe. GhostFrame es el siguiente paso de esa evolución. Ya no se trata solo de cifrar desde el ESXi, sino de operar desde él: entrar en cada máquina, sacar sus contraseñas y moverse por la red interna sin instalar nada dentro de ninguna.

Lo contaba hoy Cyber Security News. Hemos ido al informe original de Recorded Future, al aviso de Unit 42 sobre la VPN de Palo Alto que encaja con la campaña, al análisis de Huntress sobre Settra y a la documentación de Broadcom sobre las protecciones que GhostFrame desactiva. Lo que sigue es qué hace, cómo mirar si lo tienes y qué cambiar en la plataforma.

Qué es GhostFrame

GhostFrame es un servidor de mando y control (C2) con un panel web y un implante para ESXi. Según el código del panel que recuperó Insikt Group, la interfaz tiene dos secciones:

  • Builder, que genera el implante, llamado vmhostd-core, junto con las instrucciones para desplegarlo: compilarlo, desactivar a mano el cortafuegos de ESXi y ejecutarlo desde un datastore.
  • Sessions, desde donde el operador ve los hosts conectados y usa todo lo demás.

El dato que hay que leer dos veces: el implante no trae ningún exploit. El operador tiene que haber conseguido root en el ESXi antes por otra vía. GhostFrame no es la puerta de entrada, es lo que se monta cuando la puerta ya está abierta para no tener que volver a forzarla.

Cómo se queda en el host

El análisis de una muestra ELF real describe una persistencia bastante agresiva:

  1. Se copia a /opt/vmhostd-core y modifica /etc/rc.local.d/local.sh, el script que ESXi ejecuta al arrancar, para lanzarse en cada inicio.
  2. Desde ese script, desactiva el cortafuegos de ESXi y execInstalledOnly (la opción que impide ejecutar binarios que no vengan de un paquete VIB instalado y firmado) cada cinco segundos aproximadamente. Si el administrador los vuelve a activar, en unos segundos están otra vez apagados.
  3. Ejecuta /sbin/auto-backup.sh para que ESXi guarde la configuración modificada y sobreviva al reinicio.
  4. Se disfraza de vmhostd, cambiando el nombre del proceso y su línea de órdenes para que se parezca a vmware-hostd, el demonio legítimo de gestión de VMware.

Ese bucle de cinco segundos tiene una consecuencia práctica que Recorded Future subraya: volver a activar las protecciones no arregla nada. Hay que encontrar y quitar lo que las está apagando.

Cómo habla con su servidor

El implante prueba a la vez seis puertos TCP: 53, 2222, 3389, 4444, 8443 y 9443. Se queda con la primera conexión que funciona y cierra las demás. Si en 30 segundos no conecta ninguna, espera entre 5 y 12 segundos y lo vuelve a intentar.

Una vez conectado, funciona como cargador de código en memoria: recibe código máquina del C2, reserva memoria ejecutable y lo ejecuta sin escribir nada en disco. Si no puede reservar esa memoria, abre una shell inversa clásica con /bin/sh.

Para un equipo de red, esto es oro. Un hipervisor no tiene ningún motivo para abrir seis conexiones casi simultáneas hacia una IP de Internet, y menos a la 3389 o la 4444. Aunque el operador cambie de servidores, ese patrón se repite.

Qué puede hacer el operador desde el panel

  • Ver y manejar las VM: listarlas con su estado, encenderlas o apagarlas, y crear o borrar instantáneas.
  • Entrar en la consola de cualquier VM por VNC, con la imagen enviada a través de la propia infraestructura de GhostFrame. No hace falta llegar a la VM por red.
  • Abrir el ESXi Host Client (la web de gestión del hipervisor) a través de un túnel controlado por el atacante.
  • Usar el host como pasarela con gfsox, un proxy SOCKS5, para llegar a sistemas internos que no están expuestos a Internet.
  • Capturar las credenciales de quien entre después en el ESXi con sdkmon, que según el panel modifica la configuración de servicios del host e intercepta la autenticación.
  • Sacar credenciales de Windows de las VM con VMkatz.

VMkatz: por qué el EDR de la VM no sirve aquí

VMkatz es una herramienta de código abierto (licencia MIT, escrita en Rust, publicada en GitHub en febrero de 2026 y pensada para equipos de red team). Su propio README lo explica sin rodeos: en vez de sacar un disco de 100 GB por un enlace lento, se deja un binario de unos 3 MB en el host y se leen las credenciales donde están.

Lee de los ficheros de la VM, no del sistema en marcha:

  • De las instantáneas con memoria (.vmsn y .vmem en VMware) recupera lo mismo que mimikatz del proceso LSASS: hashes NTLM, contraseñas WDigest, tickets y claves de Kerberos, claves maestras DPAPI e incluso la clave de BitLocker si está en memoria.
  • De los discos virtuales saca la SAM, los secretos LSA, las credenciales de dominio en caché y, del disco de un controlador de dominio, todos los hashes del directorio activo desde NTDS.dit.

GhostFrame lo integra con cuatro modos: instantánea de memoria, disco virtual, los dos combinados o un barrido recursivo de todas las VM de un datastore.

Ninguno de esos caminos pasa por el Windows invitado. No hay proceso sospechoso que vigilar ni acceso a LSASS que bloquear. Es exactamente lo que Unit 42 describió en octubre en un caso real tras la vulnerabilidad de GlobalProtect: los atacantes llegaron a vCenter, desactivaron execInstalledOnly en los ESXi y volcaron las credenciales del dominio directamente del VMDK del controlador de dominio, saltándose el EDR.

Y un detalle que no conviene pasar por alto: la tabla de formatos de VMkatz incluye qcow2 y volúmenes LVM-thin de Proxmox, estados guardados de QEMU, discos de Hyper-V y copias de Veeam. GhostFrame está hecho para ESXi, pero la técnica de leer credenciales desde fuera vale para cualquier hipervisor y para cualquier sitio donde haya una copia del disco.

De la VPN al hipervisor: la campaña de TAG-218

Insikt Group encontró GhostFrame siguiendo la infraestructura de TAG-218. Entre finales de agosto y octubre de 2026 vio servidores de este grupo atacando VPN de SonicWall, Palo Alto Networks y Fortinet en Estados Unidos y Europa. Cuatro de esas organizaciones aparecieron después en el sitio de filtraciones de Settra.

Esos mismos servidores se conectaban a dos C2 de GhostFrame y a un servidor de MeshCentral, la herramienta de administración remota que el grupo usa para mantener el acceso. El 12 de octubre, un equipo VPN de Fortinet de una víctima contactó con GhostFrame y con MeshCentral en el mismo periodo, lo que sitúa el implante dentro de la cadena de intrusión.

La pieza encaja con lo que ya se sabía:

  • Huntress documentó Settra en septiembre, con incidentes desde junio: MeshAgent para persistir, un controlador vulnerable (gdrv.sys) para tumbar defensas, borrado masivo de registros de Windows y desactivación del entorno de recuperación. La IP del MeshCentral que publica Huntress, 193.5.65[.]114, es la misma que Recorded Future atribuye a TAG-218.
  • Unit 42 actualizó en octubre su aviso sobre CVE-2026-0257, una omisión de autenticación en GlobalProtect que permite abrir una sesión VPN sin credenciales ni MFA. Está corregida desde mayo de 2026, entró en el catálogo KEV de CISA el 13 de mayo y la explotan, además de Settra, Qilin e Inc.

El orden de los hechos es el que importa: VPN sin parchear → red interna → vCenter → ESXi → credenciales de todo el dominio. GhostFrame es el último eslabón, no el primero.

Cómo mirar si un ESXi está afectado

Con acceso de solo lectura a la shell del host, esto es lo primero que revisaríamos, siguiendo los indicadores del informe:

# 1. El script de arranque: no debería tener nada que no hayas puesto tú
cat /etc/rc.local.d/local.sh

# 2. Ficheros y procesos con el nombre del implante
ls -la /opt/
ps -c | grep -i vmhostd

# 3. Estado del cortafuegos y de execInstalledOnly
esxcli network firewall get
esxcli system settings kernel list -o execinstalledonly

# 4. Si la protección está forzada desde el arranque (TPM + Secure Boot)
esxcli system settings encryption get

# 5. Conexiones salientes hacia los seis puertos de GhostFrame
esxcli network ip connection list | grep -E ':(53|2222|3389|4444|8443|9443) '

Y fuera del host:

  • En el cortafuegos perimetral, busca ráfagas de seis SYN casi simultáneos desde la red de gestión de los ESXi hacia una misma IP. Mejor aún: la red de gestión de los hipervisores no debería poder salir a Internet salvo hacia los repositorios de actualizaciones.
  • En el syslog centralizado (si los ESXi no envían sus registros fuera, es lo primero que hay que arreglar), cambios de execInstalledOnly, del cortafuegos o del nivel de aceptación de VIB que nadie haya pedido.
  • Los indicadores publicados: C2 de GhostFrame en 45.158.196[.]81 y 45.158.196[.]141, MeshCentral en 193.5.65[.]114 y el SHA-256 de la muestra en el informe de Recorded Future.

Si encuentras algo, no lo arregles en caliente: aísla el host de la red de gestión, conserva el estado para el análisis y da por comprometidas todas las credenciales de las VM que corrían en él, empezando por las del dominio. Volver a activar el cortafuegos con el implante vivo solo le avisa.

Qué cambiar en la plataforma

GhostFrame necesita root. Todo lo que ponga más difícil llegar a root en un hipervisor, o que lo haga visible, le quita sentido.

Sobre la entrada:

  • Parchear la VPN y todo lo expuesto antes que nada. La fuente de esta campaña es una vulnerabilidad con parche desde mayo.
  • Sacar vCenter y la gestión de ESXi del alcance de la VPN de usuarios. Que se llegue solo desde equipos de administración concretos, con MFA, por una red aparte.
  • No unir vCenter ni ESXi al mismo directorio activo que los usuarios, o al menos no dar privilegios sobre la plataforma a grupos del dominio. Si el atacante saca el NTDS.dit, no debería obtener también las llaves del hipervisor.

Sobre el host:

  • Activar UEFI Secure Boot y TPM 2.0, y forzar execInstalledOnly desde el arranque con la configuración segura de ESXi (esxcli system settings encryption set --require-secure-boot=TRUE y luego --require-exec-installed-only=TRUE). Así la opción se vuelve a imponer en cada inicio. En ESXi 8.0 execInstalledOnly ya viene activado por defecto; lo que GhostFrame demuestra es que con root se apaga, y por eso conviene que el arranque lo restaure.
  • Saber dónde no llega. Broadcom reconoce en su base de conocimiento que execInstalledOnly no impide ejecutar scripts a través de un intérprete como Python. La comunidad de VMware coincide en que, con Secure Boot activo, ESXi no ejecuta local.sh al arrancar, lo que cortaría la persistencia de esta muestra, pero no la sesión en memoria mientras el host siga encendido. Ninguna opción sustituye a impedir que alguien tenga root.
  • Modo de bloqueo (lockdown), SSH y ESXi Shell apagados salvo en una ventana de mantenimiento, y contraseña de root distinta en cada host, guardada en un gestor.
  • Registros fuera del host y alertas por cambios de configuración de seguridad.

Sobre las credenciales que viven en las VM:

  • Cifrar las VM críticas, empezando por los controladores de dominio. Con el cifrado de VM de vSphere o con BitLocker y vTPM dentro del invitado, quien copia el VMDK del datastore se lleva datos cifrados. No es infalible frente a root en el host (VMkatz saca la clave de BitLocker de una instantánea con memoria), pero obliga a dar más pasos y más ruidosos.
  • Restringir quién puede hacer instantáneas con memoria y no dejarlas olvidadas: una instantánea con RAM de un controlador de dominio es un volcado de LSASS esperando a que alguien lo lea.
  • Proteger el almacén de copias como si fuera el dominio. VMkatz lee copias de Veeam y discos de Proxmox. Si el repositorio de backup comparte credenciales con el resto, es otra puerta. Unit 42 vio a estos grupos encadenar la VPN con CVE-2023-27532, la vulnerabilidad de Veeam Backup & Replication.

Y si usas Proxmox

Proxmox VE no es ESXi y GhostFrame no funciona en él tal cual. Pero sería un error leer esta noticia como un problema exclusivo de VMware. El principio es el mismo: root en el nodo es root en todas las VM, y VMkatz ya sabe leer qcow2 y LVM-thin.

Lo que aplica directamente en Proxmox:

  • Interfaz web y SSH de los nodos solo desde la red de gestión, nunca desde la VPN general ni desde Internet. El cortafuegos y la microsegmentación de Proxmox sirven también para eso.
  • Usuarios con nombre y permisos mínimos, con 2FA, en vez de entrar todos como root@pam.
  • Cifrado de los discos de las VM críticas desde dentro del invitado, porque el cifrado en reposo con LUKS o ZFS protege frente al robo del disco físico, no frente a alguien con root en el nodo, que ve el volumen ya descifrado.
  • Proxmox Backup Server con su propio control de acceso, sin credenciales compartidas con los nodos y con copia inmutable fuera, como cuenta la regla 3-2-1 frente al ransomware.

Nuestra lectura

GhostFrame no rompe ESXi. Lo que hace es aprovechar algo que el sector lleva tiempo sabiendo y pocas organizaciones aplican: el hipervisor es un sistema de nivel cero, como el controlador de dominio, y se suele proteger como si fuera un electrodoméstico. Está en la misma VLAN que todo, se administra con la misma VPN que usan los comerciales y nadie lee sus registros.

Recorded Future no sabe si GhostFrame es exclusivo de Settra ni cómo se distribuye, pero considera muy probable que otros grupos lo adopten o copien la idea. Nosotros también. Y no hace falta esperar a que lo hagan para revisar quién puede llegar hoy a la gestión de tus hipervisores.

Si quieres que lo miremos contigo, en ciberseguridad revisamos la exposición de la plataforma de virtualización, y en Proxmox VE gestionado y VMware gestionado la operamos con la red de gestión separada, registros fuera del host y copias en Proxmox Backup Server o Veeam aisladas del resto.

Preguntas frecuentes

¿Qué es GhostFrame?

Un marco de mando y control y postexplotación para VMware ESXi, documentado por Insikt Group, de Recorded Future, el 10 de noviembre de 2026. Permite mantener el acceso al hipervisor, manejar sus VM, moverse por la red interna y robar credenciales de Windows de los discos y las instantáneas de las VM.

¿GhostFrame explota una vulnerabilidad de ESXi?

No. El operador necesita tener ya acceso root al host ESXi. En la campaña observada, el acceso llegó a través de VPN vulnerables, como la de Palo Alto GlobalProtect afectada por CVE-2026-0257, y desde ahí los atacantes saltaron a vCenter y a los hipervisores.

¿Cómo se detecta GhostFrame en un ESXi?

Revisando cambios en /etc/rc.local.d/local.sh, la presencia de /opt/vmhostd-core o de un proceso vmhostd, y si el cortafuegos de ESXi o execInstalledOnly aparecen desactivados. En la red, el implante abre seis conexiones TCP casi simultáneas hacia la misma IP, a los puertos 53, 2222, 3389, 4444, 8443 y 9443.

¿Por qué el antivirus o el EDR de la VM no detecta el robo de credenciales?

Porque GhostFrame no ejecuta nada dentro del sistema invitado. Con VMkatz lee las credenciales directamente de los ficheros de la VM en el datastore: instantáneas con memoria y discos virtuales. Para el Windows de dentro no ocurre nada.

¿Afecta a Proxmox VE?

GhostFrame está hecho para ESXi y no funciona en Proxmox tal cual. Pero VMkatz, la herramienta que integra para robar credenciales, lee también discos qcow2 y volúmenes LVM-thin de Proxmox, así que la técnica vale para cualquier hipervisor si el atacante consigue root en el nodo.

¿Qué es Settra?

Un ransomware observado desde junio de 2026. Huntress lo ha documentado con MeshAgent para mantener el acceso, un controlador vulnerable para desactivar defensas, borrado de registros de Windows y desactivación del entorno de recuperación. Recorded Future vincula GhostFrame a TAG-218, un grupo cuya actividad se solapa con la de Settra.

Fuentes

¿Cuánto te costaría salir de VMware?

Dinos qué tamaño tiene tu entorno y cuándo renuevas. Te respondemos con una estimación de plazos y costes y con las opciones que tienes antes de esa fecha.

Respuesta en 24–48 h laborables · Sin compromiso

¿Prefieres el correo? Escríbenos a comercialcloudprivado.com