# CVE-2023-48788 - Fortinet FortiClientEMS SQL Injection (SQLi para RCE)
> [!danger] CVSS 9.3 - SQL Injection com execução remota de código
> Injeção SQL crítica no **FortiClientEMS** da Fortinet permite RCE sem autenticação via xp_cmdshell. CISA KEV confirmado. Módulo Metasploit público disponível.
## Visão Geral
**CVE-2023-48788** é uma vulnerabilidade crítica de SQL Injection no [[_fortinet|Fortinet]] FortiClientEMS (Endpoint Management Server) que possibilita a um atacante remoto não autenticado executar código arbitrário no servidor com os privilégios do processo SQL Server. A falha é classificada como CWE-89 (Improper Neutralization of Special Elements Used in an SQL Command) e resulta de ausência de sanitização no parâmetro `FCTUID` processado pelo componente `FmcDaemon.exe`.
O FortiClientEMS é o servidor centralizado de gerenciamento de clientes [[_fortinet|FortiClient]] em ambientes corporativos - uma posição de extrema sensibilidade na infraestrutura de segurança, pois possui visibilidade e controle de todos os endpoints gerenciados. A exploração bem-sucedida entrega acesso privilegiado à rede interna, incluindo dados de todos os endpoints, credenciais armazenadas e possibilidade de pivô lateral.
A presença desta vulnerabilidade no catálogo **CISA KEV** desde março de 2024 confirma exploração ativa por agentes de ameaça em ambientes reais. A disponibilidade de um módulo **Metasploit** público (`exploit/windows/http/forticlient_ems_fctid_sqli`) reduz significativamente a barreira técnica, tornando esta CVE acessível a atacantes de baixa sofisticação. Campanhas de ransomware documentadas utilizaram este vetor para obter acesso inicial em organizações corporativas.
## Resumo Técnico
**CVE-2023-48788** é uma vulnerabilidade crítica de **SQL Injection** (CWE-89) no componente **FmcDaemon.exe** do **[[Fortinet FortiClientEMS]]** (Endpoint Management Server), um sistema de gerenciamento centralizado para clientes FortiClient. A falha existe no parâmetro `FCTUID` e permite que um atacante remoto não autenticado injete comandos SQL arbitrários no banco de dados SQL Server subjacente.
A exploração mais grave encadeia o SQLi com o procedimento estendido **`xp_cmdshell`** do SQL Server, resultando em **execução remota de código** no servidor Windows com os privilégios do processo SQL Server.
**Pontuação de risco:**
- CVSS v3.1: **9.3** (Crítico)
- EPSS: **~95%** de probabilidade de exploração
- CISA KEV: **adicionado em 2024-03-25** - prazo: 2024-04-15 (vencido)
- Módulo Metasploit: **disponível** (`exploit/windows/http/forticlient_ems_fctid_sqli`)
- PoC para SQLi → RCE: **público**
## Exploração
A exploração envolve o envio de requisições HTTP ao servidor FortiClientEMS com o parâmetro `FCTUID` contendo payload de SQL Injection. O atacante injeta comandos SQL que habilitam e executam `xp_cmdshell`, permitindo execução de comandos do sistema operacional.
**Cadeia de exploração:**
1. Atacante envia requisição HTTP ao FortiClientEMS (porta padrão 443)
2. Parâmetro `FCTUID` é passado diretamente ao SQL Server sem sanitização adequada
3. SQL Injection ativa `xp_cmdshell` no SQL Server (se não estava habilitado)
4. Comandos do sistema operacional são executados com os privilégios do SQL Server Agent
5. Atacante estabelece shell reverso ou implanta payload adicional
**Módulo Metasploit:**
```
use exploit/windows/http/forticlient_ems_fctid_sqli
set RHOSTS <target>
set RPORT 443
run
```
**Grupos observados:** Campanhas de ransomware utilizaram esta vulnerabilidade para obter acesso inicial em ambientes corporativos com FortiClientEMS exposto à internet.
## Impacto
A exploração bem-sucedida resulta em:
- **Execução remota de código como SYSTEM/admin:** controle total do servidor Windows rodando o FortiClientEMS
- **Acesso ao banco de dados de endpoints:** informações sobre todos os endpoints gerenciados, incluindo endereços IP, usuários, versões de software
- **Pivô para a rede corporativa:** o servidor FortiClientEMS frequentemente tem acesso privilegiado a toda a rede gerenciada
- **Comprometimento de credenciais:** extração de hashes de senhas e tokens armazenados no banco SQL
**Impacto para LATAM/Brasil:**
> [!latam] Impacto LATAM - FortiClient EMS SQLi
> A Fortinet detém forte presença no mercado de segurança brasileiro - especialmente em setores financeiro, varejo e governo. O **FortiClientEMS** é frequentemente utilizado como servidor de gerenciamento de endpoints em empresas de médio e grande porte no Brasil. Instâncias expostas diretamente à internet (sem VPN ou firewall de perímetro) representam risco de comprometimento total de rede, pois o servidor tem visibilidade de todos os endpoints gerenciados. A disponibilidade de módulo **Metasploit público** reduz drasticamente a barreira técnica para exploração por grupos de ransomware que atuam na região.
Fortinet tem forte presença no mercado brasileiro, especialmente em setores financeiro, varejo e governo. Instâncias do FortiClientEMS expostas à internet representam risco crítico de comprometimento de rede completa.
| Produto | Versão Afetada | Versão Corrigida |
|---------|---------------|-----------------|
| FortiClientEMS | 7.2.0 – 7.2.2 | 7.2.3 ou superior |
| FortiClientEMS | 7.0.1 – 7.0.10 | 7.0.11 ou superior |
## Mitigação
**Atualização imediata:**
- Versões **FortiClientEMS 7.2.3** ou superior
- Versões **FortiClientEMS 7.0.11** ou superior
- Advisory oficial: [Fortinet PSIRT FG-IR-24-007](https://www.fortiguard.com/psirt/FG-IR-24-007)
**Mitigações adicionais:**
- **Isolar o FortiClientEMS da internet pública** - nenhum acesso direto ao servidor deve ser permitido sem VPN
- Desabilitar `xp_cmdshell` no SQL Server caso não esteja em uso
- Aplicar filtragem WAF para bloquear payloads SQLi no parâmetro `FCTUID`
- Monitorar logs do SQL Server para comandos `xp_cmdshell` inesperados
- Revisar acessos à interface de gerenciamento para atividade suspeita
## Notas Relacionadas
**Vendor relacionado:** [[_fortinet|Fortinet]]
**CVEs Fortinet relacionados:** [[cve-2024-21762|CVE-2024-21762]] · [[cve-2024-23113|CVE-2024-23113]] · [[cve-2024-47575|CVE-2024-47575]]
**TTPs relacionadas:** [[t1190-exploit-public-facing-application|T1190 - Exploit Public-Facing Application]] · [[t1505-server-software-component|T1505 - Server Software Component]] · [[t1059-command-scripting-interpreter|T1059 - Command and Scripting Interpreter]]
**Setores em risco:** [[financial]] · [[government]] · [[retail]] · [[critical-infrastructure]]
**Playbooks:** [[Playbook - Resposta a Exploração de Appliance Fortinet]]
## Referências
- [NVD - CVE-2023-48788](https://nvd.nist.gov/vuln/detail/CVE-2023-48788)
- [Fortinet PSIRT Advisory FG-IR-24-007](https://www.fortiguard.com/psirt/FG-IR-24-007)
- [CISA KEV - CVE-2023-48788](https://www.cisa.gov/known-exploited-vulnerabilities-catalog)
- [Horizon3 - PoC Analysis](https://www.horizon3.ai/attack-research/CVE-2023-48788-fortinet-forticlient-ems-sqli-to-rce/)
- [Metasploit Module](https://www.rapid7.com/db/modules/exploit/windows/http/forticlient_ems_fctid_sqli/)