Pesquisadores da FortiGuard Labs identificaram o C0XMO, uma nova variante do botnet Gafgyt que explora o CVE-2021-27137 em roteadores DD-WRT para se propagar. O malware compila binários para sete arquiteturas de processadores, elimina botnets concorrentes e executa 19 tipos de ataques DDoS. A campanha atingiu uma empresa de tecnologia no Japão.
Como a infecção acontece
O vetor de entrada é o CVE-2021-27137, uma vulnerabilidade de stack buffer overflow no serviço UPnP de firmwares DD-WRT anteriores ao changeset 45723. A falha reside no parser SSDP, que não trata corretamente valores ST:uuid: excessivos em requisições M-SEARCH enviadas pela porta UDP 1900. O exploit permite execução remota de código no roteador comprometido.
Após explorar o firmware vulnerável, o atacante faz o download do malware para /tmp/.cache. O IP de origem do ataque foi rastreado até a Alemanha, embora o alvo fosse uma empresa japonesa. Segundo a GBHackers, a campanha marca uma mudança técnica no design de malware IoT: a separação do scanner e da propagação em componentes distintos.
Multiarquitetura e script Python
A principal inovação do C0XMO em relação a variantes anteriores do Gafgyt é a separação do mecanismo de propagação em um script Python independente. Enquanto a maioria dos botnets embute a funcionalidade de scan no próprio binário, o C0XMO delega essa tarefa a um componente externo, permitindo ao operador atingir uma gama mais ampla de dispositivos sem recompilar o malware.
O botnet é distribuído em binários compilados para sete arquiteturas: ARM, MC68000, MIPS R3000, PowerPC, SuperH, Intel 80386 e AMD64. Essa cobertura abrange desde roteadores domésticos e câmeras IP até servidores convencionais.
Persistência e eliminação de rivais
Após a infecção, o C0XMO implementa persistência em múltiplas camadas: copia-se para diretórios ocultos como /tmp/.sys, /var/tmp/.sys e /dev/shm/.sys, configura cron jobs para execução a cada 15 minutos e adiciona comandos em ~/.bashrc, ~/.profile e ~/.bash_profile. Se o processo for encerrado, o malware se reexecuta automaticamente.
O C0XMO escaneia todos os processos ativos em /proc e compara os nomes com uma lista negra interna que inclui outros botnets, ferramentas de rede, utilitários de programação e ferramentas de red team. Processos correspondentes são terminados e seus binários deletados, junto com mecanismos de persistência concorrentes como cron jobs, rc.local e init.d.
19 métodos de ataque DDoS
O C0XMO se conecta ao servidor de comando e controle em 85[.]215[.]131[.]70 através de um handshake personalizado com strings mágicas e uma chave secreta compartilhada. O malware suporta 19 métodos distintos de ataque DDoS.
| Comando | Função | Tipo de Ataque |
|---|---|---|
| attack_udp_bypass | UDP Bypass Flood | UDP |
| attack_tcp_bypass | TCP Flood | TCP |
| attack_syn | TCP SYN Flood | TCP |
| attack_ovh_tcp | OVH Bypass TCP | TCP |
| attack_ovh_udp | OVH Bypass UDP | UDP |
| attack_ntp | NTP Amplification | Amplificação |
| attack_memcached | Memcached Amplification | Amplificação |
| attack_http_storm | HTTP Request Storm | HTTP |
| attack_http_cfb | Cloudflare Bypass Flood | HTTP |
| attack_discord2 | Discord Voice UDP Flood | UDP |
O arsenal inclui técnicas de amplificação (NTP e Memcached), bypass de proteções anti-DDoS (OVH e Cloudflare) e ataques direcionados a plataformas de jogos (Valve Source Engine, FiveM, Discord). A diversidade permite ao operador adaptar o ataque ao perfil de cada alvo.
Mitigação para redes corporativas
Como o C0XMO explora o CVE-2021-27137, a primeira linha de defesa é garantir que roteadores DD-WRT estejam em versões iguais ou posteriores ao changeset 45723. Dispositivos IoT e Linux expostos à internet devem ter a porta UDP 1900 filtrada no firewall, impedindo requisições SSDP maliciosas.
Administradores devem monitorar a presença de arquivos ocultos como /tmp/.sys e /var/tmp/.sys, cron jobs com intervalos de 15 minutos e processos suspeitos em diretórios temporários. A conexão com o IP do C2 (85.215.131.70) deve ser bloqueada em todas as saídas da rede. Equipamentos IoT não devem ter interfaces de gerenciamento acessíveis pela internet — use VPN ou redes segregadas para acesso administrativo.