> [!danger] CVSS 9.1 - Crítico > Injeção de comando encadeável com CVE-2023-46805 para RCE sem autenticação. > [!warning] CISA KEV - Exploração Ativa Confirmada > Adicionada ao catálogo CISA KEV em 2024-01-10. Diretiva de emergência ED 24-01 emitida. > [!success] Patch Disponível > Patches disponibilizados em fevereiro de 2024. CISA recomenda factory reset antes do patch. # CVE-2024-21887 - Injeção de Comando no Ivanti Connect Secure > CVSS: 9.1 · EPSS: 94% · Vendor: Ivanti · Patch: Sim · CISA KEV: Sim ## Resumo **CVE-2024-21887** é uma vulnerabilidade de injeção de comando nos componentes web do [[_ivanti|Ivanti]] Connect Secure (9.x, 22.x) e Policy Secure (9.x, 22.x). A falha permite que um administrador autenticado envie requisições especialmente elaboradas para executar comandos arbitrários no appliance. Quando encadeada com a vulnerabilidade de bypass de autenticação [[cve-2023-46805|CVE-2023-46805]], a combinação permite execução remota de código sem autenticação, tornando o impacto significativamente mais grave. A exploração ativa desta cadeia de vulnerabilidades foi detectada em dezembro de 2023, com atribuição inicial ao grupo [[unc5221]]. **Pontuação de risco:** - CVSS v3.1: **9.1** (Crítico) - EPSS: **94%** de probabilidade de exploração nos próximos 30 dias - CISA KEV: adicionado em 2024-01-10 - Exploit público: PoC disponível no GitHub ## Detalhes Técnicos A vulnerabilidade reside nos componentes web do Ivanti Connect Secure e Policy Secure. Um atacante com acesso administrativo pode injetar comandos do sistema operacional através de requisições HTTP manipuladas para endpoints específicos da interface de gerenciamento. O aspecto mais crítico é o encadeamento com [[cve-2023-46805|CVE-2023-46805]]: 1. **CVE-2023-46805** permite bypass de autenticação no componente web 2. **CVE-2024-21887** permite injeção de comandos com privilégios elevados 3. A combinação resulta em RCE não autenticada no appliance Os atacantes utilizaram esta cadeia para implantar web shells, ferramentas de tunneling e malware persistente nos appliances comprometidos. ## Exploração **Status atual:** Exploração ativa massiva confirmada globalmente. A exploração em massa começou em janeiro de 2024, com milhares de appliances comprometidos globalmente. A CISA emitiu uma diretiva de emergência (ED 24-01) exigindo desconexão imediata dos produtos afetados. **Grupos de ameaça utilizando:** - [[unc5221]] - grupo de espionagem associado à China, primeiro a explorar a cadeia de vulnerabilidades - [[unc5325]] - grupo adicional identificado pela [[_intel/sources|Mandiant]] explorando os mesmos vetores **Campanhas associadas:** - [[ivanti-connect-secure-exploitation-2024]] - campanha massiva de exploração em janeiro/fevereiro de 2024 **TTPs relacionadas:** - [[t1190-exploit-public-facing-application|T1190 - Exploit Public-Facing Application]] - exploração de VPN exposta à internet - [[t1059-command-scripting-interpreter|T1059 - Command and Scripting Interpreter]] - injeção de comandos - [[t1505-003-web-shell|T1505.003 - Web Shell]] - implantação de web shells para persistência ## Impacto Um atacante que explore esta vulnerabilidade com sucesso pode: - **Execução de código remoto:** executar comandos arbitrários no appliance VPN - **Roubo de credenciais:** capturar credenciais de todos os usuários da VPN - **Persistência avançada:** implantar web shells que sobrevivem a reboots - **Acesso à rede interna:** utilizar o appliance VPN como ponto de entrada para a rede corporativa **Produtos Afetados:** | Vendor | Produto | Versão Afetada | Versão com Fix | |--------|---------|----------------|----------------| | Ivanti | Connect Secure | 9.x, 22.x | Patches de fevereiro 2024 | | Ivanti | Policy Secure | 9.x, 22.x | Patches de fevereiro 2024 | ## Mitigação **Patch oficial:** - Advisory: [Ivanti Security Advisory](https://forums.ivanti.com/s/article/CVE-2023-46805-Authentication-Bypass-CVE-2024-21887-Command-Injection-for-Ivanti-Connect-Secure-and-Ivanti-Policy-Secure-Gateways) - Patches disponibilizados em fevereiro de 2024 - CISA recomendou factory reset antes de aplicar patches **Mitigações temporárias:** - Aplicar o XML de mitigação fornecido pela Ivanti (mitigation.release.20240107.1.xml) - Executar a ferramenta de verificação de integridade (ICT) da Ivanti - Monitorar logs para sinais de exploração - Restringir acesso ao appliance por geolocalização **Recomendação CISA:** Factory reset do appliance antes da aplicação do patch para eliminar possível persistência de atacantes. > [!latam] Relevância LATAM/Brasil > O Ivanti Connect Secure é amplamente utilizado em organizações brasileiras dos setores financeiro, governo e tecnologia como solução de VPN corporativa. A exploração massiva desta vulnerabilidade em janeiro de 2024 representou risco imediato para organizações no Brasil que dependem destes appliances para acesso remoto seguro. A demora na disponibilização de patches pela Ivanti - com workarounds sendo a única opção inicial - agravou a exposição. Grupos de espionagem com histórico de atuação em redes corporativas brasileiras e latino-americanas, tipicamente associados a atores de estado-nação, têm interesse estratégico em comprometer appliances VPN para acesso persistente a redes corporativas. ## IoCs Indicadores de comprometimento públicos: - Web shells em diretórios do Ivanti Connect Secure (`/dana-na/`) - Conexões de saída para infraestrutura C2 conhecida - Modificações não autorizadas em arquivos do sistema do appliance - Verificar com a ferramenta ICT (Integrity Checker Tool) da Ivanti Fonte: [Mandiant - Ivanti Connect Secure Analysis](https://cloud.google.com/blog/topics/threat-intelligence/ivanti-connect-secure-vpn-zero-day) ## Referências - [NVD - CVE-2024-21887](https://nvd.nist.gov/vuln/detail/CVE-2024-21887) - [Ivanti Security Advisory](https://forums.ivanti.com/s/article/CVE-2023-46805-Authentication-Bypass-CVE-2024-21887-Command-Injection-for-Ivanti-Connect-Secure-and-Ivanti-Policy-Secure-Gateways) - [CISA Emergency Directive ED 24-01](https://www.cisa.gov/known-exploited-vulnerabilities-catalog) - [Fortinet FortiGuard - Ivanti Attack Report](https://filestore.fortinet.com/fortiguard/outbreak_alert/ivanti_connect_secure_and_policy_secure_attack/report.pdf) ## Notas Relacionadas **CVEs relacionados:** [[cve-2023-46805|CVE-2023-46805]] · [[cve-2025-0282|CVE-2025-0282]] **Atores explorando:** [[unc5221]] · [[unc5325]] **Campanhas:** [[ivanti-connect-secure-exploitation-2024]] **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 aos endpoints vulneráveis do Ivanti Connect Secure associados à cadeia CVE-2023-46805 (bypass de autenticação) + CVE-2024-21887 (injeção de comando). As requisições GET/POST com HTTP 200 a estes paths são indicativos fortes de tentativa de exploração ativa conforme documentado pelo Splunk ESCU e Unit 42. ```spl | tstats summariesonly=false allow_old_summaries=true count, values(Web.http_method) as http_method, values(Web.status) as status FROM datamodel=Web WHERE ( Web.url IN ( "*/api/v1/totp/user-backup-code/../../system/system-information*", "*/api/v1/totp/user-backup-code/../../license/keys-status/*", "*/api/v1/totp/user-backup-code/../../system/maintenance/archiving/cloud-server-test-connection*", "*/api/v1/cav/client/status/../../*", "*/api/v1/configuration/users/user-roles/user-role/rest-userrole1/web/web-bookmarks/bookmark*" ) AND (Web.status=200) ) BY Web.src, Web.dest, Web.url, Web.http_method, Web.status | rename Web.* as * | eval risk_message="Possible exploitation of CVE-2023-46805 + CVE-2024-21887 against ".dest | table _time, src, dest, url, http_method, status, risk_message ``` Detecta web shells implantados no diretório `/dana-na/` - IoC documentado pela Mandiant para esta campanha: ```spl index=web OR index=proxy uri_path="*/dana-na/*" (uri_path="*.cgi*" OR uri_path="*.pl*") http_method=POST status=200 | stats count by src_ip, uri_path, dest_ip, _time | where count < 3 | eval alert="Possible web shell interaction in Ivanti dana-na directory" ``` Fonte de dados requerida: Web datamodel populado via Technology Add-Ons (Splunk para Palo Alto Networks, Suricata, Apache, Nginx). Logs de acesso HTTP do appliance Ivanti ou proxy reverso na frente do appliance. ### Microsoft Sentinel (KQL) Detecta tentativas de bypass de autenticação (CVE-2023-46805) via path traversal nos endpoints da API Ivanti: ```kql CommonSecurityLog | where TimeGenerated > ago(24h) | where RequestURL has "/api/v1/totp/user-backup-code/../../" or RequestURL has "/api/v1/cav/client/status/../../" or RequestURL has "/api/v1/configuration/users/user-roles" | where RequestMethod in ("GET", "POST") | where ResponseCode == 200 | summarize AttackCount = count(), TargetedEndpoints = make_set(RequestURL), SourceIPs = make_set(SourceIP), FirstSeen = min(TimeGenerated), LastSeen = max(TimeGenerated) by DestinationIP | extend Alert = "CVE-2023-46805 + CVE-2024-21887 exploit chain detected" | extend MITREtactic = "Initial Access (T1190)" | project-reorder Alert, MITREtactic, DestinationIP, SourceIPs, AttackCount, TargetedEndpoints, FirstSeen, LastSeen ``` Detecta injeção de metacaracteres shell em parâmetros de requisição - sinal de CVE-2024-21887 em uso: ```kql CommonSecurityLog | where TimeGenerated > ago(24h) | where RequestURL has_any ("/api/v1/", "/dana-na/") | where RequestURL matches regex @"[%|;&`\$\(\)\{\}]" | where ResponseCode == 200 | project TimeGenerated, SourceIP, DestinationIP, RequestURL, RequestMethod, ResponseCode | extend Alert = "CVE-2024-21887 command injection metacharacter detected in Ivanti request" ``` Tabela(s): `CommonSecurityLog`, `W3CIISLog`, `AzureDiagnostics` ### Sigma Rule ```yaml title: Detect CVE-2024-21887 + CVE-2023-46805 Exploit Chain in Ivanti Connect Secure id: b2e4f1a3-c7d8-4e92-8bcd-fa6789012345 status: experimental description: Detecta tentativas de exploração da cadeia CVE-2023-46805 (bypass de autenticação via path traversal) + CVE-2024-21887 (injeção de comando OS) no Ivanti Connect Secure e Policy Secure. Requisições HTTP 200 a estes endpoints indicam exploração ativa - explorada em massa por UNC5221 desde dezembro de 2023. references: - [[t1190-exploit-public-facing-application]] - [[t1059-command-scripting-interpreter]] - [[t1505-003-web-shell]] - https://forums.ivanti.com/s/article/CVE-2023-46805-Authentication-Bypass-CVE-2024-21887-Command-Injection-for-Ivanti-Connect-Secure-and-Ivanti-Policy-Secure-Gateways - https://research.splunk.com/web/d51c13dd-a232-4c83-a2bb-72ab36233c5d/ logsource: category: webserver product: ivanti detection: selection_auth_bypass: cs-uri-stem|contains: - '/api/v1/totp/user-backup-code/../../system/system-information' - '/api/v1/totp/user-backup-code/../../license/keys-status/' - '/api/v1/totp/user-backup-code/../../system/maintenance/archiving/cloud-server-test-connection' - '/api/v1/cav/client/status/../../' - '/api/v1/configuration/users/user-roles/user-role/rest-userrole1/web/web-bookmarks/bookmark' sc-status: 200 selection_webshell: cs-uri-stem|contains: '/dana-na/' cs-uri-stem|endswith: - '.cgi' - '.pl' cs-method: POST sc-status: 200 condition: selection_auth_bypass or selection_webshell falsepositives: - Scanners de vulnerabilidade internos (Tenable Nessus, Qualys) rodando auditorias autenticadas - Testes de penetração internos com escopo documentado - Monitoramento de disponibilidade de infraestrutura acessando endpoints específicos level: critical tags: - attack.initial_access - attack.t1190 - attack.execution - attack.t1059 - attack.persistence - attack.t1505.003 ``` ### EDR #### CrowdStrike Falcon Custom IOA Rule (Behavioral): Monitorar por processos filhos iniciados a partir de processos de servidor web Ivanti (uwsgi, web, DSP) - especialmente chamadas a `/bin/bash`, `/usr/bin/python`, `/usr/bin/perl` com argumentos contendo metacaracteres de shell (`|`, `;`, `&`, backtick). O WARP PANDA (nexo China, documentado pela CrowdStrike) utiliza appliances Ivanti comprometidos como ponto de entrada para ambientes VMware vCenter - monitorar conexões de rede laterais do appliance para segmentos internos. Threat Graph Query (Falcon Data Replicator): Baseado na pesquisa públicada pela CrowdStrike sobre WARP PANDA - buscar por hashes de malware associados às famílias LIGHTWIRE, ZIPLINE, THINSPOOL, BUSHWALK, PITFUEL documentadas pela Mandiant/Google. Regras específicas com hash values não estão públicamente disponíveis; consulte o portal Falcon Intelligence para IoCs atualizados associados a UNC5221 e UNC5325. #### SentinelOne Deep Visibility Query - detecta web shells e artefatos de pós-exploração documentados pela Mandiant para esta campanha: ``` EventType IN ("File Creation", "File Modification") AND ( FilePath Contains "/dana-na/" OR FilePath Contains "/home/webserver/htdocs/" OR FilePath Contains "/tmp/" OR FilePath Contains "/data/var/cores/" ) AND FileExtension IN ("cgi", "pl", "sh", "py", "so") AND NOT InitiatingProcessName Contains "dpkg" AND NOT InitiatingProcessName Contains "ivanti-upgrade" ``` Malware families detectáveis: SPAWNSNAIL (contém strings `PRIVATE KEY`, funções de biblioteca SSH), SPAWNANT (contém `dspkginstall`, `LD_PRELOAD`), LIGHTWIRE (web shell com padrões de resposta HTTP característicos), KRUSTYLOADER (downloader Rust que busca payload Sliver de infraestrutura C2 externa). #### Microsoft Defender for Endpoint (MDE) Advanced Hunting (KQL) - detecta execução de processo suspeito originado de processos web do Ivanti e web shells em diretórios CGI: ```kql DeviceProcessEvents | where TimeGenerated > ago(7d) | where InitiatingProcessFolderPath has_any ("/home/bin/web", "/usr/bin/uwsgi", "/home/bin/DSP") | where FileName in ("bash", "sh", "python", "python3", "perl", "curl", "wget") | project TimeGenerated, DeviceName, FileName, ProcessCommandLine, InitiatingProcessFileName, InitiatingProcessCommandLine, AccountName | extend Alert = "CVE-2024-21887 post-exploitation: web process spawning shell" ``` ### Firewall / Network #### Palo Alto Networks (PAN-OS) Habilitar inspeção de ameaças (Threat Prevention) com perfil `strict` para tráfego inbound direcionado a appliances Ivanti Connect Secure. Criar alertas para requisições HTTP/HTTPS a caminhos contendo `/api/v1/totp/user-backup-code/../../` ou outros path traversal patterns. Monitorar conexões de saída do appliance para IPs externos não habituais - especialmente em portas não-padrão, indicativo de reverse shells pós-exploração. App-ID / Threat ID relevante: Verificar o [Palo Alto Threat Vault](https://threatvault.paloaltonetworks.com/) para assinaturas `Ivanti-Connect-Secure-Command-Injection` e `Ivanti-Connect-Secure-Auth-Bypass`. A Unit 42 públicou threat brief específico: [CVE-2023-46805 + CVE-2024-21887 Threat Brief](https://unit42.paloaltonetworks.com/threat-brief-ivanti-CVE-2023-46805-CVE-2024-21887/). #### Fortinet FortiGate A Fortinet públicou análise completa desta campanha de exploração: [FortiGuard Outbreak Alert - Ivanti Connect Secure and Policy Secure Attack](https://filestore.fortinet.com/fortiguard/outbreak_alert/ivanti_connect_secure_and_policy_secure_attack/report.pdf). IPS Signature: Verificar assinaturas `Ivanti.ICS.Auth.Bypass` (CVE-2023-46805) e `Ivanti.ICS.Command.Injection` (CVE-2024-21887) no FortiGuard IPS database. Habilitar inspeção SSL deep inspection no perfil de segurança aplicado ao tráfego para o appliance Ivanti. Configurar bloqueio de geolocalização para países de origem não esperados como medida compensatória enquanto patches são aplicados.