# Playbook - Resposta a Exploração de FortiOS Legacy (CVE-2022-40684) > [!critical] CISA KEV - Bypass de Autenticação Ativo > CVE-2022-40684 (CVSS 9.8) é um authentication bypass no FortiOS, FortiProxy e FortiSwitchManager que permite a um atacante remoto não autenticado obter acesso administrativo via requisições HTTP crafted. Mesmo sendo de 2022, exploração ativa continua em 2025-2026 contra dispositivos não patcheados. > [!warning] Aviso de Aplicabilidade > Este playbook é um **ponto de partida** baseado em boas práticas públicas. Deve ser revisado, testado e adaptado ao ambiente específico da organização antes de uso em produção. Não substitui um plano formal de Resposta a Incidentes (IRP). Consulte sua equipe de segurança antes de executar qualquer ação de contenção em produção. ## Visão Geral A vulnerabilidade [[cve-2022-40684|CVE-2022-40684]] no [[_fortinet|FortiOS]] permite que um atacante remoto não autenticado acesse a interface administrativa do firewall via requisições HTTP especialmente construídas que exploram uma falha no mecanismo de autenticação. Com acesso administrativo, o adversário pode modificar regras de firewall, criar contas VPN, exfiltrar configurações com credenciais, e usar o dispositivo como ponto de pivot para a rede interna. O grupo [[unc5820]] e diversos outros atores de ameaça continuam explorando esta vulnerabilidade ativamente, direcionando scanners automatizados contra dispositivos Fortinet expostos na internet. A persistência desta exploração, anos após a públicação do patch, é explicada pelo volume massivo de dispositivos Fortinet em operação globalmente e pela resistência de muitas organizações em atualizar firewalls em produção. O vetor de ataque é trivial: uma requisição PUT para `/api/v2/cmdb/system/admin` com header `Forwarded: for="[127.0.0.1]:8000"` permite bypass completo da autenticação. Exploits públicos estão amplamente disponíveis. > [!latam] Impacto Regional > A Fortinet é o fabricante de NGFW com **maior market share no Brasil**, especialmente em empresas de médio porte, órgãos governamentais estaduais e municipais, e prestadores de serviços gerenciados (MSSPs). A combinação de ampla adoção com ciclos lentos de patching torna o Brasil um dos países mais expostos a esta vulnerabilidade. Em 2025, o CERT.br reportou múltiplos incidentes envolvendo FortiGate comprometidos como ponto de entrada para ransomware. --- ## Fluxo de Resposta ```mermaid graph TB D["Alerta: Exploração<br/>FortiOS Detectada"] --> T["Triagem:<br/>Confirmar CVE e Versão"] T --> C1["Contenção:<br/>Bloquear Acesso Admin"] C1 --> C2["Revogar Credenciais<br/>e Contas Criadas"] C2 --> I["Investigação:<br/>Logs + Config Audit"] I --> E["Erradicação:<br/>Patch + Config Reset"] E --> R["Recuperação:<br/>Hardening FortiOS"] R --> L["Lições:<br/>Gestão de Patches"] ``` **Legenda:** [[t1190-exploit-public-facing-application|T1190]] - [[t1078-valid-accounts|T1078]] - [[cve-2022-40684|CVE-2022-40684]] --- ## Indicadores de Acionamento Este playbook deve ser iniciado quando: - [ ] Scan de vulnerabilidades detecta FortiOS em versão vulnerável (< 7.2.2, < 7.0.7, < 6.4.10) - [ ] Logs do FortiGate mostram criação de conta administrativa não autorizada - [ ] IDS/IPS detecta requisição PUT com header `Forwarded: for="[127.0.0.1]"` - [ ] Alerta de threat intel sobre scanning massivo de FortiGate - [ ] Conta VPN desconhecida identificada no FortiGate - [ ] Notificação do CERT.br ou CTIR Gov sobre campanha ativa --- ## Fase 1 - Detecção > [!warning] Aviso sobre as queries abaixo > FortiOS tem logging próprio que deve ser encaminhado para SIEM via syslog. A qualidade da detecção depende de ter logging habilitado para eventos de administração, VPN e firewall. Verificar que FortiAnalyzer ou syslog forwarding está configurado. ### Detecção de Exploração Ativa #### Microsoft Sentinel (KQL) ```kql // Detectar requisições de exploit CVE-2022-40684 CommonSecurityLog | where DeviceVendor == "Fortinet" | where RequestURL has "/api/v2/cmdb/system/admin" | where RequestMethod == "PUT" | project TimeGenerated, SourceIP, DestinationIP, RequestURL, RequestMethod, Activity | order by TimeGenerated desc ``` ```kql // Detectar criação de contas administrativas no FortiGate Syslog | where Computer has "forti" or ProcessName has "forti" | where SyslogMessage has_any ( "super_admin", "admin added", "user added", "sshkey", "api-key", "trusthost") | where SyslogMessage has_any ("set", "create", "edit") | project TimeGenerated, Computer, SyslogMessage | order by TimeGenerated desc ``` Tabela(s): `CommonSecurityLog`, `Syslog` (FortiGate syslog) #### Splunk SPL ```spl index=fortinet sourcetype=fgt_event (action="login" status="success") (ui="https" OR ui="ssh") | stats count by src_ip, user, action, ui | where count > 5 | sort - count ``` ```spl index=fortinet sourcetype=fgt_event subtype=system ("super_admin" OR "admin" OR "api-key" OR "sshkey") ("added" OR "created" OR "changed") | table _time, devname, user, msg | sort - _time ``` ### Detecção via IDS/IPS ```kql // Signature de exploit em IDS (Suricata/Snort) CommonSecurityLog | where Activity has_any ("CVE-2022-40684", "FortiOS Auth Bypass") | project TimeGenerated, SourceIP, DestinationIP, Activity, DeviceAction | order by TimeGenerated desc ``` ### Detecção via WAF/Proxy ```kql // Requisições com header Forwarded malicioso AzureDiagnostics | where ResourceType == "APPLICATIONGATEWAYS" | where httpMethod_s == "PUT" | where requestUri_s has "/api/v2/cmdb" | where details_message_s has "Forwarded" and details_message_s has "127.0.0.1" | project TimeGenerated, clientIp_s, requestUri_s, httpMethod_s ``` --- ## Fase 2 - Triagem e Investigação ### Perguntas-chave a responder - [ ] Qual a versão exata do FortiOS? É vulnerável? - [ ] A interface administrativa está exposta à internet? - [ ] Há contas administrativas criadas recentemente que não são reconhecidas? - [ ] Há chaves SSH ou API keys novas na configuração? - [ ] As regras de firewall foram modificadas recentemente? - [ ] Há túneis VPN novos ou conexões VPN de IPs desconhecidos? - [ ] O FortiGate foi usado como pivot para acessar a rede interna? ### Auditoria de configuração do FortiGate ```bash # Comandos para executar no FortiGate CLI (via console serial ou SSH autorizado) # Listar todos os administradores get system admin # Verificar chaves SSH config system admin edit <admin_name> show ssh-public-key end # Verificar sessões ativas get system session list | grep -i admin # Verificar VPN tunnels get vpn ipsec tunnel summary get vpn ssl monitor # Verificar alterações recentes na configuração diagnose debug config-error-log read # Exportar configuração completa para análise offline execute backup full-config tftp <servidor_tftp> <nome_arquivo> ``` ### Queries de investigação - Atividade pós-exploração ```kql // Atividade administrativa pós-exploração no FortiGate Syslog | where Computer has "forti" | where SyslogMessage has_any ( "config firewall policy", "config vpn", "config router", "config user local", "config system interface") | project TimeGenerated, Computer, SyslogMessage | order by TimeGenerated asc ``` --- ## Fase 3 - Contenção > [!danger] Ação com Impacto Potencial > Restringir acesso administrativo ao FortiGate pode impactar operações de gerenciamento. Coordenar com a equipe de infraestrutura de rede. NUNCA desligar o firewall sem plano de failover - isso pode causar interrupção total de conectividade. ### Contenção imediata (primeiros 30 min) - [ ] Restringir acesso à interface administrativa a IPs de gerenciamento autorizados (trusted hosts) - [ ] Desabilitar acesso HTTPS/SSH na interface WAN imediatamente - [ ] Revogar todas as sessões administrativas ativas - [ ] Remover contas administrativas criadas pelo adversário - [ ] Remover chaves SSH e API keys não autorizadas - [ ] Bloquear IPs de origem do ataque nas regras de firewall ### Contenção de longo prazo - [ ] Aplicar patch para FortiOS 7.2.2+ ou 7.0.7+ ou 6.4.10+ - [ ] Implementar [[m1030-network-segmentation|M1030 - Network Segmentation]] para interface de gerenciamento - [ ] Habilitar MFA para acesso administrativo (FortiToken) - [ ] Configurar SIEM forwarding para todos os eventos de administração --- ## Fase 4 - Erradicação - [ ] Atualizar FortiOS para a versão mais recente disponível - [ ] Resetar TODAS as credenciais administrativas (incluindo root) - [ ] Regenerar certificados SSL do FortiGate - [ ] Auditar e restaurar configuração de firewall a partir de backup pré-incidente - [ ] Verificar se regras de NAT/port-forwarding foram adicionadas - [ ] Verificar todas as contas VPN (SSL-VPN e IPSec) - [ ] Remover qualquer script ou configuração de automação inseridos pelo adversário - [ ] Verificar se credenciais do FortiGate foram usadas em outros sistemas (password reuse) --- ## Fase 5 - Recuperação - [ ] Validar que FortiOS está na versão patcheada - [ ] Confirmar que interface administrativa não está exposta na WAN - [ ] Testar todas as regras de firewall para garantir funcionamento correto - [ ] Monitorar intensivamente por 72h: logins admin, mudanças de config, VPN connections - [ ] Habilitar FortiGuard IPS com signatures atualizadas - [ ] Documentar todas as mudanças feitas durante o incidente --- ## Automação SOAR ### Microsoft Sentinel Automation Rules 1. Trigger: detecção de requisição PUT para `/api/v2/cmdb/system/admin` com header Forwarded 2. Auto-consultar inventário de FortiGate para versão e exposure 3. Se vulnerável e exposto: criar incidente P1, notificar SOC e equipe de rede 4. Auto-bloquear IP de origem no Azure Firewall/NSG ### Splunk SOAR Playbook: `FortiOS Auth Bypass Response` 1. Trigger: alerta de IDS com signature CVE-2022-40684 2. Consultar CMDB para identificar FortiGate afetado 3. Via API FortiGate: listar admins, verificar sessões ativas 4. Se conta suspeita encontrada: desabilitar e criar ticket P1 ### Palo Alto Cortex XSOAR Playbook: `Fortinet Authentication Bypass` 1. Receber alerta de IDS/WAF 2. Enriquecer IP de origem (reputação, geolocalização) 3. Consultar FortiGate via API para auditoria rápida 4. Auto-remediar: restringir trusted hosts, revogar sessões --- ## Referência de Versões Vulneráveis | Produto | Versões Vulneráveis | Versão Corrigida | |---------|--------------------|-----------------:| | FortiOS | 7.2.0 - 7.2.1 | 7.2.2+ | | FortiOS | 7.0.0 - 7.0.6 | 7.0.7+ | | FortiOS | 6.4.0 - 6.4.9 | 6.4.10+ | | FortiProxy | 7.2.0 | 7.2.1+ | | FortiProxy | 7.0.0 - 7.0.6 | 7.0.7+ | | FortiSwitchManager | 7.2.0 | 7.2.1+ | | FortiSwitchManager | 7.0.0 | 7.0.1+ | --- ## Lições Aprendidas > [!note] Preencher após execução real > - O que funcionou conforme esperado? > - O que falhou ou precisou de adaptação? > - Quais regras de detecção geraram falsos positivos? > - O que deve ser ajustado neste playbook? --- ## Notas Relacionadas - [[cve-2022-40684|CVE-2022-40684]] - CVE principal (FortiOS auth bypass, CVSS 9.8) - [[t1190-exploit-public-facing-application|T1190 - Exploit Public-Facing Application]] - [[t1078-valid-accounts|T1078 - Valid Accounts]] - Contas criadas pelo adversário - [[t1133-external-remote-services|T1133 - External Remote Services]] - VPN como persistência - [[unc5820]] - Threat actor associado a exploração de Fortinet - [[_fortinet|Fortinet]] - Perfil do vendor - [[m1051-update-software|M1051 - Update Software]] - Mitigação primária - [[m1030-network-segmentation|M1030 - Network Segmentation]] - Proteger interface de gerenciamento - [[m1032-multi-factor-authentication|M1032 - Multi-factor Authentication]] - MFA para admin - [[ir-fortimanager-exploitation]] - Playbook relacionado (FortiManager) - [[ir-pan-os-exploitation]] - Playbook similar (Palo Alto exploitation) - [[hunting-initial-access-brokers]] - Hunting de acesso inicial via dispositivos de rede