SOC Prime Bias: Crítico

11 Aug 2026 06:12 UTC

CrowdStrike Caça Ofuscação de Comandos Shell no VMware ESXi

Author Photo
SOC Prime Team linkedin icon Seguir
CrowdStrike Caça Ofuscação de Comandos Shell no VMware ESXi
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumo

Adversários estão cada vez mais mirando hipervisores VMware ESX com sofisticadas obfuscações de comandos shell projetadas para evitar a detecção. Atores de ameaça usam técnicas que vão desde codificação hexadecimal básica até cifras criptográficas avançadas e caracteres Unicode invisíveis injetados no shell BusyBox. Esses métodos permitem que invasores executem comandos maliciosos, incluindo desativar syslogs ou criptografar máquinas virtuais, enquanto minimizam traços legíveis nos logs padrão do shell.

Investigação

Pesquisadores da CrowdStrike avaliaram sistematicamente 21 diferentes técnicas de obfuscação dentro de um ambiente controlado ESX 7.0.3. Eles agruparam esses métodos em seis categorias: sequências de escape, geração de caracteres, injeção Unicode, codificação criptográfica, cargas úteis com chave de infraestrutura e sistemas de codificação alternativos. A pesquisa confirmou que essas técnicas podem contornar a detecção tradicional baseada em palavras-chave explorando diferenças entre como os comandos são analisados e, finalmente, executados.

Mitigação

Equipes de segurança devem ir além da detecção básica baseada em palavras-chave e adotar regras de correlação baseadas em regex que identifiquem os padrões sintáticos comumente associados à obfuscação. Plataformas avançadas de SIEM, como o CrowdStrike Falcon Next-Gen SIEM, podem ajudar a detectar esses comportamentos em telemetria de shell ESX. Manter uma linha de base confiável de atividade administrativa normal também é essencial para identificar a execução anômala de shell.

Resposta

Se a execução de comandos obfuscados for detectada, os respondedores de incidentes devem isolar o host ESX afetado imediatamente para limitar o movimento lateral ou a criptografia de VM. Logs do shell devem ser analisados em busca de padrões de obfuscação conhecidos para reconstruir os comandos que foram realmente executados. Os respondedores devem também investigar a persistência por meio de tarefas agendadas ou configurações do sistema modificadas e verificar a integridade do sistema de arquivos VMFS.

Fluxo de Ataque

Execução de Simulação

Pré-requisito: A Verificação Pré-voo de Telemetria e Linha de Base deve ter sido aprovada.

Justificativa: 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.

  • Narrativa de Ataque e Comandos: O adversário obteve acesso ao shell de um host VMware ESX. Para evitar a detecção por ferramentas de segurança que buscam pela palavra-chave esxcli, o invasor usa um comando awk para gerar a string esxcli usando valores decimais ASCII e em seguida passa para system(). Esta técnica é usada para realizar mudanças de configuração (por exemplo, redefinição de hosts de log) enquanto permanece invisível para filtros simples de correspondência de padrão.

  • Script de Teste de Regressão: Este script executa uma das cargas úteis específicas definidas na lógica de detecção para verificar o acionamento da regra.

    #!/bin/bash
    # Script de simulação para acionar a regra 'Detecção de Comando Obfuscado no VMware ESX'.
    
    echo "[+] Iniciando Simulação: Execução de Comando Obfuscado"
    
    # Carga Útil 1: Usando printf dentro de um sub-shell para ocultar 'esxcli'
    echo "[+] Executando Carga Útil 1 (obfuscação com printf)..."
    $(printf "x65x73x78x63x6cx69") system syslog config get
    
    # Carga Útil 2: Usando awk para reconstruir 'esxcli' via códigos decimais ASCII
    echo "[+] Executando Carga Útil 2 (reconstrução com awk em ASCII)..."
    awk 'BEGIN{printf "%c%c%c%c%c%c",101,115,120,99,108,105} system " syslog config get"'
    
    echo "[+] Simulação Completa. Verifique o SIEM para alertas."
  • Comandos de Limpeza: Como esses comandos são projetados para serem não destrutivos (usando config get), é necessário um mínimo de limpeza. No entanto, para garantir que nenhuma alteração persistente foi feita se um comando foi usado: get or config get), é necessário um mínimo de limpeza. No entanto, para garantir que nenhuma alteração persistente foi feita se um comando foi usado: set comando foi usado:

    # Nenhuma ação destrutiva foi realizada nesta simulação. 
    # Se um comando 'set' foi usado, reverta para a configuração original.
    echo "[+] Limpeza: Nenhuma alteração foi feita na configuração do sistema."