> [!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.