Escape

Publicado: 24 de Junio de 2025 Autor: José Miguel Romero aKa x3m1Sec Dificultad: ⭐ Medium OS: Windows
📝 Descripción
Sequel es una máquina Windows de dificultad media que simula un entorno empresarial con Active Directory Certificate Services (ADCS). La explotación comienza con el acceso a recursos SMB públicos que contienen documentación sobre procedimientos de acceso a SQL Server. A través de estas credenciales iniciales, se realiza un ataque de captura de hash NTLMv2 mediante el abuso de la función xp_dirtree en MSSQL. Una vez obtenidas las credenciales del usuario sql_svc, se accede al sistema via WinRM y se descubren credenciales adicionales en logs del servidor SQL. Finalmente, se explota una vulnerabilidad ESC1 en ADCS para obtener un certificado digital que permite suplantar al administrador del dominio y comprometer completamente el sistema.
📊 Resumen de la Explotación
🔗 Cadena de Ataque
🎯 Puntos Clave
Enumeración SMB: Acceso a recursos públicos con credenciales anónimas
Análisis de documentación: Extracción de credenciales de manuales corporativos
MSSQL Enumeration: Uso de
xp_dirtreepara captura de hash NTLMv2Cracking de hashes: Obtención de credenciales mediante diccionario
Log Analysis: Búsqueda de credenciales en archivos de log del sistema
ADCS ESC1: Explotación de plantillas de certificados vulnerables
Certificate Impersonation: Suplantación de identidad mediante certificados digitales
🔭 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
53
DNS
Servicio DNS del dominio
88
Kerberos
Autenticación del dominio
135
MSRPC
Llamadas a procedimientos remotos
139/445
SMB/NetBIOS
Recursos compartidos
389/636
LDAP/LDAPS
Directorio activo
1433
MSSQL
Base de datos SQL Server
5985
WinRM
Administración remota de Windows
🔥 Servicios críticos identificados:
SMB (445): Posible acceso a recursos compartidos
MSSQL (1433): Base de datos con potencial información sensible
WinRM (5985): Vector de acceso remoto
LDAP (389/636): Enumeración de usuarios del dominio
🌐 Enumeración de Servicios
🗂️ SMB (Puerto 445) - Acceso Inicial
Ya que no disponemos de credenciales, comenzamos tratando de enumerar posibles recursos mediante una sesión nula:
🎯 Recursos compartidos identificados:
Public → Acceso de lectura disponible ✅
IPC$ → Acceso de lectura para enumeración ✅
ADMIN$, C$, NETLOGON, SYSVOL → Sin acceso ❌
🔍 Enumeración del recurso Public
📄 Contenido del archivo "SQL Server Procedures":

🔍 Información extraída del documento:
Debido a incidentes de seguridad previos con servidores SQL
Tom implementó procedimientos de acceso para testing en servidor clonado
Usuario de prueba:
PublicUserContraseña:
GuestUserCantWrite1Método de autenticación: SQL Server Authentication (no Windows Auth)
Instancia temporal en el controlador de dominio (será eliminada)
🔑 Primera credencial obtenida: PublicUser:GuestUserCantWrite1
🗄️ MSSQL (Puerto 1433) - Escalada de Privilegios
Verificamos las credenciales encontradas en el documento PDF contra el servicio MSSQL:

SQL Server Authentication utilizada (sin
-windows-auth)Conexión exitosa al servidor SQL
🔧 Enumeración de privilegios y capacidades

⚠️ Limitaciones identificadas:
Usuario no tiene privilegios de
sysadminNo puede habilitar
xp_cmdshellpara ejecución de comandosAcceso limitado a funciones administrativas
🎯 Ataque de Captura de Hash NTLMv2 - xp_dirtree
Configuramos un servidor SMB malicioso para capturar hashes:
Forzamos la autenticación del servicio SQL contra nuestro servidor:
🎉 Hash NTLMv2 capturado:
🔓 Cracking del Hash

🔑 Segunda credencial obtenida: sql_svc:REGGIE1234ronnie
🚀 Acceso Inicial
🔐 Acceso WinRM como sql_svc
👥 Enumeración de usuarios del sistema
🎯 Usuarios identificados:
Administrator → Objetivo principal
Ryan.Cooper → Usuario potencial (sin acceso actual)
sql_svc → Usuario actual
🕵️ Enumeración del Sistema
📂 Búsqueda de información sensible
🔍 Análisis de logs de SQL Server
🚨 Información crítica encontrada en los logs:
💡 Análisis de los logs:
Usuario
Ryan.Cooperintentó autenticarseLa contraseña
NuclearMosquito3fue enviada como nombre de usuario por errorTípico error humano durante el proceso de login
🔑 Tercera credencial obtenida: Ryan.Cooper:NuclearMosquito3
🔄 Movimiento Lateral
🎯 Acceso como Ryan.Cooper
🏆 Primera Flag - User.txt
🔍 Análisis de membresías de grupo
🎯 Grupos críticos identificados:

BUILTIN\Certificate Service DCOM Access
Acceso a servicios de certificados
Alto - Potencial ESC1-ESC8
BUILTIN\Remote Management Users
Acceso WinRM
Medio - Ya explotado
SEQUEL\Domain Users
Usuarios del dominio
Bajo - Acceso estándar
🚨 ¡Grupo crítico detectado! → Certificate Service DCOM Access sugiere presencia de Active Directory Certificate Services (ADCS)
💥 Escalada de Privilegios - ADCS ESC1
🔍 Enumeración de ADCS
📋 Autoridad Certificadora identificada:
CA Name:
sequel-DC-CADNS Name:
dc.sequel.htbStatus: Activa y funcional
🎯 Plantilla vulnerable encontrada:
🧨 ¿Qué es la vulnerabilidad ESC1?
ESC1 es una vulnerabilidad crítica de configuración en ADCS que permite la suplantación de identidad:
🔴 Condiciones requeridas:
✅ Enrollee Supplies Subject: El solicitante puede definir el subject del certificado
✅ Client Authentication: El certificado permite autenticación de usuarios
✅ Usuario tiene permisos de enrollment: Puede solicitar certificados
🎯 Impacto:
Suplantación de cualquier usuario del dominio
Escalada de privilegios sin conocer contraseñas
Compromiso total del dominio
🎫 Explotación - Solicitud de certificado malicioso
📋 Parámetros del ataque:
-u
ryan.cooper@sequel.htb
Usuario autenticado legítimo
-ca
sequel-DC-CA
Autoridad certificadora objetivo
-template
UserAuthentication
Plantilla vulnerable ESC1
-upn
administrator@sequel.htb
Identidad suplantada
-pfx
administrator.pfx
Certificado malicioso generado
🎟️ Autenticación con certificado malicioso
🎉 ¡Hash del administrador obtenido!
👑 Compromiso Total del Sistema
🚀 Pass-the-Hash Attack
🏆 Flag Final - Root.txt
🛠️ Herramientas Utilizadas
nmap
Port scanning y service enumeration
Reconocimiento
smbclient
Enumeración de recursos SMB
Enumeración
impacket-mssqlclient
Conexión a SQL Server
Acceso Inicial
impacket-smbserver
Captura de hash NTLMv2
Escalada
hashcat
Cracking de hashes
Escalada
evil-winrm
Acceso remoto Windows
Acceso/Lateral
certipy-ad
Explotación ADCS ESC1
Escalada Final
Last updated