A CISA incluiu a falha do Fortinet no catálogo KEV depois que a SOCRadar documentou uma campanha em curso, atribuída com alta confiança a um grupo de crime cibernético russófono, que já infectou 178 firewalls FortiGate com o PivotC2 — um remote access trojan construído especificamente para pós-exploração desses appliances. Os alvos primários são firewalls FortiGate com FortiOS e equipamentos FortiSwitchManager expostos à internet. A ação prioritária é aplicar as versões corrigidas do FortiOS e do FortiSwitchManager e bloquear o tráfego UDP do CAPWAP nas interfaces voltadas para a internet; quem encontrar artefatos da campanha deve tratar o appliance como comprometido e rotacionar todas as credenciais armazenadas no equipamento.
Como o ataque acontece
A raiz do problema é um estouro de buffer no daemon cw_acd, o processo do FortiOS e do FortiSwitchManager que gerencia access points pelo protocolo CAPWAP e escuta requisições de controle na porta UDP 5246. A falha, registrada como CVE-2025-25249, permite que um atacante remoto sem autenticação execute código arbitrário por meio de requisições forjadas. A Fortinet publicou o advisory FG-IR-25-084 em janeiro de 2026 e liberou correções; a exploração em massa, no entanto, começou a ser observada em julho de 2026 e segue ativa. Os controles ASLR e PIE elevam a complexidade da exploração, mas não impediram a operação.
A cadeia de ataque começa com um binário de exploração chamado fortirun.bin, orquestrado por scripts Bash e Python que repetem tentativas contra listas de endereços até obter sucesso. Depois da exploração, o atacante abre uma reverse shell via Node.js e executa um stager de uma linha que baixa o segundo estágio de um servidor remoto na porta 8443, decodifica o conteúdo em Base64, aplica descriptografia XOR com a chave pivot e grava o resultado no arquivo /tmp/.i.js. O implante roda como processo em segundo plano e sobrevive ao encerramento do processo Node.js que o originou.
O que o PivotC2 faz
O PivotC2 é um RAT escrito em Node.js, ainda em versão inicial de desenvolvimento, com fortes indícios de ter sido produzido com assistência de inteligência artificial: os comentários e guias de uso embutidos no código levaram os pesquisadores a essa avaliação. O padrão acompanha a industrialização de ataques descrita na análise do cenário do ransomware com IA em 2026. Do lado da rede, o cliente do RAT sempre inicia a conexão TLS de saída para o servidor de comando e controle, contornando regras de firewall que bloqueiam tráfego de entrada. Sobre um único socket, o protocolo multiplexa canais no estilo do SSH: shells interativos, execução de comandos, transferência de arquivos, proxy SOCKS5 e HTTP, redirecionamento local e remoto de portas, resolução DNS e varredura de portas em faixas CIDR.
O recurso mais sensível é a coleta de configuração. O RAT copia os arquivos de configuração global, de interfaces e de VDOMs, além do arquivo fsv_sync.dat, que guarda a chave secreta específica do dispositivo. Com essa chave, ele descriptografa campos protegidos por AES e recupera chaves pré-compartilhadas de VPN, credenciais de SSL-VPN, senhas de redes sem fio, credenciais de bind LDAP e contas de administrador — segredos diretamente reutilizáveis contra o restante do ambiente. Uma flag de modo automático transforma cada nova infecção em um pipeline autônomo: coleta de configuração, descriptografia de credenciais, extração das redes internas e varredura de sub-redes padrão, sem qualquer intervenção do operador.
Em duas organizações dos Estados Unidos, a intrusão passou do firewall: houve tunelamento interno, descoberta de hosts, roubo de credenciais de navegador, criação de relés SSH reversos, habilitação de RDP por alterações no registro e exfiltração de caixas de correio Exchange para armazenamento em nuvem controlado pelos atacantes. A SOCRadar avalia que o grupo, além de russófono, tem motivação financeira. A operação é distinta da FortiBleed, conduzida por grupos de ransomware, mas o manual é o mesmo: tratar o firewall de borda como a rota mais barata para dentro da empresa, colher os segredos guardados nele e reutilizar as credenciais para avançar na rede.
Sinais de comprometimento
Como o Node.js faz parte legitimamente do FortiOS, nomes de processo isolados não são um sinal confiável. A verificação mínima cobre os três artefatos conhecidos desta campanha e deve ser feita na CLI do appliance:
| Verificação | Comando | O que procurar |
|---|---|---|
| Sessões para o C2 | diagnose sys session filter daddr 46.151.29.58 (repetir para 146.103.99.177) e depois diagnose sys session list | Sessões ativas para os dois endereços de comando e controle |
| Arquivo do stager | fnsysctl ls -la /tmp/ | Arquivo.i.js no diretório temporário |
| Processos suspeitos | diagnose sys process list | Processos node sem justificativa operacional |
No ambiente interno, a busca deve cobrir os quatro movimentos observados nas intrusões confirmadas: alterações de registro que habilitam RDP, relés SSH reversos, acesso a credenciais de navegador e transferências de saída para armazenamento em nuvem. Qualquer um desses sinais transforma o caso de correção de perimeter em resposta a incidente.
Correção e contenção
A correção definitiva é a atualização para as versões corrigidas. A tabela resume os caminhos de upgrade documentados pelo fabricante:
| Produto | Versões afetadas | Correção |
|---|---|---|
| FortiOS 7.6 | 7.6.0 a 7.6.3 | 7.6.4 ou superior |
| FortiOS 7.4 | 7.4.0 a 7.4.8 | 7.4.9 ou superior |
| FortiOS 7.2 | 7.2.0 a 7.2.11 | 7.2.12 ou superior |
| FortiOS 7.0 | 7.0.0 a 7.0.17 | 7.0.18 ou superior |
| FortiOS 6.4 | Todas as versões | Consultar o advisory do fabricante |
| FortiSwitchManager 7.2 | 7.2.0 a 7.2.6 | 7.2.7 ou superior |
| FortiSwitchManager 7.0 | 7.0.0 a 7.0.5 | 7.0.6 ou superior |
Para quem não pode aplicar o patch de imediato, a mitigação é reduzir a superfície: desabilitar o serviço de fabric nas interfaces externas ou criar uma política local-in que descarte o tráfego UDP de entrada nas portas 5246 a 5249. A prioridade de execução sugerida:
- P1: inventariar appliances expostos, aplicar as versões corrigidas e bloquear o CAPWAP nas interfaces voltadas para a internet.
- P1: executar as três verificações da tabela de sinais em todo FortiGate de borda.
- P2: revisar logs de sessão retroativos para os endereços de comando e controle conhecidos, priorizando os appliances com exposição mais antiga.
- P2: documentar o escopo da verificação e o resultado por appliance, mesmo quando nada for encontrado.
Por que o patch não basta
Aplicar a correção fecha o caminho de exploração, mas não remove um implante em execução nem apaga as credenciais já colhidas. Um appliance com artefatos confirmados deve ser reconstruído a partir de um estado conhecido como bom, e não apenas atualizado, seguindo a disciplina de evidência e recuperação pós-incidente. Em seguida, é obrigatório rotacionar senhas de administrador, credenciais de SSL-VPN, segredos de bind LDAP, chaves de redes sem fio e chaves pré-compartilhadas de IPSec — na ordem em que forem encontradas nos arquivos de configuração. Presumir que a configuração inteira foi exfiltrada é a única postura compatível com o que o RAT consegue descriptografar.