> [!danger] CVSS 10.0 - Crítico > Pontuação máxima. Execução remota de código sem autenticação com privilégios de root. > [!warning] CISA KEV - Exploração Ativa Confirmada > Adicionada ao catálogo CISA Known Exploited Vulnerabilities em 2024-04-12. > [!success] Patch Disponível > Versões corrigidas: PAN-OS 10.2.9-h1, 11.0.4-h1, 11.1.2-h3. Aplicar imediatamente. # CVE-2024-3400 - Injeção de Comando no PAN-OS GlobalProtect > CVSS: 10.0 · EPSS: 97% · Vendor: Palo Alto Networks · Patch: Sim · CISA KEV: Sim ## Resumo **CVE-2024-3400** é uma vulnerabilidade crítica de injeção de comando no recurso GlobalProtect do [[_palo-alto-networks|Palo Alto Networks]] PAN-OS, que permite a um atacante não autenticado executar código arbitrário com privilégios de root no firewall. A falha recebeu a pontuação máxima CVSS de 10.0, refletindo a gravidade extrema do impacto. A vulnerabilidade foi descoberta pela equipe de pesquisa da [[Volexity]] e divulgada públicamente em abril de 2024. A exploração ativa foi detectada antes da disponibilização do patch, tornando-a uma vulnerabilidade zero-day. O grupo de ameaças [[uta0218]] foi identificado como o primeiro a explorar esta falha na campanha denominada [[operation-midnighteclipse|Operation MidnightEclipse]]. **Pontuação de risco:** - CVSS v3.1: **10.0** (Crítico) - EPSS: **97%** de probabilidade de exploração nos próximos 30 dias - CISA KEV: adicionado em 2024-04-12 - Exploit público: PoC disponível públicamente ## Cadeia de Exploração ```mermaid graph TB ATK[Atacante] -->|HTTP POST com SESSID malicioso| GP[PAN-OS GlobalProtect] GP -->|Path traversal no cookie| FS[Sistema de Arquivos] FS -->|Criação de arquivo arbitrário| TEL[Subsistema de Telemetria] TEL -->|Execução de comando como root| OS[Sistema Operacional] OS -->|Reverse shell / implant Sliver| C2[Servidor C2] C2 -->|Movimento lateral via firewall| NET[Rede Interna] ``` ## Detalhes Técnicos A vulnerabilidade reside na funcionalidade de telemetria do GlobalProtect, que utiliza o comando `curl` para enviar logs de um diretório temporário. Através de um valor malicioso no cookie `SESSID`, atacantes conseguem injetar comandos shell que são executados com privilégios de root via requisições HTTP POST não autenticadas. O vetor de ataque envolve: 1. Criação arbitrária de arquivos no sistema através de path traversal no SESSID 2. Injeção de comandos OS através da manipulação do processo de telemetria 3. Execução com privilégios de root sem necessidade de autenticação A falha afeta exclusivamente firewalls PAN-OS 10.2, 11.0 e 11.1 configurados com GlobalProtect gateway ou portal. Cloud NGFW, Panorama e Prisma Access não são afetados. ## Exploração **Status atual:** Exploração ativa confirmada em larga escala. A [[_palo-alto-networks|Palo Alto Networks]] confirmou um número crescente de ataques explorando esta vulnerabilidade. Provas de conceito foram divulgadas públicamente por terceiros, facilitando a exploração em massa. **Grupos de ameaça utilizando:** - [[uta0218]] - identificado como o primeiro ator a explorar a falha, observado em abril de 2024 **Campanhas associadas:** - [[operation-midnighteclipse|Operation MidnightEclipse]] - campanha de espionagem utilizando a CVE como vetor de acesso inicial **TTPs relacionadas:** - [[t1190-exploit-public-facing-application|T1190 - Exploit Public-Facing Application]] - exploração de aplicação exposta à internet - [[t1059-command-scripting-interpreter|T1059 - Command and Scripting Interpreter]] - injeção de comandos no sistema operacional ## Impacto Um atacante que explore esta vulnerabilidade com sucesso pode: - **Execução de código remoto:** executar comandos arbitrários com privilégios de root - **Comprometimento total:** controle completo do firewall, incluindo configurações de rede - **Movimentação lateral:** uso do firewall comprometido como pivô para a rede interna - **Exfiltração de dados:** acesso a logs, credenciais e tráfego de rede **Produtos Afetados:** | Vendor | Produto | Versão Afetada | Versão com Fix | |--------|---------|----------------|----------------| | Palo Alto Networks | PAN-OS 10.2 | < 10.2.9-h1 | 10.2.9-h1 | | Palo Alto Networks | PAN-OS 11.0 | < 11.0.4-h1 | 11.0.4-h1 | | Palo Alto Networks | PAN-OS 11.1 | < 11.1.2-h3 | 11.1.2-h3 | ## Mitigação **Patch oficial:** - Advisory: [Palo Alto Networks Security Advisory CVE-2024-3400](https://security.paloaltonetworks.com/CVE-2024-3400) - Versões corrigidas: PAN-OS 10.2.9-h1, 11.0.4-h1, 11.1.2-h3 e posteriores - Data de lançamento do patch: 2024-04-14 **Mitigações temporárias:** - Ativar Threat Prevention com Threat ID 95187 (requer assinatura ativa) - Desabilitar telemetria do dispositivo se não for necessária - Restringir acesso ao GlobalProtect via ACL de rede - Monitorar logs para requisições anômalas no endpoint do GlobalProtect ## Relevância LATAM/Brasil O PAN-OS da [[_palo-alto-networks|Palo Alto Networks]] possui ampla adoção em organizações brasileiras dos setores [[financial]], [[government]] e [[telecommunications|telecomúnicações]]. Firewalls Palo Alto são utilizados extensivamente em grandes bancos, órgãos governamentais e provedores de telecomúnicações no Brasil. O risco de exploração é elevado devido à disponibilidade de PoC público e à janela de exposição entre a divulgação e a aplicação de patches em ambientes corporativos brasileiros. ## IoCs Indicadores de comprometimento públicos associados à exploração: - Verificar presença de arquivos suspeitos em `/var/log/pan/sslvpn_ngx_error.log` - Monitorar requisições HTTP POST anômalas para o endpoint do GlobalProtect - Buscar criação de arquivos não autorizados em diretórios de telemetria Fonte: [Unit 42 - Operation MidnightEclipse](https://unit42.paloaltonetworks.com/CVE-2024-3400/) ## Referências - [NVD - CVE-2024-3400](https://nvd.nist.gov/vuln/detail/CVE-2024-3400) - [Palo Alto Networks Security Advisory](https://security.paloaltonetworks.com/CVE-2024-3400) - [Unit 42 - Operation MidnightEclipse](https://unit42.paloaltonetworks.com/CVE-2024-3400/) - [CISA KEV Catalog](https://www.cisa.gov/known-exploited-vulnerabilities-catalog) - [Rapid7 - CVE-2024-3400 Analysis](https://www.rapid7.com/blog/post/2024/04/12/etr-CVE-2024-3400-critical-command-injection-vulnerability-in-palo-alto-networks-firewalls-2/) ## Notas Relacionadas **CVEs relacionados:** [[cve-2024-0012|CVE-2024-0012]] · [[cve-2024-9474|CVE-2024-9474]] **Atores explorando:** [[uta0218]] **Campanhas:** [[operation-midnighteclipse|Operation MidnightEclipse]] **TTPs relacionadas:** [[t1190-exploit-public-facing-application|T1190 - Exploit Public-Facing Application]] · [[t1059-command-scripting-interpreter|T1059 - Command and Scripting Interpreter]] **Setores em risco:** [[financial]] · [[government]] · [[telecommunications|telecomúnicações]] --- ## Detecção e Resposta > [!warning] Aviso sobre as regras abaixo > As regras e consultas a seguir são **exemplos e pontos de partida**. Devem ser revisadas, > testadas e adaptadas ao seu ambiente específico antes de serem implantadas em produção. > Falsos positivos e negativos são esperados - tuning contínuo é necessário. Valide sempre > contra sua telemetria antes de ativar alertas. ### Splunk SPL ```spl index=paloalto (source="*/gpsvc.log" OR source="*/mp-log") "failed to unmarshal session" ( ("/../" OR "/.." OR "../" OR "./../" OR "%2E%2E%2F" OR "%252E%252E%252F" OR "%2F%2E%2E" OR "%252F%252E%252E" OR "%2E%2F%2E%2E%2F" OR "%252E%252F%252E%252E%252F") ) | rex field=_raw "failed to unmarshal session\((?<session_value>[^\)]+)\)" | stats count by src_ip, session_value, _time | sort -count ``` Fonte de dados requerida: PAN-OS GlobalProtect service logs (`/var/log/pan/gpsvc.log`, `/var/log/pan/mp-log`) ingeridos no Splunk via syslog ou agente. ```spl index=paloalto (source="*/device_telemetry_send.log" OR source="*/mp-monitor.log") ("/opt/panlogs/tmp/device_telemetry/" AND (wget OR curl OR base64 OR bash OR "{IFS}" OR "http://")) | stats count, values(_raw) by src_ip, _time | where count > 0 ``` Fonte de dados requerida: PAN-OS telemetry logs - indica exploração bem-sucedida do segundo estágio da cadeia de injeção. ### Microsoft Sentinel (KQL) ```kql CommonSecurityLog | where DeviceVendor == "Palo Alto Networks" | where Message contains "failed to unmarshal session" | where Message matches regex @"session\((?:\.\.\/|%2E%2E%2F|\/%2E%2E|%252E%252E%252F)" | project TimeGenerated, SourceIP, DestinationIP, Message, DeviceProduct | summarize ExploitAttempts = count() by SourceIP, bin(TimeGenerated, 5m) | where ExploitAttempts > 0 | sort by TimeGenerated desc ``` Tabela(s): `CommonSecurityLog` (PAN-OS via CEF/syslog). ```kql CommonSecurityLog | where DeviceVendor == "Palo Alto Networks" | where Message contains "/opt/panlogs/tmp/device_telemetry/" | where Message has_any ("curl", "wget", "bash", "base64", "{IFS}", "http://") | project TimeGenerated, SourceIP, DestinationIP, Message | sort by TimeGenerated desc ``` Tabela(s): `CommonSecurityLog` - detecta injeção de comando no subsistema de telemetria (segundo estágio). ### Sigma Rule ```yaml title: Detect CVE-2024-3400 Exploitation - PAN-OS GlobalProtect Command Injection id: f130a5f1-73ba-42f0-bf1e-b66a8361cb8f status: experimental description: > Detecta tentativas de exploração de CVE-2024-3400 - injeção de comando OS no GlobalProtect do PAN-OS via manipulação maliciosa do cookie SESSID. Monitora entradas "failed to unmarshal session" com valores contendo path traversal, e injeção de comando no segundo estágio via telemetria. references: - [[t1190-exploit-public-facing-application]] - [[t1059-command-scripting-interpreter]] - https://security.paloaltonetworks.com/CVE-2024-3400 - https://unit42.paloaltonetworks.com/CVE-2024-3400/ author: SigmaHQ (Nasreddine Bencherchali) / adaptado para RunkIntel date: 2024-04-18 modified: 2025-03-22 logsource: category: appliance product: paloalto service: globalprotect detection: keywords_traversal: - 'failed to unmarshal session(../' - 'failed to unmarshal session(./../' - 'failed to unmarshal session(/..' - 'failed to unmarshal session(%2E%2E%2F' - 'failed to unmarshal session(%2F%2E%2E' - 'failed to unmarshal session(%252E%252E%252F' - 'failed to unmarshal session(%252F%252E%252E' keywords_telemetry_cmd: - '{IFS}' - 'base64' - 'bash' - 'curl' - 'wget' - 'http' keywords_telemetry_path: - '/opt/panlogs/tmp/device_telemetry/' condition: keywords_traversal or (keywords_telemetry_cmd and keywords_telemetry_path) falsepositives: - Sessões legítimas mal formatadas em raras circunstâncias de bug de cliente VPN - Testes de penetração autorizados contra o ambiente GlobalProtect level: high tags: - attack.initial_access - attack.t1190 - attack.execution - attack.t1059 - cve.2024-3400 ``` ### EDR #### CrowdStrike Falcon Custom IOA Rule (Behavioral): Criar uma regra Custom IOA do tipo **Process Creation** monitorando processos filhos de `pan_comm`, `gpsvc`, ou `dt_curl` que executem `curl`, `wget`, `bash -c`, ou cargas codificadas em base64. Monitorar também conexões de rede de saída originadas de processos PAN-OS para IPs externos - especialmente portas não-padrão como 8089, 3939, 8880, 8084 e 9999, associadas ao framework C2 Sliver observado em ataques pós-exploração de CVE-2024-3400 pelo grupo UTA0218. Threat Graph Query (Falcon Data Replicator): ``` #event_simpleName=ProcessRollup2 | CommandLine=/base64|curl.*http|wget.*http|\/tmp\/.+/ | ParentBaseFileName IN (pan_comm, gpsvc, dt_curl, python3) | groupBy([SourceIPAddress, CommandLine, ParentBaseFileName]) ``` #### SentinelOne Deep Visibility Query: ``` EventType = "Process Creation" AND ( ProcessCmd CONTAINS "base64" OR ProcessCmd CONTAINS "/opt/panlogs/tmp/device_telemetry/" OR ProcessCmd CONTAINS "{IFS}" OR (ProcessCmd CONTAINS "curl" AND ProcessCmd CONTAINS "http") ) AND AgentOS = "linux" ``` #### Microsoft Defender for Endpoint (MDE) Advanced Hunting (KQL): ```kql DeviceNetworkEvents | where RemotePort !in (80, 443, 53) | where InitiatingProcessFileName has_any ("python3", "bash", "sh", "curl", "wget") | where RemoteIPType == "Public" | join kind=inner ( DeviceProcessEvents | where ProcessCommandLine has_any ("base64", "/opt/panlogs", "device_telemetry", "{IFS}") ) on DeviceId | project Timestamp, DeviceName, RemoteIP, RemotePort, InitiatingProcessFileName, ProcessCommandLine | sort by Timestamp desc ``` ### Firewall / Network #### Palo Alto Networks (PAN-OS) Ativar **Threat Prevention** nas interfaces GlobalProtect (gateway e portal) com as seguintes Threat IDs configuradas em modo **block**: - **Threat ID 95187** - detecção de path traversal no cookie SESSID - **Threat ID 95189** - variante de exploração pós-divulgação pública - **Threat ID 95191** - detecção de injeção de comando via telemetria Verificação: `curl -v -k -H "Cookie: SESSID=/../TESTVULN" https://<host>/global-protect/login.esp` - se retornar reset TCP (sem código HTTP), as assinaturas estão ativas corretamente. App-ID / Threat ID relevante: Threat IDs 95187, 95189, 95191 (conteúdo Applications and Threats versão 8836-8695 ou posterior). #### Fortinet FortiGate Habilitar inspeção de tráfego HTTPS e aplicar perfil IPS nos segmentos de rede que acessam o firewall PAN-OS. Criar regra customizada detectando requisições HTTP POST para os endpoints `/ssl-vpn/hipreport.esp` ou `/global-protect/login.esp` com cookies contendo sequências de path traversal (`../`, `%2E%2E`, `%252E%252E`). IPS Signature: Consultar o FortiGuard Outbreak Alert **"PAN-OS GlobalProtect CVE-2024-3400"** para assinaturas específicas públicadas via atualização de conteúdo FortiGuard.