Esta es una traducción del post original publicado el 24 de Julio del 2020, disponible en la URL https://neil-fox.github.io/Mimikatz-usage-&-detection/
Mimikatz es una herramienta utilizada para extraer credenciales de la memoria y ha sido utilizada por numerosos grupos APT, incluyendo Wizard Spider, Stone Panda, APT 41, Fancy bear, Refined Kitten, Helix Kitten, Remix Kitten y Static Kitten.
Si no es detectada por el software antivirus, esta herramienta puede ser muy discreta, ya que opera en la memoria y deja pocos artefactos a su paso. Además, Mimikatz es capaz de realizar ataques pass the hash y generar golden tickets, lo que permite a un atacante moverse lateralmente.
Este reporte describirá cómo usar algunos de los módulos de Mimikatz y que artefactos, si existen, deja posterior a su ejecución.
Mimikatz
https://github.com/gentilkiwi/mimikatz
Módulo – serkurlsa
Este módulo extrae contraseñas, llaves, pines y tickets de la memoria del proceso ‘lsass’ (Local Security Authority Subsystem Service).
sekurlsas::logonpasswords
A continuación se muestra un extracto de la salida del módulo “sekurlsa::logonpasswords”.
El hash NTLM del usuario se extrae y luego puede ser descifrado en un ataque “offline” de cracking usando una herramienta como John the Ripper o Hashcat, alternativamente el hash se puede pasar por la red usando Mimikatz.
Un evento es almacenado en el log de Sysmon
Este es el mismo evento, viendo los detalles en una vista más amigable.
Esta actividad puede ser detectada enfocándose en los eventos de Sysmon que tengan el ID de evento 10 y donde el proceso objetivo se indentifique como “C:\Windows\system32\lsass.exe” y el accesso concedido sea “0x1010”.
sekurlsas::pth
Mimikatz es capaz de realizar ataques pass the hash para ejecutar un proceso haciendo uso de las credenciales de otro usuario, lo cual se logra usando el hash NTLM de la contraseña del usuario.
En el siguiente ejemplo, una máquina en el dominio fox.local ha sido comprometida, la cuenta en esta máquina es ‘bwayne’.
Mimikatz puede extraer el hash NTLM de cualquier usuario que haya iniciado sesión en la máquina desde su último reinicio y luego pasar este hash para permitirle al atacante moverse lateralmente.
La siguiente imagen muestra que el usuario actual ‘bwayne’ no tiene acceso a ningún grupo de administradores de dominio y no puede acceder a otro dispositivo en el mismo dominio llamado ‘IRONMAN’ usando PsExec:
Primero el atacante puede obtener los hashes NTLM usando el comando ‘sekurlsa::logonpasswords’, la imagen a continuación muestra el hash NTLM para del usuario ‘tstark’
Los privilegios del usuario ‘tstark’ pueden ser obtenidos usando el hash NTLM.
Entonces se genera un nuevo prompt de comandos usando el hash NTLM de ‘tstark’, el atacante ahora puede acceder remotamente a la máquina ‘IRONMAN’ como este usuario usando una herramienta como PsExec:
No hay logs generados para Mimikatz; sin embargo, los siguientes logs son generados para el movimiento lateral usando PsExec.
Dos eventos se han generados en el log de eventos de seguridad de Windows.
El contenido del evento 4648 ‘Se intentó iniciar sesión con credenciales explícitas.’
Tres eventos se generan en el log de Sysmon
Contenido del evento, con ID 3
Contenido del evento del Sysmon con ID 22
Procesos en ejecución
sekurlsas::tickets
El comando ‘tickets’ permite extraer la lista de tickets Kerberos de todas las sesiones. El argumento opcional ‘/export’ puede ser usado para exportar tickets en archivos ‘.kirbi’.
Múltiples eventos son registrados en los logs Sysmon
Contenido del ID de evento 11 del Sysmon
Módulo – lsadump
lsadump::lsa /patch
Este comando es otro método de obtener el lsa, el cual contiene nombres de usuario y sus hashes NTLM asociados. Los hashes pueden ser crackeados o enviados a través de la red.
Logs de eventos de seguridad de Windows generados
lsadump::lsa /inject /name:krbtgt
Este comando es usado para obtener las credenciales de una cuenta específica, en este ejemplo la cuenta krbtgt ha sido definida como objetivo
La imagen que se presenta a continuación muestra la sintaxis requerida para crear un golden tickete iniciar un ataque pass the ticket
- Crear un usuario personalizado – /User:FakeAdmin
- Dominio para el ticket – /domain:fox.local
- SID (Security Identifier) para el dominio – /sid<sid>
- Hash NTLM de la cuenta krbtgt – /krbtgt:<Hash NTLM>
- ID de usuario para la cuenta creada, 500 se específica para permisos de administración – /id:500
- Iniciar el ataque de pass the ticket -/ppt
Prompt de comandos generado con el nuevo ticket usando ‘misc::cmd’
Después es posible enumerar el directorio de una máquina remota usando el comando ‘dir’
Eventos generados en el log de seguridad de la máquina remota
Contenido del evento 4624, una cuenta ha iniciado sesión correctamente
Procesos en ejecución
Suscríbete hoy a nuestros cursos Exploratorios
¡Descubre cuál es tu perfil Hacker!
¡Quiero Registrarme Gratis!Introducción a la Seguridad en AI – Parte 2
Después de entender los principales ataques, técnicas, tácticas y procedimientos...
Leer másIntroducción a la Seguridad en AI
Cuando hablamos de Seguridad en AI (Artificial Intelligence o Inteligencia...
Leer más5 pilares para Hackers o Profesionales en Ciberseguridad desde una perspectiva técnica
Después de la master class que realizamos en Be Hacker...
Leer más