Las 6 mejores herramientas utilizadas por los hackers para robar credenciales de caché de Windows. 5 alternativas a Mimikatz

Aunque algunos usuarios aún lo ignoran, es un hecho conocido que los sistemas Windows almacenan información sobre inicios de sesión de los usuarios de forma local para los casos en que el servidor de inicio de sesión no esté disponible. Acorde a especialistas en seguridad en redes, esta función es conocida como credencial caché de dominio (también conocida como MSCACHE o MSCASH).

Para generar hashes se utiliza el algoritmo MSCACHE, que se almacenan localmente en el registro del sistema operativo Windows (por defecto, los últimos 10 hashes). Hay dos versiones de MSCASH/MSCACHE (o DCC):

  • MSCACHEV1 o DCC1 utilizados antes de Windows Vista y Server 2003
  • MSCACHEV2 o DCC2 usados después de Windows Vista y Server 2003

En esta ocasión, especialistas en seguridad en redes del Instituto Internacional de Seguridad Cibernética (IICS) le mostrarán un método para extraer cuentas del caché de dominio, además de algunas formas de extraer contraseñas con hashing mediante la explotación de un usuario de dominio.

Metasploit

Metasploit es una herramienta que permite a los pentesters recuperar los hashes de MSCACHE almacenados en un sistema Windows. El módulo correspondiente recupera los hashes de dominio que se almacenaron en caché como resultado de una configuración de directiva de grupo. Acorde a los expertos en seguridad en redes, los sistemas Windows almacenan de forma predeterminada la información sobre las últimas 10 autorizaciones exitosas:

use post/windows/gather/cachedump
set session 2
exploit 

Según los resultados de la elaboración del módulo, los hashes de contraseña se descargan de DCC2/MSCACHE, como se muestra en la siguiente captura de pantalla:

Impacket

Esta información también puede ser recuperada usando Python y bibliotecas impacket. Recuerde que antes de usar esta técnica, deberá guardar el sistema y las ramas de registro de seguridad de forma local, para lo cual deberá emplear los siguientes comandos:

reg save hklm\system c:\system
reg save hklm\security c:\secuirty 

A continuación, copie los archivos resultantes en la ubicación de impacket. En este ejemplo, la copia se produce en un sistema con Kali Linux. Luego, para extraer los hash DCC2/MSCACHE, use el siguiente comando:

python secretsdump.py -security -system system LOCAL

El resultado de la ejecución de este script se muestra en la siguiente captura de pantalla:

Mimikatz

Los investigadores de seguridad en redes mencionan que Mimikatz es una de las mejores utilidades de pentesting y extracción de cuentas en Windows. Para extraer los hashes de DCC2/MSCACHEv2, debe instalar Mimikatz en el sistema comprometido y ejecutar el siguiente comando:

privilege::debug
token::elevate
lsadump::cache

El resultado de ejecutar los comandos anteriores se muestra a continuación:

PowerShell Empire

Los expertos mencionan que PowerShell Empire tiene un módulo para extraer los hashes de MSCACHEV2 del registro de una máquina comprometida. Para usar PowerShell Empire en su sistema local, puede descargar y ejecutar los comandos en el sistema objetivo para usar el módulo posterior y luego ingresar un nuevo comando:

usemodule credentails/mimikatz/cache
set agent <agent_id>
execute

Los resultados del trabajo del módulo sobre la descarga de hashes MSCACHEv2 se muestran en la siguiente captura de pantalla:

Koadic

Al igual que con Powershell Empire, puede usar la utilidad Koadic para extraer hashes DCC2 usando el siguiente módulo:

use mimikatz_dotnet2js
set MIMICMD lsadump::cache

Los resultados se muestran en la siguiente captura de pantalla:

Scripts de Python

Al igual que en el ejemplo de impacket, puede utilizar el script mscache.py para recuperar los hashes de MSCACHEV2. Descargue el script de GitHub y, durante el inicio, especifique las rutas a los archivos cargados como parámetros:

python mscache.py --security /root/Desktop/security –system /root/Desktop/system

El resultado de la ejecución de este script se muestra a continuación:

Descifrado de hashes recibidos

Según mencionan los expertos en seguridad en redes, estos hashes no se utilizan durante los ataques de pase de hash, por lo que se requerirá una herramienta adicional para el descifrado, como John the Ripper:

john --format=mscasch2 --wordlist=/usr/share/wordlists/rockyou.txt mhash

Como resultado, obtenemos la contraseña de texto sin cifrar para el hash especificado. Trate de no confundirse entre DCC2 y MSCACHEV2/MSCASH. Estos hashes son idénticos y se pueden extraer utilizando las técnicas anteriores.

Para conocer más sobre riesgos de seguridad informática, malware, vulnerabilidades y tecnologías de la información, no dude en ingresar al sitio web del Instituto Internacional de Seguridad Cibernética (IICS).