CrowdStrike investiga la ofuscación de comandos de shell en VMware ESXi
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumen
Los adversarios están apuntando cada vez más a los hipervisores VMware ESX con sofisticadas ofuscaciones de comandos de shell diseñadas para evadir la detección. Los actores de amenazas utilizan técnicas que van desde la codificación hexadecimal básica hasta cifrados criptográficos avanzados y caracteres Unicode invisibles inyectados en el shell BusyBox. Estos métodos permiten a los atacantes ejecutar comandos maliciosos, incluyendo la desactivación de syslogs o el cifrado de máquinas virtuales, mientras minimizan las trazas legibles en los registros estándar del shell.
Investigación
Los investigadores de CrowdStrike evaluaron sistemáticamente 21 técnicas diferentes de ofuscación dentro de un entorno controlado ESX 7.0.3. Agruparon estos métodos en seis categorías: secuencias de escape, generación de caracteres, inyección Unicode, codificación criptográfica, cargas útiles con llaves de infraestructura y sistemas de codificación alternativos. La investigación confirmó que estas técnicas pueden eludir la detección tradicional basada en palabras clave explotando las diferencias entre cómo se analizan y, en última instancia, se ejecutan los comandos.
Mitigación
Los equipos de seguridad deben ir más allá de la detección básica basada en palabras clave y adoptar reglas de correlación basadas en expresiones regulares que identifiquen los patrones sintácticos comúnmente asociados con la ofuscación. Las plataformas avanzadas SIEM, como CrowdStrike Falcon Next-Gen SIEM, pueden ayudar a detectar estos comportamientos en toda la telemetría del shell ESX. Mantener una línea de base confiable de la actividad administrativa normal también es esencial para identificar ejecuciones de shell anómalas.
Respuesta
Si se detecta la ejecución de un comando ofuscado, los respondedores de incidentes deben aislar inmediatamente el host ESX afectado para limitar el movimiento lateral o el cifrado de VMs. Los registros del shell deben ser analizados en busca de patrones de ofuscación conocidos para reconstruir los comandos que realmente se ejecutaron. Los respondedores también deben investigar la persistencia a través de tareas programadas o configuraciones del sistema modificadas y verificar la integridad del sistema de archivos VMFS.
Flujo de Ataque
Detecciones
Posible Enumeración del Sistema ESXCLI [Windows] (vía línea de comandos)
Proof of Value
Posible Enumeración o Intento de Modificación del Archivo de Configuración SSHd (vía línea de comandos)
Proof of Value
Posible Enumeración del Sistema ESXCLI [Linux] (vía línea de comandos)
Proof of Value
Recarga Sospechosa del Servicio Syslog ESXCLI [Linux] (vía línea de comandos)
Proof of Value
Detección de Comando Ofuscado en VMware ESX [Creación de Proceso Linux]
Proof of Value
Ejecución de Simulación
Requisito previo: La verificación previa de Telemetría y Línea de Base debe haber pasado.
Fundamento: Esta sección detalla la ejecución precisa de la técnica del adversario (TTP) diseñada para activar la regla de detección. Los comandos y la narrativa DEBEN reflejar directamente las TTPs identificadas y tienen como objetivo generar exactamente la telemetría esperada por la lógica de detección.
-
Narrativa y Comandos de Ataque: El adversario ha ganado acceso al shell de un host VMware ESX. Para evitar la detección por herramientas de seguridad que escanean en busca de la palabra clave
esxcli, el atacante utiliza unawkcomando para generar la cadenaesxcliusando valores decimales ASCII y luego la pasa asystem(). Esta técnica se utiliza para realizar cambios de configuración (por ejemplo, restablecer hosts de registro) mientras permanece invisible a los filtros de coincidencia de patrones simples. -
Script de Prueba de Regresión: Este script ejecuta una de las cargas útiles específicas definidas en la lógica de detección para verificar que la regla se active.
#!/bin/bash # Script de simulación para activar la regla 'Detección de Comando Ofuscado en VMware ESX'. echo "[+] Iniciando Simulación: Ejecución de Comando Ofuscado" # Carga útil 1: Usando printf dentro de un subproceso para ocultar 'esxcli' echo "[+] Ejecutando Carga útil 1 (ofuscación con printf)..." $(printf "x65x73x78x63x6cx69") system syslog config get # Carga útil 2: Usando awk para reconstruir 'esxcli' a través de códigos decimales ASCII echo "[+] Ejecutando Carga útil 2 (reconstrucción ASCII con awk)..." awk 'BEGIN{printf "%c%c%c%c%c%c",101,115,120,99,108,105} system " syslog config get"' echo "[+] Simulación Completa. Compruebe SIEM para alertas." -
Comandos de Limpieza: Dado que estos comandos están diseñados para ser no destructivos (usando
getorconfig get), se requiere una limpieza mínima. Sin embargo, para garantizar que no se hicieron cambios persistentes si se usó unsetcomando:# No se tomaron acciones destructivas en esta simulación. # Si se utilizó un comando 'set', reverter a la configuración original. echo "[+] Limpieza: No se hicieron cambios en la configuración del sistema."