Publicado: 20 de Junio de 2025
Autor: José Miguel Romero aKa x3m1SecDificultad: ⭐ Easy
OS: Windows
📝 Descripción
Sauna es una máquina Windows de dificultad fácil que simula un entorno de Active Directory corporativo. La máquina presenta un sitio web de un banco ficticio que revela información sobre empleados, lo que permite la enumeración de usuarios válidos del dominio. La explotación inicial se logra mediante AS-REP Roasting contra un usuario sin pre-autenticación Kerberos habilitada. La escalada de privilegios se realiza a través del descubrimiento de credenciales hardcodeadas en el registro de Windows y culmina con un ataque DCSync para obtener acceso administrativo completo.
🎯 Puntos Clave
Reconocimiento web: Extracción de nombres de empleados del sitio web corporativo
Generación de usernames: Uso de username-anarchy para crear listas de usuarios potenciales
Enumeración de usuarios: Kerbrute para validar usuarios en el dominio
AS-REP Roasting: Explotación de usuarios sin pre-autenticación Kerberos
Credenciales en registro: Descubrimiento de credenciales de AutoLogon
Análisis con BloodHound: Identificación de privilegios DCSync
DCSync Attack: Volcado completo de hashes del dominio
🔭 Reconocimiento
🏓 Ping para verificación en base a TTL
💡 Nota: El TTL cercano a 128 sugiere que probablemente sea una máquina Windows.
🚀 Escaneo de puertos
🔍 Enumeración de servicios
⚠️ Añadimos el siguiente vhost a nuestro fichero /etc/hosts:
📋 Análisis de Servicios Detectados
Puerto 53 (DNS): Servidor DNS del dominio
Puerto 80 (HTTP): Sitio web corporativo del banco
Puerto 88 (Kerberos): Servicio de autenticación del dominio
Puerto 389/636 (LDAP/LDAPS): Servicios de directorio
Puerto 445 (SMB): Compartición de archivos
Puerto 5985 (WinRM): Administración remota de Windows
Puertos RPC varios: Servicios de llamadas remotas
🌐 Enumeración de Servicios
🗂️ Puerto 445 - SMB
Dado que no tenemos credenciales, intentamos enumeración con sesión nula pero no obtenemos información útil:
🌐 Puerto 80 - HTTP (Egotistical Bank)
Al acceder al sitio web encontramos una página corporativa del banco ficticio "Egotistical Bank":
🔍 Fuzzing de directorios
👥 Extracción de nombres de empleados
En la página /about.html encontramos información valiosa sobre los empleados del banco:
Fergus Smith - Senior Manager
Shaun Coins - Marketing Manager
Sophie Driver - Account Manager
Bowie Taylor - HR Manager
Hugo Bear - CEO
Steven Kerb - Software Engineer
Creamos una lista con estos nombres para generar posibles usernames:
🎯 Explotación Inicial
👤 Generación de Usernames
Utilizamos username-anarchy para generar diferentes combinaciones de nombres de usuario:
Esto genera combinaciones como:
fergus, fsmith, fergus.smith, ferguss
shaun, scoins, shaun.coins, shauns
sophie, sdriver, sophie.driver, sophied
etc.
🔐 Enumeración de usuarios con Kerbrute
Usamos la herramienta kerbrute para tratar de enumerar usuarios válidos en el dominio
¡Excelente! Encontramos un usuario válido: fsmith (Fergus Smith)
🎫 AS-REP Roasting
Verificamos si el usuario fsmith tiene la pre-autenticación de Kerberos deshabilitada:
¡Perfecto! El usuario tiene AS-REP Roasting habilitado. Guardamos el hash para crackearlo.
🔨 Cracking del hash
¡Credenciales obtenidas!
Usuario: fsmith
Contraseña: Thestrokes23
✅ Verificación de acceso
🚪 Acceso Inicial
💻 Conexión vía WinRM
🏃♂️ Captura de User Flag
🔝 Escalada de Privilegios
🔍 Enumeración del sistema
🗝️ Descubrimiento de credenciales en el registro
Realizamos enumeración básica del sistema en busca de vectores de escalada y encontramos credenciales almacenadas en el registro de Windows:
¡Nueva credencial encontrada!
Usuario: svc_loanmgr (svc_loanmanager)
Contraseña: Moneymakestheworldgoround!
🔄 Movimiento lateral
Verificamos si esta nueva cuenta tiene acceso WinRM:
Nos conectamos con la nueva cuenta:
🩸 Análisis con BloodHound
Para analizar mejor los privilegios y relaciones en el dominio, utilizamos SharpHound:
📊 Análisis de privilegios
Una vez cargamos los datos en BloodHound y marcamos svc_loanmgr como "Owned", descubrimos que este usuario tiene privilegios especiales:
GetChanges: Permite leer cambios en el directorio
GetChangesAll: Permite leer todos los cambios, incluyendo secretos
Estos privilegios nos permiten realizar un ataque DCSync para volcar todos los hashes del dominio.
💀 Ataque DCSync
¡Hash del Administrador obtenido!
Hash NTLM: <REDACTED>
👑 Acceso como Administrador
🔐 Pass The Hash
Utilizamos el hash NTLM del administrador para obtener acceso completo:
nmap -sC -sV -p$ports 10.10.10.175 -oN services.txt
Starting Nmap 7.95 ( https://nmap.org ) at 2025-06-20 18:22 CEST
Nmap scan report for 10.10.10.175
Host is up (0.051s latency).
PORT STATE SERVICE VERSION
53/tcp open domain Simple DNS Plus
80/tcp open http Microsoft IIS httpd 10.0
|_http-server-header: Microsoft-IIS/10.0
| http-methods:
|_ Potentially risky methods: TRACE
|_http-title: Egotistical Bank :: Home
88/tcp open kerberos-sec Microsoft Windows Kerberos (server time: 2025-06-20 23:22:22Z)
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: EGOTISTICAL-BANK.LOCAL0., 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 tcpwrapped
3268/tcp open ldap Microsoft Windows Active Directory LDAP (Domain: EGOTISTICAL-BANK.LOCAL0., Site: Default-First-Site-Name)
3269/tcp open tcpwrapped
5985/tcp open http Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
|_http-server-header: Microsoft-HTTPAPI/2.0
|_http-title: Not Found
9389/tcp open mc-nmf .NET Message Framing
49668/tcp open msrpc Microsoft Windows RPC
49673/tcp open ncacn_http Microsoft Windows RPC over HTTP 1.0
49674/tcp open msrpc Microsoft Windows RPC
49677/tcp open msrpc Microsoft Windows RPC
49689/tcp open msrpc Microsoft Windows RPC
49697/tcp open msrpc Microsoft Windows RPC
Service Info: Host: SAUNA; OS: Windows; CPE: cpe:/o:microsoft:windows
Host script results:
|_clock-skew: 7h00m00s
| smb2-security-mode:
| 3:1:1:
|_ Message signing enabled and required
| smb2-time:
| date: 2025-06-20T23:23:14
|_ start_date: N/A
echo "10.10.10.175 EGOTISTICAL-BANK.LOCAL" | sudo tee -a /etc/hosts
smbclient -N -L //10.10.10.175
Anonymous login successful
Sharename Type Comment
--------- ---- -------
Reconnecting with SMB1 for workgroup listing.
do_connect: Connection to 10.10.10.175 failed (Error NT_STATUS_RESOURCE_NAME_NOT_FOUND)
Unable to connect with SMB1 -- no workgroup available
enum4linux 10.10.10.175
# No devuelve información útil debido a restricciones de acceso