SOC Prime Bias: Alto

30 Jul 2026 15:27 UTC

Ejecución de Comandos en VM de Azure a través de una Extensión de Minion Salt de Terceros

Author Photo
SOC Prime Team linkedin icon Seguir
Ejecución de Comandos en VM de Azure a través de una Extensión de Minion Salt de Terceros
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumen

Un atacante con Microsoft.Compute/virtualMachines/extensions/write permisos puede abusar de extensiones legítimas de terceros para ejecutar código arbitrario en máquinas virtuales de Azure. Al desplegar la extensión Salt Minion y conectarla a un Salt Master malicioso, el atacante puede impulsar estados maliciosos a sistemas específicos y obtener acceso de root o nivel SYSTEM. Esta técnica permite la ejecución furtiva de comandos que pueden mezclarse con la automatización administrativa normal.

Investigación

El informe presenta un ataque de prueba de concepto en el que un Salt Master malicioso está configurado para controlar máquinas virtuales de Azure. La investigación muestra cómo se despliega la extensión Salt Minion a través de Azure CLI y se configura para comunicarse a través de los puertos 4505 y 4506. Los investigadores luego ejecutan un estado de Salt malicioso que utiliza curl para exfiltrar tokens de Identidad Administrada a un servicio de interacción fuera de banda.

Mitigación

Las organizaciones deben restringir estrictamente los roles que incluyen permisos de escritura de extensiones, incluidos Propietario, Colaborador y Colaborador de Máquina Virtual. Aplicar el principio de menor privilegio es esencial para prevenir el despliegue no autorizado de extensiones. Los equipos de seguridad también deben monitorear los Registros de Actividades de Azure en busca de operaciones de escritura de extensiones de máquina virtual sospechosas e instalaciones inesperadas de extensiones de terceros.

Respuesta

Si se detecta esta actividad, los equipos de seguridad deben revocar inmediatamente los permisos de la identidad responsable del despliegue de la extensión. Revisar los Registros de Actividades de Azure para determinar la dirección IP de origen, la máquina virtual afectada y la configuración de la extensión. Realizar un análisis forense del endpoint en el sistema comprometido para evaluar la ejecución de comandos, identificar credenciales robadas y detectar cualquier persistencia no autorizada.

Flujo de Ataque

Ejecución de Simulación

Requisito previo: La Verificación Previa de Telemetría y Líneas Base debe haber sido aprobada.

Razonamiento: 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 los TTPs identificados y apuntar a generar exactamente la telemetría esperada por la lógica de detección. Ejemplos abstractos o no relacionados conducirán a un diagnóstico erróneo.

  • Narrativa del Ataque y Comandos: El adversario ha obtenido permisos suficientes dentro del Inquilino de Azure (por ejemplo, a través de un Principal de Servicio o Cuenta de Usuario comprometidos con roles de ‘Colaborador de Máquina Virtual’). Para establecer un punto de apoyo y ejecutar comandos directamente en una VM de destino sin acceso SSH/RDP tradicional, el adversario opta por desplegar una «Extensión de Script Personalizado.» Esta técnica es altamente efectiva para eludir los controles de red basados en endpoints. El adversario ejecutará un comando de Azure CLI para ‘escribir’ una nueva extensión en la VM de destino. Esta acción activará la operación MICROSOFT.COMPUTE/VIRTUALMACHINES/EXTENSIONS/WRITE en los Registros de Actividades de Azure, que es exactamente la telemetría que nuestra regla de detección está diseñada para capturar.

  • Script de Prueba de Regresión:

    # Simulación: Desplegando una extensión ficticia para activar la lógica de detección 'EXTENSIONS/WRITE'
    # Reemplace las variables con sus valores reales del entorno de prueba
    RESOURCE_GROUP="TestRG"
    VM_NAME="TestVM"
    EXTENSION_NAME="MaliciousSaltMinionSim"
    
    echo "Iniciando simulación: Desplegando extensión $EXTENSION_NAME a $VM_NAME..."
    
    az vm extension set 
      --resource-group $RESOURCE_GROUP 
      --vm-name $VM_NAME 
      --name $EXTENSION_NAME 
      --publisher Microsoft.Azure.Extensions 
      --settings '{"commandToExecute": "echo "Simulación Exitosa" > /tmp/pwned.txt"}'
    
    echo "Comando de simulación enviado. Verifique los Registros de Actividades de Azure para MICROSOFT.COMPUTE/VIRTUALMACHINES/EXTENSIONS/WRITE"
  • Comandos de Limpieza:

    # Limpieza: Eliminar la extensión maliciosa simulada para devolver el entorno a su estado original
    RESOURCE_GROUP="TestRG"
    VM_NAME="TestVM"
    EXTENSION_NAME="MaliciousSaltMinionSim"
    
    echo "Limpiando: Eliminando extensión $EXTENSION_NAME..."
    
    az vm extension delete 
      --resource-group $RESOURCE_GROUP 
      --vm-name $VM_NAME 
      --name $EXTENSION_NAME
    
    echo "Limpieza completa."