Quién le diría a Benjamin Delpy allá por el 2011, que la herramienta que terminó desarrollando y bautizando como Mimikatz, se convertiría en uno de los principales actores de robo de credenciales y pentesting de la historia.
No sé si da para guión de película, pero cuanto menos su historia es curiosa, así que empecemos desde el principio. En esos años el bueno de Benjamin estaba haciendo sus pinitos en el mundo de la programación trasteando con C, cuando descubrió un fallo crítico en sistemas Windows, y concretamente en cómo protegían éstos las contraseñas de los usuarios.
Con toda la buena intención del mundo, el protagonista reportó a Microsoft lo que sucedía, pero la respuesta de la multinacional fue una de las reacciones habituales en estos casos, restar importancia al asunto y replicar que la vulnerabilidad era irrelevante porque era demasiado difícil de explotar.
Como resultado, Benjamín desarrolló Mimikatz (nombre que juega con las palabras “lindo gato”), capaz de hacer sencillo lo que para Microsoft era difícil. Y de hecho la presentación de la herramienta realizada en la conferencia “Positive Hack Days” en Moscú causó un gran revuelo internacional, tanto como para que el protagonista se topase con un espía tratando de manipular su portátil mientras estaba alojado en la habitación del hotel.
Y desde entonces hasta hoy, ha llovido y escampado, pero Mimikatz sigue siendo una referencia y una herramienta top de descargas y uso tanto por parte de ciberdelincuentes, como por profesionales de la seguridad.
Pero ¿cómo funciona?
Pues a modo resumido, Mimikatz es un programa que fue capaz de obtener las credenciales de sistemas Windows haciendo uso del “Single Sign-ON” (sistema de inicio de sesión único), y en concreto aprovechando la debilidad de la función WDigest, que guarda las contraseñas cifradas y también su clave secreta en memoria.
Y a pesar de los años, y de que se ha comprobado WDigest como potencialmente peligroso, éste se ha mantenido como protocolo por defecto hasta la llegada de Windows 10, pero incluso después también sigue siendo un problema, porque aunque desactivado sigue estando en el sistema, y de cara al atacante simplemente supone el paso extra previo de activarlo.
Sea como fuere, es importante tener en cuenta las siguientes consideraciones:
- El atacante que utiliza Mimikatz tiene que tener unas credenciales válidas en el sistema que va a atacar. Esto puede obtenerse a partir de otras técnicas (phishing, consulta de claves robadas en la dark web, malware…)
- Y lo más importante, tiene que tener derechos de administrador en el equipo, un argumento más para evitar las peligrosas cuentas de superusuario. Y es que todavía hoy en día, hay personas ancladas a una mentalidad de hace 20 años, que creen que sin cuenta de superusuario no pueden utilizar normalmente su equipo.
Y qué es capaz de hacer?
Originalmente Mimikatz se centró en explotar la vulnerabilidad de Windows explicada, pero con los años ha mejorado y se ha adaptado a los nuevos entornos. De modo que podríamos destacar las siguientes técnicas para obtener credenciales de acceso que utiliza:
Pass-the-hash:
Con esta técnica ni siquiera es necesario que Mimikatz descifre la contraseña, simplemente obtiene y utiliza la cadena entera de hash NTLM dónde almacena Windows la contraseña. Una vez la obtiene, puede utilizarla tal cuál para acceder a otras partes.
Pass-the-ticket:
Es similar a la técnica pass-the-hash, pero adaptada a las nuevas versiones de Windows que almacenan la contraseña en una nueva entidad llamada ticket. Mimikatz tampoco tiene que descifrar la contraseña, simplemente obtiene y pasa ese ticket completo de kerberos para iniciar sesión con él en otro equipo.
Overpass-the-hash:
Trata de suplantar a un usuario con una clave única obtenida de un controlador de directorio activo.
Kerberos Golden Ticket:
Es un ataque basado en el Pass-the-ticket, en el cuál Mimikatz obtiene el ticket de la cuenta oculta llamada KRBTGT, que es crítica porque es la utilizada para encriptar todos los demás tickets. Con esta técnica, el atacante puede conseguir derechos de administrador de dominio y acceso total a los sistemas.
Kerberos Silver Ticket:
Mimikatz aprovecha la característica de TGS ticket, dónde Kerberos otorga permiso para que un usuario pueda iniciar sesión en cualquier servicio de red. Una vez otorgado el TGS, Windows no verifica después su uso, y esto es aprovechado.
Pass-the-cache:
Este ataque es similar al pass-the-ticket, pero esta vez no está dirigido a equipos Windows. Es decir, se utiliza para obtener los datos de conexión de usuario grabados y cifrados en sistemas Mac, Unix y Linux.
Cómo combatir Mimikatz?
Podemos hacer uso de diversas técnicas orientadas a protegernos ante este tipo de ataques. Algunos métodos recomendados son:
- Evitar cuentas de usuario con permisos de superusuario, son un peligro y no son necesarias.
- Tener los sistemas actualizados, porque no nos cansamos de insistir con ello: https://ciberseguridadtotal.com/c1b3rwall-2021-actualizaciones-actualizaciones-y-mas-actualizaciones/
- Deshabilitar el password-caching, para evitar que Mimikatz obtenga los hashes de los usuarios del sistema (Configuración del Equipo -> Configuración de Windows -> Política Local -> Opciones de seguridad).
- Deshabilitar WDigest. En las nuevas versiones de Windows viene por defecto deshabilitado, en versiones antiguas como Windows 7, existe un parque (KB2871997) que permite desactivarlo.
- No permitir contraseñas almacenadas, con objeto de evitar que los usuarios de la organización almacenen sus contraseñas de recursos compartidos de red (Configuración del Equipo -> Configuración de Windows -> Configuración de Seguridad -> Políticas locales -> Opciones de Seguridad)
- Activar LSA, que es una protección (a partir de win 8.1/2012) que evita el acceso al LSASS con módulos de terceros (crear clave RunAsPPL con valor 1 en el registro de windows: HKEY_LOCAL_MACHINE \SYSTEM\CurrentControlSet\Control\LSA).
- Deshabilitar el obsoleto NTLMv1 (Configuración del equipo -> Políticas -> Configuración de Windows -> Configuración de seguridad -> Políticas locales -> Opciones de seguridad – Seguridad de red: Restringir NTLM)
- Deshabilitar el modo depuración (Debug privilege), que por defecto Windows otorga al perfil de administrador (Política de Grupo (local o de dominio) -> Configuración del Equipo -> Configuración de Windows -> Configuración de seguridad -> Políticas Locales -> Asignación de Derechos de Usuario -> habilitar Política del Programa de Depuración)
A través del siguiente enlace de MITRE ATT&CK, al cuál ya dedicamos una entrada: https://ciberseguridadtotal.com/modus-operandi-de-un-ciberataque-matriz-de-mitre/, podremos ver tanto las técnicas conocidas de Mimikatz, como los grupos de ciberdelincuencia que suelen utilizar esta herramienta: https://attack.mitre.org/software/S0002/
Recursos:
Para despedir el artículo, una referencia a la web oficial de la herramienta mimikatz, herramienta que cualquier persona puede descargar, no sólo para hacer el mal, sino también para llevar a cabo labores de pentesting y evaluar la seguridad de un entorno: https://blog.gentilkiwi.com/mimikatz
Indicar también que la utilidad viene incluida en la famosa distribución Kali: https://ciberseguridadtotal.com/pentesting-facil-y-sencillo-con-kali-linux/, y que hay muchísima información en internet acerca de cómo sacar partido a esta utilidad.