# 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/)*