T1547.008 Driver LSASS no MITRE ATT&CK Explicado
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumo
O artigo explica a sub-técnica de persistência de Driver LSASS, T1547.008, que atores de ameaças utilizam para obter execução durável e de alto privilégio em sistemas Windows, abusando de como o LSASS carrega componentes relacionados à segurança.
Investigação
Os atacantes geralmente começam obtendo privilégios SYSTEM, então colocam um DLL ou driver malicioso no host alvo e alteram chaves de registro dentro da configuração LSA para que LSASS carregue o componente falso durante a inicialização. Em alguns casos, a mesma abordagem pode ser estendida para abusar dos pontos de extensão do serviço de Controlador de Domínio.
Mitigação
Os defensores devem monitorar alterações no registro que afetem chaves LSA, exigir assinatura de código rigorosa para drivers e DLLs, restringir permissões de escrita nos caminhos de registro relevantes, e aplicar monitoramento de integridade aos componentes carregados pelo processo LSASS.
Resposta
Se alterações suspeitas no registro ou carregamentos inesperados de drivers em lsass.exe forem detectados, isole o host, capture a memória LSASS para análise focada em credenciais, e restaure os valores de registro modificados para um estado conhecido como bom enquanto investiga o processo pai responsável.
Fluxo de Ataque
Ainda estamos atualizando esta parte. Inscreva-se para receber notificações
Notifique-meDetecções
Possível Roubo de Credenciais Usando Gancho MSv1_0!SpAcceptCredentials (via evento_registro)
Ver
Possível Carregamento de DLL via LSASS para Persistência ou Execução de Código (via evento_registro)
Ver
Adicionar Biblioteca Suspeita aos Provedores de Suporte de Segurança [SSP] (via evento_registro)
Ver
IOCs (E-mails) para detectar: T1547.008 Driver LSASS explicado no MITRE ATT&CK
Ver
Detectar Execução Persistente via Modificação de Driver LSASS [Evento de Registro do Windows]
Ver
Execução da Simulação
Pré-requisito: O Check Início rápido de Telemetria & Base deve ter passado.
Justificativa: Esta seção detalha a execução precisa da técnica do adversário (TTP) projetada para acionar a regra de detecção. Os comandos e a narrativa DEVEM refletir diretamente os TTPs identificados e visam gerar a telemetria exata esperada pela lógica de detecção.
-
Narrativa & Comandos de Ataque:
- Preparação – soltar DLL maliciosa – O adversário cria uma DLL (
maliciousLSASS.dll) que, quando carregada pelo LSASS, extrai hashes de credenciais e os escreve em%TEMP%. A DLL é colocada na estação de trabalho da vítima. - Persistência via Modificação de Registro – Usando o
reg.exenativo, o atacante adiciona o caminho completo do DLL malicioso ao valor multi-stringSecurity Packages, que o LSASS lê durante a inicialização do serviço. - Gatilho – O atacante força o LSASS a recarregar os pacotes reiniciando o
LSASSserviço (requer uma reinicialização do sistema; para o teste simulamos parando e iniciando oWinDefendserviço que força o LSASS a recarregar a lista de pacotes de segurança).
- Preparação – soltar DLL maliciosa – O adversário cria uma DLL (
-
Script de Teste de Regressão:
# ------------------------------------------------- # Simular persistência de driver LSASS (T1547.008) # ------------------------------------------------- $dllPath = "$env:USERPROFILEDesktopmaliciousLSASS.dll" # Garantir que um arquivo DLL fictício exista (placeholder vazio para teste) if (-not (Test-Path $dllPath)) { New-Item -Path $dllPath -ItemType File -Force | Out-Null } # Backup do valor original $regPath = 'HKLM:SYSTEMCurrentControlSetControlLsaSecurity Packages' $original = (Get-ItemProperty -Path $regPath -Name '(Default)' -ErrorAction SilentlyContinue).'(Default)' # Adicionar caminho do DLL malicioso $newValue = @() if ($original) { $newValue = $original -split "`0" } $newValue += $dllPath Set-ItemProperty -Path $regPath -Name '(Default)' -Value $newValue -Force Write-Host "[+] Valor de registro Security Packages modificado para incluir DLL maliciosa." # Opcional: Forçar o LSASS a recarregar os pacotes sem reinicialização (reiniciar serviço dependente) Restart-Service -Name WinDefend -Force -ErrorAction SilentlyContinue Write-Host "[+] Solicitado reinício do serviço para provocar recarga do LSASS." # Pausa para permitir coleta de logs Start-Sleep -Seconds 10 # Restaurar valor original (etapa de limpeza executada separadamente) -
Comandos de Limpeza:
# ------------------------------------------------- # Limpeza após simulação # ------------------------------------------------- $regPath = 'HKLM:SYSTEMCurrentControlSetControlLsaSecurity Packages' # Restaurar o valor original multi-string capturado anteriormente (se existir) if ($original) { Set-ItemProperty -Path $regPath -Name '(Default)' -Value $original -Force } else { # Remover o valor completamente se originalmente estava vazio Remove-ItemProperty -Path $regPath -Name '(Default)' -Force -ErrorAction SilentlyContinue } Write-Host "[+] Valor do registro Security Packages original restaurado." # Remover o DLL fictício Remove-Item -Path "$env:USERPROFILEDesktopmaliciousLSASS.dll" -Force -ErrorAction SilentlyContinue Write-Host "[+] DLL maliciosa temporária excluída." # Opcional: Reiniciar o host para redefinir completamente o estado do LSASS (não necessário para o teste) # Restart-Computer -Force