# T1547.005 - Security Support Provider ## Técnica Pai Esta é uma sub-técnica de [[t1547-boot-logon-autostart-execution|T1547 - Execução na Inicialização]]. ## Descrição Adversários abusam dos **Security Support Providers (SSPs)** para executar DLLs maliciosas automaticamente durante a inicialização do sistema Windows. Os SSPs são componentes da arquitetura de autenticação do Windows carregados pelo processo **LSASS** (Local Security Authority Subsystem Service) no boot - antes mesmo que a maioria dos controles de segurança estejá ativa. Uma vez carregada no LSASS, a DLL SSP maliciosa opera em modo de alta integridade e tem acesso direto às credenciais em memória - incluindo senhas em texto claro de usuários autenticados, hashes NTLM, tickets Kerberos e PINs de smart cards. Isso torna a técnica simultaneamente um mecanismo de **persistência** e um vetor de **captura de credenciais**. A configuração de SSPs é controlada por duas chaves de Registro: - `HKLM\SYSTEM\CurrentControlSet\Control\Lsa\Security Packages` - `HKLM\SYSTEM\CurrentControlSet\Control\Lsa\OSConfig\Security Packages` O adversário adiciona o nome da DLL maliciosa a uma dessas chaves. Na próxima inicialização - ou imediatamente via chamada à API `AddSecurityPackage()` - a DLL é carregada no contexto do LSASS. Ferramentas como [[mimikatz|Mimikatz]] (módulo `misc::memssp`) automatizam essa injeção sem necessidade de reinicialização. **Contexto Brasil/LATAM:** A técnica é especialmente perigosa em ambientes corporativos com Active Directory, dominantes no setor financeiro e governamental brasileiro. O acesso a credenciais de domínio via LSASS permite movimento lateral imediato em toda a infraestrutura. O [[g0016-apt29|APT29]] (Cozy Bear), grupo de espionagem russo com operações globais, emprega SSP abuse como parte de seu arsenal de persistência de longo prazo - padrão observado em campanhas que visam organizações diplomáticas e governamentais, incluindo alvos na América do Sul. ## Attack Flow ```mermaid graph TB A["Acesso Inicial<br/>Spear-phishing / Exploit / Credencial comprometida"] --> B B["Escalada de Privilégio<br/>Requer SYSTEM ou SeLoadDriverPrivilege"] --> C C["Registro do SSP Malicioso<br/>Chave de Registro Lsa\\Security Packages"] --> D D["Reinicialização ou AddSecurityPackage()"] --> E E["DLL carregada no LSASS<br/>Alta integridade / acesso a credenciais"] E --> F1["Captura de Credenciais<br/>Senhas em texto claro, hashes, tickets"] E --> F2["Persistência<br/>Sobrevive a reboots, escondido em Registro"] style A fill:#c0392b,color:#fff style B fill:#e67e22,color:#fff style C fill:#f39c12,color:#fff style D fill:#8e44ad,color:#fff style E fill:#2980b9,color:#fff style F1 fill:#2c3e50,color:#fff style F2 fill:#2c3e50,color:#fff ``` ## Como Funciona **Passo 1 - Adição do SSP via Registro (persistência entre reboots)** O adversário modifica a chave `Security Packages` adicionando o nome da DLL maliciosa (sem extensão `.dll`): ```powershell # PowerShell - adicionar SSP malicioso (requer privilégio SYSTEM/Admin) $regPath = "HKLM:\SYSTEM\CurrentControlSet\Control\Lsa" $currentPackages = (Get-ItemProperty -Path $regPath -Name "Security Packages")."Security Packages" $newPackages = $currentPackages + @("malssp") Set-ItemProperty -Path $regPath -Name "Security Packages" -Value $newPackages # A DLL malssp.dll deve estar em C:\Windows\System32\ # Após reinicialização, será carregada no LSASS automaticamente ``` **Passo 2 - Carregamento imediato sem reinicialização (via Mimikatz)** ```text O módulo misc::memssp do Mimikatz injeta um SSP diretamente no LSASS em execução, sem necessidade de reinicialização, usando a API AddSecurityPackage(). Credenciais capturadas são gravadas em C:\Windows\System32\mimilsa.log Comando Mimikatz (referência analítica): privilege::debug misc::memssp ``` **Passo 3 - Verificação de SSPs registrados** ```powershell # Identificar SSPs registrados no sistema (detecção / threat hunting) Get-ItemProperty "HKLM:\SYSTEM\CurrentControlSet\Control\Lsa" -Name "Security Packages" Get-ItemProperty "HKLM:\SYSTEM\CurrentControlSet\Control\Lsa\OSConfig" -Name "Security Packages" # Comparar com lista esperada de SSPs legítimos: # msv1_0, schannel, wdigest, tspkg, pku2u, kerberos ``` ## Detecção **Indicadores de comprometimento:** - DLLs adicionadas às chaves `Security Packages` que não pertencem à lista padrão do Windows - Módulos não assinados pela Microsoft carregados no processo `lsass.exe` - Arquivo `mimilsa.log` em `C:\Windows\System32\` (artefato de Mimikatz memssp) - Chamadas à API `AddSecurityPackage()` por processos que não sejam o próprio LSASS ```yaml # Sigma Rule - SSP Malicioso Adicionado ao Registro title: Malicious Security Support Provider Registration id: d4e8a3c1-9f2b-4a7e-b5c6-2d1f8e9a4b73 status: experimental description: Detecta adição de entradas suspeitas nas chaves de Registro de Security Support Providers logsource: category: registry_set product: windows detection: selection: TargetObject|contains: - '\Control\Lsa\Security Packages' - '\Control\Lsa\OSConfig\Security Packages' filter_legit: Details|contains: - 'msv1_0' - 'schannel' - 'wdigest' - 'tspkg' - 'pku2u' - 'kerberos' condition: selection and not filter_legit falsepositives: - Softwares de autenticação legítimos de terceiros (biometria, MFA) que registram SSPs customizados level: critical tags: - attack.persistence - attack.privilege_escalation - attack.credential_access - attack.t1547.005 --- # Sigma Rule - Módulo Não Assinado Carregado no LSASS title: Unsigned Module Loaded into LSASS id: e5f1b4d2-3a8c-4e9b-a7d6-1c2f5b8e3a91 status: experimental description: Detecta carregamento de DLL não assinada pela Microsoft no processo lsass.exe logsource: category: image_load product: windows detection: selection: Image|endswith: '\lsass.exe' Signed: 'false' condition: selection falsepositives: - Software de segurança endpoint com agente injetado no LSASS level: critical tags: - attack.persistence - attack.credential_access - attack.t1547.005 ``` ## Mitigação | ID | Mitigação | Descrição | |---|-----------|-----------| | M1025 | [[m1025-privileged-process-integrity\|M1025 - Privileged Process Integrity]] | Habilitar PPL (Protected Process Light) para o LSASS via `HKLM\SYSTEM\CurrentControlSet\Control\Lsa\RunAsPPL = 1` - impede injeção de DLLs não assinadas | **Controles adicionais recomendados:** - Habilitar Windows Credential Guard (isola LSASS em ambiente virtualizado separado) - Restringir `SeLoadDriverPrivilege` a contas administrativas auditadas - Monitorar o LSASS com EDR para carregamento de módulos não esperados - Auditar periodicamente a lista de SSPs registrados em endpoints corporativos ## Threat Actors que Usam - [[g0016-apt29|APT29]] (Cozy Bear) - grupo de espionagem russo com uso documentado de SSP abuse em operações de longa duração - [[g0046-fin7|FIN7]] - grupo de crime financeiro que utiliza a técnica para captura de credenciais em ambientes de POS e corporativo ## Software Associado - [[mimikatz|Mimikatz]] - ferramenta de pós-exploração com módulo `misc::memssp` para injeção de SSP sem reinicialização - [[s0363-empire|Empire]] - framework de pós-exploração com módulos de persistência via SSP - [[s0194-powersploit|PowerSploit]] - coleção PowerShell com funções de registro de SSP malicioso --- *Fonte: [MITRE ATT&CK - T1547.005](https://attack.mitre.org/techniques/T1547/005)*