# T1547.002 - Pacote de Autenticação (Authentication Package)
## Técnica Pai
[[t1547-boot-logon-autostart-execution|T1547 - Execução na Inicialização]]
## Descrição
Adversários abusam do mecanismo de pacotes de autenticação do Windows para executar DLLs maliciosas toda vez que o sistema é inicializado. O processo **Local Security Authority (LSA)** - `lsass.exe` - é responsável por autenticar usuários no Windows e é carregado automaticamente na inicialização do sistema operacional. O LSA suporta múltiplos pacotes de autenticação, que são DLLs registradas no registro do Windows e carregadas pelo `lsass.exe` durante o boot para fornecer suporte a diferentes protocolos de logon (NTLM, Kerberos, etc.).
O vetor de abuso é direto: um adversário com privilégios de administrador ou SYSTEM insere uma referência a uma DLL maliciosa na chave de registro `HKLM\SYSTEM\CurrentControlSet\Control\Lsa\Authentication Packages`. Na próxima reinicialização, o `lsass.exe` carrega a DLL maliciosa como parte de seu processo de inicialização normal - antes que qualquer produto de segurança tenha a oportunidade de verificar a integridade do ambiente. A DLL executa no contexto do `lsass.exe`, com privilégios de SYSTEM e acesso irrestrito à memória de credenciais.
Essa técnica proporciona persistência extremamente resiliente: a DLL é carregada antes do sistema de arquivos estar completamente disponível para ferramentas de segurança, e sua execução é mascarada sob o processo `lsass.exe` - um dos processos mais críticos e monitorados do Windows, mas cujo tráfego legítimo é volumoso o suficiente para encobrir atividade maliciosa. O malware [[flame-malware]] - atribuído a operações de espionagem de Estado-nação - utilizou exatamente essa técnica para manter persistência em sistemas de infraestrutura crítica no Oriente Médio.
**Contexto Brasil/LATAM:** Ataques a infraestrutura governamental e ao setor [[financial]] no Brasil frequentemente buscam persistência de baixo perfil em controladores de domínio e servidores críticos. A técnica de Authentication Package é especialmente atraente nesses cenários porque sobrevive a reimagens parciais, políticas de GPO de senha e até à rotação de credenciais - o adversário mantém execução contínua independentemente de mudanças no ambiente de autenticação. Organizações do setor [[government]] com controladores de domínio legados (Windows Server 2008/2012) são alvos prioritários por não terem LSA Protection habilitada por padrão.
## Attack Flow
```mermaid
graph TB
A[Acesso Privilegiado<br/>Admin/SYSTEM no sistema alvo] --> B[Escrita no Registro<br/>HKLM\...\Lsa\Authentication Packages]
B --> C[ESTA TÉCNICA<br/>T1547.002 - Authentication Package<br/>DLL maliciosa registrada como pacote LSA]
C --> D[Reinicialização do Sistema<br/>Trigger de carregamento]
D --> E[lsass.exe carrega DLL<br/>No boot, antes de AV/EDR]
E --> F{Capacidades obtidas}
F --> G[Execução como SYSTEM<br/>Máximos privilégios]
F --> H[Acesso a Credenciais<br/>Memória do lsass.exe]
F --> I[Persistência Permanente<br/>Sobrevive a reinicializações]
G --> J[Movimentação Lateral<br/>Pass-the-Hash / Pass-the-Ticket]
H --> J
I --> K[Operação de Longa Duração<br/>Espionagem / Ransomware]
```
## Como Funciona
1. **Obtenção de privilégios:** O adversário precisa de acesso com privilégios de administrador local ou SYSTEM para modificar chaves de registro protegidas no hive `HKLM\SYSTEM`. Isso tipicamente ocorre após comprometimento inicial bem-sucedido com escalada de privilégios via [[t1068-exploitation-for-privilege-escalation|T1068]] ou roubo de credenciais.
2. **Preparação da DLL maliciosa:** A DLL é desenvolvida respeitando a interface de pacotes de autenticação do Windows - ela deve exportar as funções `LsaApInitializePackage`, `LsaApCallPackage` e `LsaApLogonTerminated`. Implementações maliciosas geralmente ignoram o processo de autenticação real e apenas executam o payload, às vezes repassando chamadas à biblioteca legítima correspondente.
3. **Registro no sistema:** A DLL é copiada para um local persistente (geralmente `%SystemRoot%\System32\`) e seu nome é adicionado ao valor `Authentication Packages` na chave LSA do registro. O valor suporta múltiplas entradas separadas por null byte.
4. **Persistência no boot:** Na próxima reinicialização, o LSA lê a chave de registro e carrega todas as DLLs listadas - incluindo a maliciosa - antes de iniciar o processo de autenticação. O payload executa com privilégios de SYSTEM e permanece ativo enquanto o sistema estiver ligado.
**Exemplo - verificação forense da chave de registro LSA:**
```cmd
rem Verificar pacotes de autenticação registrados (buscar entradas não padrão)
reg query "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v "Authentication Packages"
rem Valor legítimo padrão: msv1_0
rem Entradas adicionais suspeitas devem ser investigadas imediatamente
rem Verificar também Security Packages (vetor relacionado)
reg query "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v "Security Packages"
```
## Detecção
```yaml
title: Detecção de Authentication Package Persistence - T1547.002
logsource:
category: registry_set
product: windows
detection:
# Modificação da chave de Authentication Packages
lsa_auth_package_modification:
TargetObject|contains:
- 'SYSTEM\CurrentControlSet\Control\Lsa\Authentication Packages'
- 'SYSTEM\CurrentControlSet\Control\Lsa\Security Packages'
EventType: SetValue
# Excluir valor legítimo padrão
filter_legitimate:
Details|contains:
- 'msv1_0'
# DLL não assinada carregada pelo lsass.exe
lsass_unsigned_dll:
Image|endswith: '\lsass.exe'
Signed: 'false'
ImageLoaded|endswith: '.dll'
condition: (lsa_auth_package_modification and not filter_legitimate) or lsass_unsigned_dll
falsepositives:
- Software de autenticação MFA legítimo que registra pacotes LSA
- Smart card middleware e soluções SSO empresariais
level: critical
tags:
- attack.persistence
- attack.t1547.002
```
**Fontes de dados prioritárias:**
- Sysmon Event ID 13 (RegistryValueSet) - monitorar chaves `Lsa\Authentication Packages` e `Lsa\Security Packages`
- Sysmon Event ID 7 (ImageLoaded) - rastrear DLLs carregadas por `lsass.exe`
- Windows Security Event ID 4657 - alteração em objeto de registro auditado
- EDR: alertar para qualquer DLL não assinada ou não reconhecida carregada pelo processo `lsass.exe`
## Mitigação
| Mitigação | Orientação |
|-----------|------------|
| [[m1025-privileged-process-integrity\|M1025 - Privileged Process Integrity]] | Habilitar **LSA Protection** (`RunAsPPL`) via GPO: `HKLM\SYSTEM\CurrentControlSet\Control\Lsa\RunAsPPL = 1`. Com LSA Protection ativa, apenas DLLs assinadas pela Microsoft podem ser carregadas pelo lsass.exe como pacotes de autenticação, bloqueando DLLs maliciosas não assinadas. |
| [[m1026-privileged-account-management\|M1026 - Privileged Account Management]] | Restringir ao mínimo as contas com acesso de escrita à chave `HKLM\SYSTEM\CurrentControlSet\Control\Lsa\`. Implementar Just-in-Time (JIT) access para administradores de domínio. Monitorar e alertar para qualquer acesso a essa chave fora de jánelas de manutenção aprovadas. |
**Controles adicionais:**
- Habilitar **Credential Guard** (Windows 10/Server 2016+) para isolar segredos LSA em um ambiente Hyper-V protegido
- Usar **Windows Defender Application Control (WDAC)** para restringir quais DLLs podem ser carregadas por processos críticos
- Implementar **baseline de registro** para os servidores críticos e alertar para qualquer desvio nas chaves LSA
- Manter controladores de domínio e servidores críticos com as últimas atualizações de segurança para bloquear vetores de escalada de privilégio que precedem essa técnica
## Referências
*Fonte: [MITRE ATT&CK - T1547.002](https://attack.mitre.org/techniques/T1547/002/)*