> [!danger] CVSS 9.0 - Crítico > Stack buffer overflow permite RCE sem autenticação em appliances VPN Ivanti. > [!warning] CISA KEV - Exploração Ativa Confirmada > Adicionada ao catálogo CISA KEV em 2025-01-08. Explorada como zero-day desde dezembro de 2024. > [!success] Patch Disponível > Ivanti Connect Secure 22.7R2.5. Executar ICT antes e depois do patch. Factory reset se comprometido. # CVE-2025-0282 - Stack Buffer Overflow no Ivanti Connect Secure > CVSS: 9.0 · EPSS: 92% · Vendor: Ivanti · Patch: Sim · CISA KEV: Sim ## Resumo **CVE-2025-0282** é uma vulnerabilidade crítica de stack-based buffer overflow no [[_ivanti|Ivanti]] Connect Secure, Policy Secure e Neurons for ZTA gateways. A falha permite que um atacante remoto não autenticado execute código arbitrário nos appliances afetados, alcançando comprometimento total do dispositivo. A vulnerabilidade foi identificada como zero-day pela [[_intel/sources|Mandiant]], com exploração ativa detectada desde meados de dezembro de 2024. A [[_ivanti|Ivanti]] disponibilizou patches para o Connect Secure em 8 de janeiro de 2025. O malware [[RESURGE]] foi identificado como uma das payloads implantadas através desta vulnerabilidade. **Pontuação de risco:** - CVSS v3.1: **9.0** (Crítico) - EPSS: **92%** de probabilidade de exploração nos próximos 30 dias - CISA KEV: adicionado em 2025-01-08 - Exploit público: PoCs disponíveis no GitHub ## Cadeia de Exploração ```mermaid graph TB ATK[Atacante / UNC5337] -->|Pacote IFT com clientCapabilities oversized| ICS[Ivanti Connect Secure] ICS -->|strncpy sem validação de tamanho| OVFL[Stack Buffer Overflow] OVFL -->|Corrupção de endereço de retorno| RCE[Execução de Código Arbitrário] RCE -->|Deploy do malware RESURGE| BACK[Persistência no Appliance] BACK -->|Túnel reverso e C2| C2[Servidor C2] C2 -->|Espionagem de credenciais VPN| CRED[Credenciais Comprometidas] ``` ## Detalhes Técnicos A vulnerabilidade é um stack-based buffer overflow causado por verificação inadequada de limites ao processar pacotes IFT de clientes não autenticados. O mecanismo técnico: 1. O processo web do Ivanti aceita um valor `clientCapabilities` em pacotes IFT 2. O código utiliza `strncpy` com o comprimento da fonte em vez do tamanho do destino 3. Isso produz uma escrita fora dos limites em um buffer de stack de 256 bytes 4. A corrupção de endereços de retorno e ponteiros vtable permite execução de código arbitrário A exploração permite ao atacante: - Sobrescrever memória no stack - Corromper o fluxo de execução - Executar código arbitrário com privilégios do processo web ## Exploração **Status atual:** Exploração zero-day ativa confirmada desde dezembro de 2024. A [[_intel/sources|Mandiant]] identificou exploração zero-day desde meados de dezembro de 2024. O malware [[RESURGE]] foi implantado em dispositivos comprometidos para manter persistência. **Grupos de ameaça utilizando:** - [[unc5337]] - grupo identificado pela Mandiant explorando a vulnerabilidade - [[unc5221]] - grupo com histórico de exploração de vulnerabilidades Ivanti **Campanhas associadas:** - [[Ivanti Connect Secure Zero-Day Campaign 2025]] - campanha de exploração zero-day no início de 2025 **TTPs relacionadas:** - [[t1190-exploit-public-facing-application|T1190 - Exploit Public-Facing Application]] - exploração do Connect Secure exposto - [[t1059-command-scripting-interpreter|T1059 - Command and Scripting Interpreter]] - execução de comandos após exploração - [[t1505-003-web-shell|T1505.003 - Web Shell]] - implantação de web shells para persistência ## Impacto Um atacante que explore esta vulnerabilidade pode: - **Execução de código remoto:** controle total do appliance VPN sem autenticação - **Implantação de malware:** instalação de backdoors persistentes como [[RESURGE]] - **Roubo de credenciais:** captura de credenciais de todos os usuários da VPN - **Acesso à rede interna:** pivô para a rede corporativa via appliance VPN comprometido **Produtos Afetados:** | Vendor | Produto | Versão Afetada | Versão com Fix | |--------|---------|----------------|----------------| | Ivanti | Connect Secure | < 22.7R2.5 | 22.7R2.5 | | Ivanti | Policy Secure | < 22.7R1.2 | 22.7R1.2 (jan/2025) | | Ivanti | Neurons for ZTA | < 22.7R2.3 | 22.7R2.3 (jan/2025) | ## Mitigação **Patch oficial:** - Advisory: [Ivanti Security Advisory - CVE-2025-0282](https://forums.ivanti.com/s/article/Security-Advisory-Ivanti-Connect-Secure-Policy-Secure-ZTA-Gateways-CVE-2025-0282-CVE-2025-0283) - Ivanti Connect Secure: patch 22.7R2.5 disponível desde 2025-01-08 - Policy Secure e Neurons for ZTA: patches disponibilizados em janeiro de 2025 **Ações recomendadas:** 1. Executar a ferramenta ICT (Integrity Checker Tool) da Ivanti antes e depois do patch 2. Se sinais de comprometimento forem detectados, realizar factory reset antes do patch 3. Rotacionar todas as credenciais após aplicação do patch 4. Monitorar logs para atividade anômala pós-patch **Mitigações temporárias:** - Restringir acesso ao appliance por geolocalização - Implementar monitoramento adicional de tráfego de rede - Considerar desconexão do appliance se comprometimento for suspeito ## Relevância LATAM/Brasil O [[_ivanti|Ivanti]] Connect Secure continua sendo uma solução VPN amplamente utilizada em organizações brasileiras dos setores [[financial]], [[government]] e [[technology]]. O histórico recorrente de vulnerabilidades zero-day no Ivanti Connect Secure (incluindo [[cve-2024-21887|CVE-2024-21887]] e [[cve-2023-46805|CVE-2023-46805]]) levanta questões sobre a postura de segurança do produto. Organizações brasileiras que utilizam Ivanti devem priorizar a aplicação de patches e considerar soluções complementares de monitoramento. ## IoCs Indicadores de comprometimento públicos: - Presença do malware [[RESURGE]] no appliance - Modificações não autorizadas em arquivos do sistema - Conexões de saída para infraestrutura C2 conhecida - Resultados anômalos da ferramenta ICT da Ivanti - Processos web com comportamento irregular Fontes: [Mandiant - Ivanti Zero-Day Analysis](https://cloud.google.com/blog/topics/threat-intelligence/ivanti-connect-secure-vpn-zero-day), [Unit 42 - CVE-2025-0282 Threat Brief](https://unit42.paloaltonetworks.com/threat-brief-ivanti-CVE-2025-0282-CVE-2025-0283/) ## Referências - [NVD - CVE-2025-0282](https://nvd.nist.gov/vuln/detail/CVE-2025-0282) - [Ivanti Security Advisory](https://forums.ivanti.com/s/article/Security-Advisory-Ivanti-Connect-Secure-Policy-Secure-ZTA-Gateways-CVE-2025-0282-CVE-2025-0283) - [Mandiant - Ivanti Connect Secure Zero-Day](https://cloud.google.com/blog/topics/threat-intelligence/ivanti-connect-secure-vpn-zero-day) - [Rapid7 - CVE-2025-0282 Analysis](https://www.rapid7.com/blog/post/2025/01/08/etr-CVE-2025-0282-ivanti-connect-secure-zero-day-exploited-in-the-wild/) - [CISA KEV Catalog](https://www.cisa.gov/known-exploited-vulnerabilities-catalog) ## Notas Relacionadas **CVEs relacionados:** [[cve-2025-0283|CVE-2025-0283]] · [[cve-2024-21887|CVE-2024-21887]] · [[cve-2023-46805|CVE-2023-46805]] **Atores explorando:** [[unc5337]] · [[unc5221]] **Campanhas:** [[Ivanti Connect Secure Zero-Day Campaign 2025]] **TTPs relacionadas:** [[t1190-exploit-public-facing-application|T1190 - Exploit Public-Facing Application]] · [[t1059-command-scripting-interpreter|T1059 - Command and Scripting Interpreter]] · [[t1505-003-web-shell|T1505.003 - Web Shell]] **Setores em risco:** [[financial]] · [[government]] · [[technology]] --- ## 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 Detecta requisições HTTP bem-sucedidas ao endpoint de verificação de versão do Ivanti Connect Secure, frequentemente alvo de reconhecimento e exploração do CVE-2025-0282. Múltiplos erros IFT (`Invalid IFT packet received from unauthenticated client`) no debug.log precedem comprometimentos confirmados. ```spl index=web OR index=proxy (uri_path="/dana-na/auth/url_default/welcome.cgi" OR uri_path="*/dana-na/auth/compcheckresult.cgi" OR uri_path="*/dana-na/auth/getComponent.cgi" OR uri_path="*/dana-na/auth/restAuth.cgi") status=200 | stats count, values(src_ip) as sources, values(http_method) as methods by uri_path, dest_ip | where count > 5 | eval risk="CVE-2025-0282 recon/exploit attempt" ``` Detecta indícios de desativação de SELinux e remontagem do filesystem - comportamento pós-exploração documentado pela Mandiant: ```spl index=syslog (host="ivanti*" OR sourcetype="ivanti:ics") ("setenforce 0" OR "mount -o remount,rw" OR "iptables" OR ".liblogblock.so" OR "ld.so.preload") | table _time, host, message | eval alert="CVE-2025-0282 post-exploitation indicator" ``` Fonte de dados requerida: Ivanti Connect Secure web/access logs, syslog do appliance, proxy reverso ou network TAP posicionado na frente do appliance. ### Microsoft Sentinel (KQL) Detecta requisições bem-sucedidas ao endpoint de reconhecimento de versão e web shells implantados após exploração do CVE-2025-0282: ```kql CommonSecurityLog | where TimeGenerated > ago(24h) | where RequestURL has_any ( "/dana-na/auth/url_default/welcome.cgi", "/dana-na/auth/compcheckresult.cgi", "/dana-na/auth/getComponent.cgi", "/dana-na/auth/restAuth.cgi" ) | where RequestMethod in ("GET", "POST") | where ResponseCode == 200 | summarize RequestCount = count(), SourceIPs = make_set(SourceIP), FirstSeen = min(TimeGenerated), LastSeen = max(TimeGenerated) by RequestURL, DestinationIP | where RequestCount > 3 | extend Alert = "CVE-2025-0282 exploitation probe detected" | project-reorder Alert, RequestURL, SourceIPs, RequestCount, FirstSeen, LastSeen ``` Detecta instalação de certificados suspeitos - associada a atores como Secret Blizzard em campanhas pós-exploração Ivanti: ```kql DeviceProcessEvents | where TimeGenerated > ago(24h) | where FileName == "certutil.exe" | where ProcessCommandLine has "-addstore" and ProcessCommandLine has "root" | where FolderPath has_any ("Temp", "tmp", "Downloads", "AppData") | project TimeGenerated, DeviceName, ProcessCommandLine, InitiatingProcessFileName, AccountName | extend Alert = "Suspicious root certificate installation - possible post-exploitation" ``` Tabela(s): `CommonSecurityLog`, `DeviceProcessEvents`, `AzureDiagnostics` ### Sigma Rule ```yaml title: Detect CVE-2025-0282 Ivanti Connect Secure Exploitation Attempt id: a7f3c2d1-b8e4-4f91-9abc-de5678901234 status: experimental description: Detecta tentativas de exploração do CVE-2025-0282 no Ivanti Connect Secure - stack-based buffer overflow via pacotes IFT, com reconhecimento via endpoint de versão e implantação de web shells em CGI files (PHASEJAM dropper). references: - [[t1190-exploit-public-facing-application]] - [[t1505-003-web-shell]] - https://forums.ivanti.com/s/article/Security-Advisory-Ivanti-Connect-Secure-Policy-Secure-ZTA-Gateways-CVE-2025-0282-CVE-2025-0283 - https://cloud.google.com/blog/topics/threat-intelligence/ivanti-connect-secure-vpn-zero-day logsource: category: webserver product: ivanti detection: selection_recon: cs-uri-stem|contains: - '/dana-na/auth/url_default/welcome.cgi' - '/dana-na/auth/compcheckresult.cgi' - '/dana-na/auth/getComponent.cgi' - '/dana-na/auth/restAuth.cgi' sc-status: 200 selection_webshell_paths: cs-uri-stem|contains: - '/home/webserver/htdocs/dana-na/auth/compcheckresult.cgi' - '/home/webserver/htdocs/dana-na/auth/getComponent.cgi' - '/home/webserver/htdocs/dana-na/auth/restAuth.cgi' cs-method: POST condition: selection_recon or selection_webshell_paths falsepositives: - Scanners de vulnerabilidade internos legítimos (Tenable, Qualys) acessando estes endpoints - Verificações de disponibilidade de monitoramento de infraestrutura level: critical tags: - attack.initial_access - attack.t1190 - attack.persistence - attack.t1505.003 ``` ### EDR #### CrowdStrike Falcon Custom IOA Rule (Behavioral): Monitorar o processo `web` (localizado em `/home/bin/web` em builds 22.7R2) por spawn de processos filhos inesperados, especialmente interpretadores de shell (`/bin/bash`, `/usr/bin/perl`) ou execuções de `setenforce`, `mount`, `iptables`. A Mandiant documentou que após exploração bem-sucedida, atacantes executam `setenforce 0` para desabilitar SELinux e `mount -o remount,rw /` para habilitar escrita no filesystem. Threat Graph Query (Falcon Data Replicator): Regras específicas para CVE-2025-0282 no Falcon não estão públicamente disponíveis. Consulte o Falcon Overwatch para análise manual de appliances Ivanti e correlacione eventos de processo do appliance com conexões de rede a IPs de C2 conhecidos: `168.100.8.144` e `193.149.180.128` (documentados pela Mandiant/Unit 42). #### SentinelOne Deep Visibility Query - detecta modificação de arquivos críticos do sistema associados ao malware RESURGE e PHASEJAM: ``` EventType = "File Creation" OR EventType = "File Modification" AND ( FilePath Contains "/etc/ld.so.preload" OR FilePath Contains "/home/runtime/tmp/.logsrv" OR FilePath Contains "/home/webserver/htdocs/dana-na/auth/" OR FilePath Contains "/tmp/.liblogblock.so" OR FilePath Contains "/root/lib/libupgrade.so" OR FilePath Contains "/root/home/lib/libsocks5.so" OR FilePath Contains "/root/home/lib/libsshd.so" ) ``` Fontes de IoC de malware: SPAWNANT (`/root/lib/libupgrade.so`), SPAWNMOLE (`/root/home/lib/libsocks5.so`), SPAWNSNAIL (`/root/home/lib/libsshd.so`), SPAWNSLOTH (`/tmp/.liblogblock.so`), RESURGE web shell (`/home/webserver/htdocs/dana-na/auth/compcheckresult.cgi`). #### Microsoft Defender for Endpoint (MDE) Advanced Hunting (KQL) - detecta instalação de biblioteca preload e persistência via ld.so.preload (técnica T1547.013 usada pelo RESURGE): ```kql DeviceFileEvents | where TimeGenerated > ago(7d) | where FolderPath has_any ( "/etc/ld.so.preload", "/home/runtime/tmp/", "/home/webserver/htdocs/dana-na/auth/", "/tmp/.liblogblock.so", "/root/lib/lib", "/root/home/lib/lib" ) | where ActionType in ("FileCreated", "FileModified") | project TimeGenerated, DeviceName, FolderPath, FileName, InitiatingProcessFileName, InitiatingProcessCommandLine, SHA256 | extend Alert = "CVE-2025-0282 RESURGE/PHASEJAM persistence indicator" ``` ### Firewall / Network #### Palo Alto Networks (PAN-OS) Configurar Threat Prevention para inspecionar tráfego inbound direcionado a appliances Ivanti Connect Secure. Criar regras de Application Override que forçam inspeção de conteúdo em conexões HTTPS para os appliances VPN. Bloquear ou alertar para tráfego originado de IPs associados ao Tor (`isnot-tor`) e VPNs comerciais conhecidos em acesso ao endpoint de gerenciamento Ivanti. App-ID / Threat ID relevante: Verificar o portal [Palo Alto Threat Vault](https://threatvault.paloaltonetworks.com/) por assinaturas específicas para `ivanti-connect-secure` e `CVE-2025-0282`. O FortiGuard públicou assinatura `57117` para ataques relacionados ao Ivanti. #### Fortinet FortiGate Aplicar proteção IPS com assinatura direcionada à exploração do Ivanti Connect Secure. A Fortinet documentou ataques a appliances Ivanti no relatório [FortiGuard Outbreak Alert](https://filestore.fortinet.com/fortiguard/outbreak_alert/ivanti_connect_secure_and_policy_secure_attack/report.pdf). IPS Signature: `Ivanti.Connect.Secure.Stack.Buffer.Overflow` - verificar disponibilidade no FortiGuard IPS database (ID de referência: FortiGuard IPS encyclopedia entry `57117` para ataques Ivanti genéricos). Habilitar inspeção SSL/TLS deep inspection no perfil aplicado ao tráfego para appliances Ivanti para garantir visibilidade completa.