# CVE-2024-21338 - Windows Kernel Elevation of Privilege (Lazarus / FudModule)
> [!high]
> Vulnerabilidade use-after-free no driver appid.sys do Windows AppLocker que permite escalonamento de privilégios para SYSTEM. Explorada como zero-day pelo **Lazarus Group** para implantar o rootkit FudModule em modo kernel, capaz de desabilitar drivers EDR como Windows Defender e CrowdStrike.
## Visão Geral
CVE-2024-21338 é uma vulnerabilidade de **escalonamento de privilégios no kernel do Windows** no driver `appid.sys` (componente do Windows AppLocker), causada por uma condição use-after-free. A falha permite que um atacante com acesso local de baixo privilégio eleve seus privilégios para SYSTEM, obtendo controle total sobre o sistema operacional e contornando controles de segurança como Credential Guard e PPL (Protected Process Light).
O [[g0032-lazarus-group|Lazarus Group]] (também rastreado como Diamond Sleet pela Microsoft) explorou esta CVE como zero-day para implantar uma versão atualizada do **FudModule**, seu rootkit de modo kernel personalizado. A pesquisadora da Avast revelou que o Lazarus utilizou o exploit para manipular diretamente handles de kernel via ioctl privilegiado no `appid.sys`, permitindo ao FudModule desabilitar drivers de segurança incluindo Windows Defender, CrowdStrike e produtos similares. O ataque representa uma abordagem sofisticada que evita a técnica tradicional de BYOVD (Bring Your Own Vulnerable Driver) usando em vez disso um driver legítimo do próprio Windows.
A vulnerabilidade foi descoberta pela Avast em fevereiro de 2024, que notificou a Microsoft responsavelmente. O Patch Tuesday de fevereiro de 2024 incluiu a correção. A exploração ativa antecedeu o patch, indicando que o Lazarus mantinha o zero-day em seu arsenal operacional por tempo indeterminado antes da descoberta. Este padrão - explorar drivers legítimos do Windows para atingir o kernel sem carregar drivers externos - demonstra capacidade de pesquisa de vulnerabilidades de alto nível e evolução contínua do arsenal do grupo.
> [!latam]
> O **Lazarus Group** é classificado pelo FBI e CISA como ameaça de alta prioridade para o setor financeiro global, incluindo o **Brasil e América Latina**. Bancos e exchanges de criptomoedas brasileiras são alvos históricos de campanhas Lazarus. A capacidade de desabilitar EDRs via FudModule torna as ferramentas de defesa padrão ineficazes, elevando significativamente o risco para organizações que dependem apenas de soluções EDR sem defesa em profundidade. Organizações financeiras na região devem priorizar a aplicação do patch de fevereiro de 2024 e auditar logs de integridade de drivers de kernel.
## Cadeia de Exploração
```mermaid
graph TB
ACC["Acesso Inicial<br/>Credenciais / Phishing / Supply Chain"] -->|"Execução com baixo privilégio"| LPE["CVE-2024-21338<br/>use-after-free appid.sys"]
LPE -->|"Handle manipulation via ioctl"| SYS["Privilégio SYSTEM<br/>Controle total do kernel"]
SYS -->|"Carregamento do rootkit"| FUDMOD["FudModule Rootkit<br/>Modo kernel - invisível ao OS"]
FUDMOD -->|"Manipulação de estruturas kernel"| EDR["Desabilitar EDR / AV<br/>Defender, CrowdStrike, PPL"]
EDR -->|"Operação sem detecção"| OBJ["Objetivos Operacionais<br/>Espionagem / Roubo financeiro"]
```
## Produtos Afetados
| Produto | Versões Afetadas | Versão Corrigida |
|---------|-----------------|-----------------|
| Windows 10 (versão 1809+) | Antes de fevereiro de 2024 | KB5034763 |
| Windows 11 (todas versões) | Antes de fevereiro de 2024 | KB5034765 |
| Windows Server 2019 | Antes de fevereiro de 2024 | KB5034768 |
| Windows Server 2022 | Antes de fevereiro de 2024 | KB5034770 |
## Detalhes Técnicos
A vulnerabilidade reside no driver `appid.sys`, responsável pelo Windows AppLocker (controle de execução de aplicativos). A condição use-after-free ocorre durante o processamento de certas chamadas IOCTL (I/O Control) ao driver: um objeto kernel é liberado da memória mas uma referência ao ponteiro permanece acessível, permitindo que o atacante reutilize a região de memória liberada com dados controlados.
O exploit do [[g0032-lazarus-group|Lazarus Group]] explora essa primitiva para:
1. **Obter handle elevado:** Enviar sequência específica de IOCTLs ao `appid.sys` que dispara a condição UAF
2. **Manipular memória kernel:** Usar a primitiva de leitura/escrita arbitrária no kernel resultante para modificar estruturas de dados críticas
3. **Escalar para SYSTEM:** Modificar o token de segurança do processo atacante para herdar privilégios SYSTEM
4. **Carregar FudModule:** Com SYSTEM, manipular diretamente ponteiros de função em drivers de segurança para neutralizá-los sem descarregá-los (técnica que evita detecção)
A técnica difere do BYOVD clássico pois usa um driver **legítimo e assinado** do Windows, tornando ineficazes soluções baseadas em blocklists de drivers vulneráveis conhecidos.
**TTPs utilizadas:**
- [[t1068-exploitation-privilege-escalation|T1068 - Exploitation for Privilege Escalation]] - técnica central de escalonamento via kernel
- [[t1014-rootkit|T1014 - Rootkit]] - implantação do FudModule em modo kernel após escalação
- [[t1562-001-disable-tools|T1562.001 - Impair Defenses: Disable or Modify Tools]] - desabilitar EDR via manipulação de kernel
- [[t1543-003-windows-service|T1543.003 - Windows Service]] - possível persistência pós-rootkit
## Mitigação
**Patch oficial:**
- Aplicar atualizações do Patch Tuesday de fevereiro de 2024 (KB5034763/KB5034765/KB5034768/KB5034770)
- Verificar que o `appid.sys` foi atualizado para versão corrigida
**Defesas em profundidade:**
- Implementar monitoramento de integridade de drivers via ferramentas EDR com capacidade kernel
- Habilitar Virtualization-Based Security (VBS) e Hypervisor-Protected Code Integrity (HVCI) - limitam manipulação de memória kernel
- Monitorar carregamento e modificação de drivers do sistema via Sysmon Event ID 6 (driver carregado)
- Implementar Credential Guard para proteger credenciais contra dumps pós-escalação
- Auditar chamadas IOCTL anômalas para `appid.sys` em endpoints críticos
**Indicadores de comprometimento (FudModule):**
- Modificação de valores de PPL (Protected Process Light) em processos de segurança
- Manipulação de tokens de segurança em processos de sistema
- Drivers de segurança aparentemente ativos mas sem resposta a eventos
## Referências
- [NVD - CVE-2024-21338](https://nvd.nist.gov/vuln/detail/CVE-2024-21338)
- [Microsoft MSRC Advisory](https://msrc.microsoft.com/update-guide/vulnerability/CVE-2024-21338)
- [Avast Blog - Lazarus and the FudModule Rootkit](https://decoded.avast.io/janvojtesek/lazarus-and-the-fudmodule-rootkit-beyond-byovd-with-an-admin-to-kernel-zero-day/)
- [CISA KEV Entry](https://www.cisa.gov/known-exploited-vulnerabilities-catalog)
## Notas Relacionadas
- [[g0032-lazarus-group|Lazarus Group]] - explorou como zero-day para implantar FudModule rootkit
- [[Lazarus FudModule Rootkit Campaign 2024]] - campanha utilizando este zero-day para espionagem e roubo
- [[cve-2024-38193|CVE-2024-38193]] - Windows AFD Driver, zero-day similar explorado pelo mesmo grupo em agosto 2024
- [[t1068-exploitation-privilege-escalation|T1068 - Exploitation for Privilege Escalation]] - técnica principal
- [[t1014-rootkit|T1014 - Rootkit]] - implantação do FudModule após escalação para SYSTEM
- [[t1562-001-disable-tools|T1562.001 - Impair Defenses: Disable or Modify Tools]] - desabilitar EDR via rootkit kernel
- [[government]] - setor-alvo frequente do Lazarus Group em operações de espionagem
- [[financial]] - setor-alvo prioritário do Lazarus Group em roubos de alto valor
- [[cryptocurrency|criptomoedas]] - alvo frequente em campanhas Lazarus de roubo financeiro