En este post me gustaría hablaros de una técnica que leí este verano y que no había podido poner en práctica hasta hace poco en un test de intrusión.
La técnica consiste en obtener las contraseñas en claro de un servidor sin ejecutar código “malicioso” en el mismo. De esta forma nos evitamos tener que lidiar con evasiones de antivirus y demás dolores de cabeza.
Herramientas necesarias:
- Mimikatz: http://blog.gentilkiwi.com/securite/mimikatz/minidump
- Procdump: http://technet.microsoft.com/en-us/sysinternals/dd996900.aspx
Para saber qué hace Mimikatz os recomiendo el post de @mmorenog donde explica su funcionamiento. Como resumen, Mimikatz “ataca” al proceso lsass y se aprovecha de un tipo de cifrado reversible que implementa Windows para obtener las contraseñas en claro.
Por otro lado, Procdump es una herramienta desarrollada por Mark Russinovich que nos va a permitir volcar el espacio de memoria de un proceso a un archivo.
Una vez tenemos a mano mimikatz y procdump, necesitamos la parte difícil: ser SYSTEM en el servidor. En mi caso, aproveché que las credenciales del usuario sa de MSSQL estaban en el código fuente para ejecutar comandos con privilegios de SYSTEM (más información aquí).
Una vez tenemos privilegios de SYSTEM vamos a realizar lo siguiente:
1. Subiremos la herramienta de Microsoft “Procdump” al servidor.
2. Volcamos el espacio de memoria del proceso lsass al fichero lsass.dmp con el siguiente comando:
C:\temp\procdump.exe -accepteula -ma lsass.exe lsass.dmp Para 32 bits C:\temp\procdump.exe -accepteula -64 -ma lsass.exe lsass.dmp Para 64 bits
3. Recuperar el fichero lsass.dmp
4. Lanzar mimikatz alpha contra el fichero lsass.dmp con la siguientes órdenes:
mimikatz # sekurlsa::minidump lsass.dmp Switch to MINIDUMP mimikatz # sekurlsa::logonPasswords full
Hay que tener en cuenta que para que este ataque funcione, el equipo desde el que se ejecuta mimikatz debe tener la misma arquitectura que el equipo atacado. De forma gráfica, el autor de mimikatz ha generado una tabla de compatibilidades:
Con esto hemos conseguido obtener los passwords en claro sin tener problemas con el antivirus y utilizando en el host atacado sólo herramientas de Microsoft.
Como nota adicional, para evitar este tipo de ataques (Mimikatz) hay que hacer una modificación en el registro de Windows.
En la clave HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
hay que editar la clave “Security Packages” y eliminar wdigest y tspkg
Un saludo.
David, eso ya no sirve, la última versión de mimitkatz es capaz ya de tirar de kerberos, y eso es imposible de quitar; a parte, en muchos entornos, el quitar tspkg puede tampoco ser viable ya que dejas sin acceso por RDP si te es necesario.
Salu2!
Buen aporte David, además he aplicado tu recomendación en algunos de mis equipos.
Saludos