# T1556.002 - Password Filter DLL > [!danger] Técnica de Acesso a Credenciais > **Tática:** Credential Access · **ID:** T1556.002 · **Plataforma:** Windows > Adversários registram DLLs maliciosas no processo de válidação de senhas para capturar credenciais em texto plano diretamente da LSA. ## Descrição A técnica **Password Filter DLL** (T1556.002) consiste no registro de bibliotecas de vínculo dinâmico (DLLs) maliciosas no processo de autenticação do Windows para capturar credenciais de usuários no momento em que são válidadas. É uma sub-técnica de [[t1556-modify-authentication-process|T1556 - Modify Authentication Process]]. Os filtros de senha do Windows são mecanismos de aplicação de políticas de senha para contas locais e de domínio. Eles são implementados como DLLs que contêm métodos para válidar potenciais senhas contra as políticas vigentes. Os filtros podem ser posicionados em computadores locais (para contas locais) e/ou em controladores de domínio (para contas de domínio). Antes de registrar novas senhas no **Security Accounts Manager (SAM)**, a **Local Security Authority (LSA)** solicita válidação de cada filtro registrado. Nenhuma alteração de senha pode entrar em vigor até que todos os filtros registrados confirmem a válidação. Um adversário que registra uma DLL maliciosa como filtro de senha receberá as credenciais em **texto plano** toda vez que ocorrer uma solicitação de troca ou válidação de senha. Isso torna a técnica extremamente eficaz para coleta persistente de credenciais sem necessidade de interação adicional com o alvo. Grupos como [[g0049-oilrig|OilRig]] e [[g0041-strider|Strider]] utilizaram variantes desta técnica em operações de espionagem de longa duração, implantando filtros maliciosos em controladores de domínio para capturar credenciais privilegiadas de toda a organização. O malware [[s0125-remsec|Remsec]], associado ao grupo Strider, é um exemplo documentado de tooling que abusa desse mecanismo. A técnica é especialmente perigosa por duas razões: (1) opera dentro de um mecanismo legítimo do Windows, tornando a detecção difícil; e (2) captura senhas em texto plano - não hashes - eliminando a necessidade de cracking offline. ## Como Funciona O mecanismo de filtros de senha do Windows funciona da seguinte forma: 1. **Registro da DLL:** Os filtros de senha são registrados na chave de registro `HKLM\SYSTEM\CurrentControlSet\Control\Lsa\Notification Packages`. O adversário adiciona o nome da DLL maliciosa a essa chave. 2. **Carregamento pela LSA:** Após reinicialização (ou em alguns casos com injeção direta), a LSA (`lsass.exe`) carrega a DLL maliciosa em seu espaço de processo. 3. **Interceptação de senhas:** A DLL implementa três funções exportadas obrigatórias: - `InitializeChangeNotify` - chamada na inicialização - `PasswordFilter` - chamada para válidar a nova senha (recebe credencial em plaintext) - `PasswordChangeNotify` - chamada após mudança confirmada (recebe usuário, hash e plaintext) 4. **Exfiltração:** A DLL maliciosa captura o plaintext da senha e o exfiltra - via arquivo local, named pipe, socket de rede ou outro canal de comunicação. 5. **Validação falsa:** Para não interromper o fluxo normal, a DLL retorna `TRUE` para `PasswordFilter`, aprovando a mudança e evitando detecção por comportamento anômalo. O fato de a DLL ser carregada dentro do processo `lsass.exe` significa que ela opera com os mesmos privilégios do sistema que a LSA possui - o que é extremamente elevado. Qualquer comprometimento do `lsass.exe` também compromete todos os filtros registrados. **Requisito de permissão:** Para registrar a DLL maliciosa, o adversário precisa de privilégios de administrador local (ou de domínio, se o alvo for um DC). A chave de registro `HKLM\SYSTEM\CurrentControlSet\Control\Lsa\Notification Packages` requer acesso de escrita de nível administrativo. **Requisito de reinicialização:** Em configurações padrão, a nova DLL é carregada somente após a reinicialização do sistema. Adversários sofisticados podem contornar isso com injeção direta no processo `lsass.exe`. ## Attack Flow ```mermaid graph TB A["Acesso Inicial<br/>(Admin Local/Domínio)"] --> B["Escrita na Chave de Registro<br/>HKLM\\...\\Lsa\\Notification Packages"] B --> C["DLL Maliciosa Copiada<br/>para %SystemRoot%\\System32"] C --> D["Reinicialização ou<br/>Injeção no lsass.exe"] D --> E["LSA Carrega Password Filter<br/>Malicioso em lsass.exe"] E --> F["Usuário Troca de Senha<br/>ou Autentica"] F --> G["PasswordFilter() Chamada<br/>com Plaintext da Senha"] G --> H["DLL Captura Credencial<br/>em Texto Plano"] H --> I{"Canal de Exfiltração"} I --> J["Arquivo Local Criptografado"] I --> K["Named Pipe / Socket"] I --> L["Comúnicação C2"] J --> M["Coleta Offline pelo Adversário"] K --> M L --> M M --> N["Credential Access Completo<br/>Persistência Estabelecida"] ``` ## Exemplos de Uso ### OilRig (APT34) O grupo iraniano [[g0049-oilrig|OilRig]], também conhecido como APT34, utilizou filtros de senha maliciosos em campanhas de espionagem direcionadas ao Oriente Médio e setores de energia. O grupo registrava DLLs em controladores de domínio para capturar credenciais de administradores de domínio, permitindo movimento lateral extensivo sem ativar alertas de brute force ou pass-the-hash. ### Strider / Sauron O grupo [[g0041-strider|Strider]], também conhecido como ProjectSauron, é um dos atores mais sofisticados documentados usando esta técnica. O malware [[s0125-remsec|Remsec]] inclui um módulo específico de password filter que: - Registra-se como filtro legítimo - Captura todas as trocas de senha no DC - Criptografa os dados coletados antes de armazenar - Usa canais de comunicação steganográficos para exfiltração O Strider operou por anos sem detecção em redes governamentais de alto valor, incluindo agências russas e europeias. ### Cenário de Comprometimento de DC Em cenários de comprometimento de Active Directory, esta técnica é frequentemente combinada com: - [[t1003-001-lsass-memory|T1003.001 - LSASS Memory]] para dump inicial de hashes - [[t1098-account-manipulation|T1098 - Account Manipulation]] para persistência de contas - [[t1078-valid-accounts|T1078 - Valid Accounts]] para uso das credenciais coletadas O impacto em um ambiente corporativo pode ser catastrófico: um único filtro malicioso em um DC primário captura todas as senhas de todos os usuários do domínio conforme são trocadas. ## Detecção ### Monitoramento de Registro A detecção primária é via monitoramento da chave de registro onde os filtros são registrados: ```yaml title: Password Filter DLL Registered id: 9f5c45dc-9c23-4b7e-a6e1-2b4c3d5f6e7a status: experimental description: Detecta registro de novos filtros de senha na chave LSA Notification Packages logsource: category: registry_set product: windows detection: selection: TargetObject|contains: 'SYSTEM\CurrentControlSet\Control\Lsa\Notification Packages' EventType: SetValue filter_legitimate: Details|contains: - 'rassfm' - 'scecli' - 'wdigest' condition: selection and not filter_legitimate level: high tags: - attack.credential_access - attack.t1556.002 falsepositives: - Instalação legítima de software de segurança ou gestão de identidade - Alterações durante implantação de políticas corporativas de senha ``` ### Monitoramento de DLL Carregada no LSASS ```yaml title: Suspicious DLL Loaded by LSASS id: 8a3f12bc-4d9e-5c2a-b7f3-1e4d6a8c9b2f status: experimental description: Detecta carregamento de DLLs suspeitas pelo processo lsass.exe logsource: category: image_load product: windows detection: selection: Image|endswith: '\lsass.exe' ImageLoaded|contains: - '\Temp\' - '\AppData\' - '\Users\' filter_system: ImageLoaded|startswith: 'C:\Windows\System32\' condition: selection and not filter_system level: high tags: - attack.credential_access - attack.t1556.002 ``` ### Fontes de Dados Recomendadas | Fonte | Evento | O Que Monitorar | |-------|--------|-----------------| | Windows Registry | EventID 4657, Sysmon 13 | Modificações em `HKLM\...\Lsa\Notification Packages` | | Module Load | Sysmon EventID 7 | DLLs carregadas por `lsass.exe` | | Process Creation | Sysmon EventID 1 | Processos que escrevem em `System32` | | Windows Security | EventID 4616 | Alteração de configuração de segurança do sistema | | File Creation | Sysmon EventID 11 | Novos arquivos `.dll` em `%SystemRoot%\System32` | ## Mitigação | ID | Mitigação | Descrição | |----|-----------|-----------| | [[m1028-operating-system-configuration\|M1028]] | Operating System Configuration | Configurar AppLocker ou WDAC para restringir quais DLLs podem ser carregadas pelo `lsass.exe`. Habilitar o modo de processo protegido da LSA (RunAsPPL) para impedir injeção não autorizada. | ### Controles Adicionais Recomendados - **Habilitar LSA Protection (PPL):** Configure `HKLM\SYSTEM\CurrentControlSet\Control\Lsa\RunAsPPL = 1` para impedir que DLLs não assinadas sejam carregadas pela LSA. - **Credential Guard:** Habilitar Windows Credential Guard isola as credenciais em um ambiente virtualizado, dificultando a captura via filtros maliciosos. - **Princípio de Menor Privilégio:** Limitar quem pode escrever em `HKLM\SYSTEM\CurrentControlSet\Control\Lsa` - apenas administradores de domínio devem ter acesso. - **Auditoria de Controladores de Domínio:** Monitorar todos os DCs para modificações na lista de filtros de senha. Qualquer alteração deve gerar alerta imediato. - **Inventário de Filtros Legítimos:** Manter lista autorizada dos filtros esperados (ex: `rassfm`, `scecli`) e alertar para qualquer adição não autorizada. ## Contexto Brasil/LATAM No contexto brasileiro e latino-americano, a técnica T1556.002 é particularmente relevante para: **Setor Financeiro:** Bancos e instituições financeiras brasileiras operam grandes ambientes de Active Directory com centenas de controladores de domínio. Um único filtro malicioso em um DC de alta disponibilidade pode comprometer credenciais de toda a infraestrutura em questão de dias. **Grupos APT com Nexo LATAM:** Grupos como [[g0049-oilrig|OilRig]] com histórico de operações em setores de energia (Petrobras e similares) têm motivação para empregar técnicas de coleta persistente de credenciais. O perfil de alvos do setor de óleo e gás no Brasil se alinha com os interesses documentados desses atores. **Ambientes Governamentais:** Órgãos do governo federal brasileiro utilizam Windows Active Directory em larga escala. Ataques a credenciais administrativas podem viabilizar espionagem de longa duração - padrão documentado do grupo [[g0041-strider|Strider]] em agências governamentais europeias. **Resposta a Incidentes:** Equipes de IR brasileiras devem incluir verificação da chave `HKLM\...\Lsa\Notification Packages` em seus runbooks de comprometimento de AD, especialmente quando há suspeita de presença prolongada de adversário (living-off-the-land). **Ferramentas de Red Team:** O uso de frameworks como [[mimikatz|Mimikatz]] e variantes customizadas para registro de filtros de senha está crescendo em simulações de adversário realizadas por pentesters no Brasil, indicando que a técnica está no radar ofensivo local. ## Referências - [MITRE ATT&CK - T1556.002: Password Filter DLL](https://attack.mitre.org/techniques/T1556/002) - [Microsoft - Password Filter Programming Considerations](https://docs.microsoft.com/en-us/windows/win32/secmgmt/password-filter-programming-considerations) - [Securelist - ProjectSauron/Strider](https://securelist.com/faq-the-projectsauron-apt/75533/) - [CrowdStrike - OilRig/APT34 Tactics](https://www.crowdstrike.com/blog/apt34-tactics-techniques-and-procedures/) - [SpecterOps - Credential Access via Password Filter](https://posts.specterops.io/password-filter-persistence-with-the-lsa-credential-access-83fb7ae37718) - [[s0125-remsec|Remsec]] - Malware associado ao grupo Strider - [[t1556-modify-authentication-process|T1556 - Modify Authentication Process]] - Técnica pai - [[m1028-operating-system-configuration|M1028 - Operating System Configuration]] - Mitigação principal - [[t1003-001-lsass-memory|T1003.001 - LSASS Memory]] - Técnica relacionada - [[t1078-valid-accounts|T1078 - Valid Accounts]] - Uso das credenciais coletadas --- *Fonte: [MITRE ATT&CK - T1556.002](https://attack.mitre.org/techniques/T1556/002)*