C0XMO: Uma Nova Variante do Gafgyt com Propagação Multiplataforma
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.
Fluxo de Ataque
Detecções
Possível Uso de Crontab para Execução Direta (via linha de comando)
Ver
Upload / Download de Arquivo Remoto via Ferramentas Padrão (via linha de comando)
Ver
Arquivo Oculto Foi Criado no Host Linux (via file_event)
Ver
IOCs (HashSha256) para detectar: Dentro da Propagação Cruzada de uma Nova Variante do Gafgyt C0XMO
Ver
IOCs (SourceIP) para detectar: Dentro da Propagação Cruzada de uma Nova Variante do Gafgyt C0XMO
Ver
IOCs (DestinationIP) para detectar: Dentro da Propagação Cruzada de uma Nova Variante do Gafgyt C0XMO
Ver
Detecção de Comunicação C2 do Botnet C0XMO [Firewall]
Ver
Detecção de Download de Payload da Variante Gafgyt C0XMO [Criação de Processo Linux]
Ver
Detecção de Operações de Arquivo de Malware C0XMO [Evento de Arquivo Linux]
Ver
Verificação de Escaneamento e Persistência de Processo C0XMO [Criação de Processo Linux]
Ver
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