SOC Prime Bias: Crítico

05 Jun 2026 15:40 UTC

C0XMO: Uma Nova Variante do Gafgyt com Propagação Multiplataforma

Author Photo
SOC Prime Team linkedin icon Seguir
C0XMO: Uma Nova Variante do Gafgyt com Propagação Multiplataforma
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumo

O FortiGuard Labs identificou uma nova variante do botnet Gafgyt chamada C0XMO que se propaga explorando uma falha de estouro de buffer em roteadores DD-WRT rastreada como CVE-2021-27137. O malware usa um scanner separado baseado em Python para ampliar infecções em diferentes arquiteturas de CPU, enquanto também se apoia em ataques de credenciais fracas, várias capacidades de DDoS e rotinas para remover malware concorrente. Após a infecção, ele estabelece persistência por meio de arquivos ocultos, tarefas cron e alterações de perfis de shell antes de contatar seu servidor de comando e controle. O relatório também inclui indicadores e orientações defensivas para organizações que operam dispositivos IoT expostos.

Investigação

A análise mostra que o C0XMO abusa CVE-2021-27137 do serviço UPnP do DD-WRT para obter o acesso inicial, em seguida recupera um scanner em Python de 217.160.125.125:15527. Esse scanner realiza tentativas de força bruta de Telnet e SSH, lança vários pedidos de exploração baseados em HTTP e implanta binários específicos de arquitetura dependendo do ambiente alvo. A persistência é mantida por meio de arquivos ocultos colocados em locais como /tmp, /var/tmp, /dev/shm, e diretórios de usuários, juntamente com entradas de tarefa cron e edições de perfil de shell. O malware então se comunica com sua infraestrutura C2 em 85.215.131.70 usando uma sequência de handshake personalizada.

Mitigação

As organizações devem atualizar o firmware DD-WRT para uma versão mais recente que o conjunto de alterações 45723 e aplicar correções para todos os CVEs relacionados. Serviços remotos desnecessários, como UPnP, Telnet e SSH, devem ser desativados em dispositivos voltados para a internet sempre que possível. Credenciais fortes e únicas devem ser aplicadas em todos os dispositivos de borda e os serviços expostos devem ser revisados regularmente. Detecções baseadas em rede também devem ser implantadas para os endereços IP, portas e padrões de comando maliciosos identificados associados à campanha.

Resposta

Os defensores devem monitorar o tráfego de saída em busca de conexões com a infraestrutura de C2 conhecida e a porta de download do scanner. Alertas devem ser configurados para arquivos ocultos nomeados .sys, alterações de cron que são executadas a cada 15 minutos e execução do script do scanner. Os IPs e domínios maliciosos identificados devem ser bloqueados no firewall, e quaisquer dispositivos comprometidos devem ser isolados para análise forense e limpeza completa.

graph TB %% Definições de classes classDef technique fill:#ffcc99 classDef action fill:#99ff99 classDef malware fill:#ff9999 classDef tool fill:#ccccff classDef process fill:#ffdd66 %% Nós tech_scanning[“<b>Técnica</b> – <b>T1595.002 Varredura Ativa</b><br/><b>Descrição</b>: Analisa intervalos de IP em busca de portas abertas e serviços vulneráveis.”] class tech_scanning technique tech_exploit_upnp[“<b>Técnica</b> – <b>T1546.017 Execução Acionada por Evento: Regras Udev</b><br/><b>Descrição</b>: Aciona a execução de código por meio de mensagens UDP M-SEARCH manipuladas explorando a CVE-2021-27137 em UPnP.”] class tech_exploit_upnp technique tech_exploit_other[“<b>Técnica</b> – <b>T1210 Exploração de Serviços Remotos</b><br/><b>Descrição</b>: Explora vulnerabilidades adicionais em HTTP/UPnP, como CVE-2015-2051 e CVE-2022-35914.”] class tech_exploit_other technique tech_hijack_exec[“<b>Técnica</b> – <b>T1574.005 Sequestro do Fluxo de Execução: Fragilidade de Permissões em Arquivos Instaladores Executáveis</b><br/><b>Descrição</b>: Coloca binários ELF maliciosos em locais ocultos com permissões de execução.”] class tech_hijack_exec technique tech_persistence_cron[“<b>Técnica</b> – <b>T1053.003 Tarefa/Trabalho Agendado: Cron</b><br/><b>Descrição</b>: Cria uma tarefa cron para executar a carga útil a cada 15 minutos.”] class tech_persistence_cron technique tech_shell_mod[“<b>Técnica</b> – <b>T1546.004 Execução Acionada por Evento: Modificação da Configuração do Shell Unix</b><br/><b>Descrição</b>: Acrescenta comandos a ~/.bashrc, ~/.profile e ~/.bash_profile.”] class tech_shell_mod technique tech_compromise_binary[“<b>Técnica</b> – <b>T1554 Comprometimento de Binário de Software do Host</b><br/><b>Descrição</b>: Instala ou substitui binários em locais ocultos para manter o controle.”] class tech_compromise_binary technique tech_bruteforce[“<b>Técnica</b> – <b>T1110 Força Bruta</b><br/><b>Descrição</b>: Realiza ataques de adivinhação de credenciais contra Telnet e SSH.”] class tech_bruteforce technique tech_forced_auth[“<b>Técnica</b> – <b>T1187 Autenticação Forçada</b><br/><b>Descrição</b>: Aproveita credenciais padrão ou fracas para obter acesso.”] class tech_forced_auth technique tech_remote_ssh[“<b>Técnica</b> – <b>T1021.004 Serviços Remotos: SSH</b><br/><b>Descrição</b>: Utiliza credenciais roubadas para iniciar sessão em dispositivos adicionais via SSH/Telnet.”] class tech_remote_ssh technique tech_indicator_removal[“<b>Técnica</b> – <b>T1070.009 Remoção de Indicadores: Limpar Persistência</b><br/><b>Descrição</b>: Encerra e remove binários de malware concorrentes e mecanismos de persistência.”] class tech_indicator_removal technique tech_exclusive_control[“<b>Técnica</b> – <b>T1668 Controle Exclusivo</b><br/><b>Descrição</b>: Remove ficheiros e tarefas cron de botnets rivais para manter o controlo exclusivo.”] class tech_exclusive_control technique tech_nonstandard_port[“<b>Técnica</b> – <b>T1571 Porta Não Padronizada</b><br/><b>Descrição</b>: Comunica com o C2 através da porta TCP 15527 utilizando um protocolo personalizado.”] class tech_nonstandard_port technique malware_c0xmo[“<b>Malware</b> – C0XMO<br/><b>Função</b>: Carga útil de botnet que executa varredura, exploração e persistência.”] class malware_c0xmo malware process_upnp_exploit[“<b>Processo</b> – Enviar mensagem UDP M-SEARCH manipulada”] class process_upnp_exploit process process_elf_deploy[“<b>Processo</b> – Implantar binários ELF em /tmp/.sys, /var/tmp/.sys, /dev/shm/.sys”] class process_elf_deploy process process_cron_setup[“<b>Processo</b> – Escrever entrada cron para cada 15 minutos”] class process_cron_setup process process_shell_mod[“<b>Processo</b> – Acrescentar chamada da carga útil aos ficheiros rc do shell”] class process_shell_mod process process_brute[“<b>Processo</b> – Analisar IPs e realizar força bruta em Telnet/SSH”] class process_brute process process_c2[“<b>Processo</b> – Manter canal C2 na porta 15527”] class process_c2 process %% Conexões tech_scanning –>|leva_a| tech_exploit_upnp tech_scanning –>|também_aciona| tech_exploit_other tech_exploit_upnp –>|executa| process_upnp_exploit process_upnp_exploit –>|instala| malware_c0xmo malware_c0xmo –>|coloca| tech_hijack_exec tech_hijack_exec –>|resulta_em| process_elf_deploy process_elf_deploy –>|habilita| tech_compromise_binary tech_compromise_binary –>|suporta| tech_persistence_cron tech_compromise_binary –>|suporta| tech_shell_mod tech_persistence_cron –>|cria| process_cron_setup tech_shell_mod –>|cria| process_shell_mod malware_c0xmo –>|executa| tech_bruteforce malware_c0xmo –>|executa| tech_forced_auth tech_bruteforce –>|habilita| process_brute tech_forced_auth –>|habilita| process_brute process_brute –>|obtém_credenciais_para| tech_remote_ssh tech_remote_ssh –>|propaga_se_para_outros_hosts| malware_c0xmo malware_c0xmo –>|remove_concorrência_por_meio_de| tech_indicator_removal malware_c0xmo –>|mantém_controle_exclusivo_por_meio_de| tech_exclusive_control malware_c0xmo –>|comunica_com_C2_por_meio_de| tech_nonstandard_port tech_nonstandard_port –>|utiliza| process_c2

Fluxo de Ataque

Execução de Simulação

Pré-requisito: O Check Pre-flight de Telemetria & Baseline deve ter passado.

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 do Ataque & Comandos:
    O bot do adversário, já instalado no host comprometido via execução de serviço (T1546.007), inicia um handshake C2 com o servidor codificado 217.160.125.125 na porta 15527. A conexão usa um socket TCP simples para puxar comandos, correspondendo exatamente aos critérios da regra. Esta atividade é típica do comportamento “phone‑home” do botnet C0XMO.

  • Script de Teste de Regressão:

    # Simulação de comunicação C2 C0XMO – aciona a regra Sigma
    $c2Ip = "217.160.125.125"
    $c2Port = 15527
    
    # Abre uma conexão TCP, envia uma carga útil mínima, depois fecha
    $client = New-Object System.Net.Sockets.TcpClient
    $client.Connect($c2Ip, $c2Port)
    
    $stream = $client.GetStream()
    $payload = [System.Text.Encoding]::ASCII.GetBytes("PING`n")
    $stream.Write($payload, 0, $payload.Length)
    
    # Aguarda brevemente para imitar latência realista
    Start-Sleep -Seconds 2
    
    $stream.Close()
    $client.Close()
  • Comandos de Limpeza:

    # Nenhuma mudança persistente foi feita; apenas certifique-se de que quaisquer sockets abertos estejam fechados
    # (O script já fecha o socket; isso é uma rede de segurança.)
    Get-Process -Name "powershell" | Where-Object { $_.MainWindowTitle -eq "" } | Stop-Process -Force