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_dirtree para captura de hash NTLMv2

  • Cracking 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

Puerto
Servicio
Descripción

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: PublicUser

  • Contraseña: GuestUserCantWrite1

  • Mé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 sysadmin

  • No puede habilitar xp_cmdshell para ejecución de comandos

  • Acceso 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.Cooper intentó autenticarse

  • La contraseña NuclearMosquito3 fue enviada como nombre de usuario por error

  • Tí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:

Grupo
Descripción
Impacto

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-CA

  • DNS Name: dc.sequel.htb

  • Status: 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:

  1. Enrollee Supplies Subject: El solicitante puede definir el subject del certificado

  2. Client Authentication: El certificado permite autenticación de usuarios

  3. 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:

Parámetro
Valor
Descripción

-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

Herramienta
Propósito
Fase

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