Execução de Comandos em VM do Azure via uma Extensão Terceirizada do Salt Minion
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumo
Um atacante com Microsoft.Compute/virtualMachines/extensions/write permissões pode abusar de extensões de terceiros legítimas para executar código arbitrário em VMs do Azure. Ao implantar a extensão Salt Minion e conectá-la a um Salt Master malicioso, o atacante pode enviar estados maliciosos para sistemas alvo e obter acesso root ou nível SYSTEM. Esta técnica permite a execução de comandos furtiva que pode se misturar com a automação administrativa normal.
Investigação
O relatório apresenta um ataque de prova de conceito no qual um Salt Master malicioso é configurado para controlar VMs do Azure. A investigação mostra como a extensão Salt Minion é implantada por meio do Azure CLI e configurada para se comunicar nas portas 4505 e 4506. Pesquisadores então executam um estado malicioso do Salt que usa curl para exfiltrar tokens de Identidade Gerenciada para um serviço de interação fora de banda.
Mitigação
As organizações devem restringir rigorosamente papéis que incluem permissões de escrita de extensão, incluindo Proprietário, Colaborador e Colaborador de Máquina Virtual. Aplicar o princípio de privilégio mínimo é essencial para evitar a implantação não autorizada de extensões. As equipes de segurança também devem monitorar os Logs de Atividade do Azure para operações suspeitas de escrita de extensão de máquina virtual e instalações inesperadas de extensões de terceiros.
Resposta
Se esta atividade for detectada, as equipes de segurança devem revogar imediatamente as permissões da identidade responsável pela implantação da extensão. Revise os Logs de Atividade do Azure para determinar o endereço IP de origem, VM afetada e configuração da extensão. Realize forense de endpoint no sistema comprometido para avaliar a execução de comandos, identificar credenciais roubadas e detectar qualquer persistência não autorizada.
Fluxo de Ataque
Detecções
Python Inicia Processos Suspeitos (via process_creation)
Ver
Comando e Controle Suspeito por Solicitação de Domínio de Interações Fora de Banda (via dns)
Ver
Execução de Comando na VM do Azure (via azureactivity)
Ver
IOCs (SourceIP) para detectar: Execução de Comando em VM do Azure usando Extensões de Terceiros – Salt Minion
Ver
IOCs (DestinationIP) para detectar: Execução de Comando em VM do Azure usando Extensões de Terceiros – Salt Minion
Ver
Detectar Implantação Não Autorizada de Extensões de VM Maliciosas no Azure [Logs de Atividade do Azure]
Ver
Execução de Simulação
Pré-requisito: O Check de Pré-voo de Telemetria & Baseline deve ter passado.
Racional: Esta seção detalha a execução precisa da técnica do adversário (TTP) projetada para acionar a regra de detecção. Os comandos e a narrativa DEVEM refletir diretamente os TTPs identificados e visam gerar a telemetria exata esperada pela lógica de detecção. Exemplos abstratos ou não relacionados levarão a um diagnóstico incorreto.
-
Narrativa de Ataque & Comandos: O adversário obteve permissões suficientes dentro do Locatário do Azure (por exemplo, por meio de um Principal de Serviço comprometido ou Conta de Usuário com papéis de ‘Colaborador de Máquina Virtual’). Para estabelecer um ponto de apoio e executar comandos diretamente em uma VM alvo sem acesso SSH/RDP tradicional, o adversário opta por implantar uma “Custom Script Extension.” Esta técnica é altamente eficaz para contornar controles de rede baseados em endpoint. O adversário executará um comando Azure CLI para ‘escrever’ uma nova extensão na VM alvo. Esta ação gatilho
MICROSOFT.COMPUTE/VIRTUALMACHINES/EXTENSIONS/WRITEoperação nos Logs de Atividade do Azure, que é a telemetria exata que nossa regra de detecção foi projetada para capturar. -
Script de Teste de Regressão:
# Simulação: Implantando uma extensão fictícia para acionar a lógica de detecção 'EXTENSIONS/WRITE' # Substitua as variáveis pelos valores reais do seu ambiente de teste RESOURCE_GROUP="TestRG" VM_NAME="TestVM" EXTENSION_NAME="MaliciousSaltMinionSim" echo "Iniciando a simulação: Implantando extensão $EXTENSION_NAME para $VM_NAME..." az vm extension set --resource-group $RESOURCE_GROUP --vm-name $VM_NAME --name $EXTENSION_NAME --publisher Microsoft.Azure.Extensions --settings '{"commandToExecute": "echo "Simulação Bem-sucedida" > /tmp/pwned.txt"}' echo "Comando de simulação enviado. Verifique os Logs de Atividade do Azure para MICROSOFT.COMPUTE/VIRTUALMACHINES/EXTENSIONS/WRITE" -
Comandos de Limpeza:
# Limpeza: Remova a extensão maliciosa simulada para devolver o ambiente ao seu estado original RESOURCE_GROUP="TestRG" VM_NAME="TestVM" EXTENSION_NAME="MaliciousSaltMinionSim" echo "Limpando: Removendo extensão $EXTENSION_NAME..." az vm extension delete --resource-group $RESOURCE_GROUP --vm-name $VM_NAME --name $EXTENSION_NAME echo "Limpeza concluída."