LSASS Shtinkering

LSASS Shtinkering” é uma técnica específica de dumping de memória do processo Local Security Authority Subsystem Service (LSASS) em sistemas Windows, explorada por atacantes para extrair credenciais de forma furtiva pois utiliza WER (Windows Error Reporting) para forçar o sistema a gerar um dump completo do LSASS sem alertar soluções tradicionais de EDR, afinal os métodos “tradicionais” são facilmente detectáveis, como mimikatz com sekurlsa::logonpasswords.

Curiosidade : “shtinker” (שְׁטִינְקֶר) vem hebraico israelense e significa “dedo-duro” ou “X-9”, ou seja, alguém que delata os outros, um “snitch”. – Asaf Gilboa (Security Researcher) / Ron Ben-Yizhak (Security Researcher) que apresentaram esse ataque na Def Con 30.

Evasão de EDRs e antivírus

A técnica não usa ferramentas comuns como procdump, mimikatz ou rundll32, que são amplamente monitoradas por EDRs.
Não é necessário explorar vulnerabilidades nem injetar código no LSASS.
O dump é feito pelo próprio WerFault.exe, um processo legítimo e assinado pela Microsoft. Isso torna o dump mais difícil de ser detectado ou bloqueado por regras baseadas em hash, nome de processo ou comportamento comum.

O LSASS pode estar rodando como PPL, o que bloqueia acesso a ferramentas como Mimikatz., Mas se o atacante tiver privilégios de SYSTEM e handles válidos, o WER ainda consegue gerar o dump.

Como Funciona o LSASS Shtinkering

A técnica consiste em enganar o Windows Error Reporting para acreditar que o LSASS sofreu uma falha, induzindo o serviço a gerar o dump automaticamente. Isso é feito em várias etapas:

– Criação de Handles Herdáveis

O processo atacante deve obter handles herdáveis com permissões:

  • PROCESS_VM_READ
  • PROCESS_QUERY_LIMITED_INFORMATION
  • THREAD_QUERY_LIMITED_INFORMATION

LSASS (Local Security Authority Subsystem Service): Processo crítico do Windows que gerencia autenticações e Single Sign-On (SSO). Saiba mais LSASS Dump, Pass-The-Hash e Pass-The-Ticket

– Comunicação via ALPC (Advanced Local Procedure Call)

Utiliza uma API interna para enviar uma mensagem do processo atacante para o serviço WER, simulando uma exceção crítica (crash report).

– Execução do WerFault.exe

O próprio WerFault.exe é invocado automaticamente pelo WER para realizar o MiniDumpWriteDump() do processo alvo.

– Dump Gerado sem Crash

Diferente de técnicas como procdump ou comsvcs.dll, essa abordagem não termina ou trava o LSASS.

Pré-requisitos Técnicos

Para executar a técnica com sucesso, são necessários:

  • Executar o processo atacante como NT AUTHORITY\SYSTEM
  • Configurar o registro para dumps completos:
Reg add "HKLM\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps" /v DumpType /D 2

Em nossa POC vaos executar o nanodump usando o NT AUTHORITY\SYSTEM a melhor maneira de fazer isso em uma prova de conceito é usando o PsExec

psexec -i -s cmd.exe

Eu preferi arriscar um ataque local com stick keys que ainda funciona bem.

copy C:\Windows\System32\sethc.exe C:\Windows\System32\sethc.exe.bak
takeown /f C:\Windows\System32\sethc.exe
icacls C:\Windows\System32\sethc.exe /grant %username%:F
copy C:\Windows\System32\cmd.exe C:\Windows\System32\sethc.exe

Você pode usar o https://github.com/deepinstinct/Lsass-Shtinkering/tree/main compilado para execução.

Ou executar o nanodump https://github.com/fortra/nanodump como System, que foi exatamente o que eu fiz !!

Referência

Anúncio

Sobre Daniel Donda 584 Artigos
Olá, meu nome é Daniel Donda e sou especialista em cibersegurança, autor de livros, professor e palestrante. Saiba mais

Seja o primeiro a comentar

Faça um comentário

Seu e-mail não será divulgado.


*