Blackfield

Publicado: 27 de Junio de 2025 Autor: José Miguel Romero aKa x3m1Sec Dificultad: ⭐ Hard OS: Windows

📝 Descripción

Blackfield es una máquina Windows de nivel Hard que presenta un entorno de Active Directory complejo y desafiante. Esta máquina está diseñada para poner a prueba habilidades avanzadas de pentesting en entornos empresariales Windows, incluyendo técnicas de reconocimiento de AD, explotación de privilegios específicos de Windows y escalada de privilegios mediante abuso de funcionalidades del sistema operativo.

La máquina simula un controlador de dominio corporativo con múltiples servicios expuestos, incluyendo SMB, LDAP, Kerberos y WinRM. El vector de ataque inicial requiere un enfoque meticuloso de enumeración para descubrir usuarios válidos del dominio y explotar configuraciones débiles de autenticación.

Objetivos de Aprendizaje:

  • Enumeración avanzada de servicios de Active Directory

  • Técnicas de AS-REP Roasting para obtener hashes de autenticación

  • Explotación de permisos específicos de AD (ForceChangePassword)

  • Análisis forense de volcados de memoria LSASS

  • Abuso del privilegio SeBackupPrivilege para escalada de privilegios

  • Extracción y análisis de la base de datos NTDS.dit


🎯 Información General

Atributo

Valor

Nombre

Blackfield

IP

10.10.10.192

Dificultad

Hard

OS

Windows Server 2019

Puntos

40

Creador

adf11


📊 Resumen de la Explotación

🔗 Cadena de Ataque

🎯 Puntos Clave

  • Vector inicial: Enumeración SMB sin autenticación

  • Técnica crítica: AS-REP Roasting para obtener primer acceso

  • Escalada lateral: Abuso de permisos AD (ForceChangePassword)

  • Análisis forense: Extracción de credenciales desde volcado LSASS

  • Escalada final: Explotación de SeBackupPrivilege para acceso total


🛠️ Herramientas Utilizadas

Herramienta

Propósito

nmap

Reconocimiento y enumeración de puertos

smbclient

Enumeración de recursos SMB

netexec

Enumeración de usuarios y recursos

impacket

Ataques AS-REP Roasting y Kerberoasting

bloodhound

Análisis de rutas de ataque en AD

pypykatz

Análisis de volcados de memoria LSASS

evil-winrm

Shell interactivo en Windows via WinRM

hashcat

Cracking de hashes


🔭 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

389/3268

LDAP

Directorio activo

445

SMB

Recursos compartidos

593

RPC over HTTP

Llamadas RPC via HTTP

5985

WinRM

Administración remota Windows

🔥 Servicios críticos identificados:

  • SMB (445): Potencial acceso a recursos compartidos

  • LDAP (389): Información del directorio activo

  • Kerberos (88): Posibles ataques AS-REP/Kerberoasting

  • WinRM (5985): Shell remoto si obtenemos credenciales


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

📁 Enumeración de recursos compartidos

👥 Enumeración de usuarios

📝 Nota: Se identificaron más de 300 usuarios del dominio mediante RID brute force.

Nos conectamos al recurso profiles$ y descargamos el contenido en nuestro host de ataque, pero tras revisarlo no encontramos nada de interés:


🎫 Ataques de Autenticación Kerberos

🎯 AS-REP Roasting

Verificamos si alguno de los usuarios obtenidos no tiene habilitada la pre-autenticación de kerberos y podemos realizar un ataque de tipo AS-Rep Roasting:

🎉 ¡Éxito! Encontramos que la cuenta support no tiene la pre-autenticación de kerberos habilitada y logramos obtener un ticket.

Alternativa usando kerbrute:

🔓 Cracking del Hash

Procedemos a intentar crackearlo usando hashcat y rockyou.txt:

🔑 Credencial obtenida: support:#00^BlackKnight

🎪 Verificación Kerberoasting

Intentamos sin éxito un ataque de kerberoasting:


🩸 Análisis con BloodHound

📊 Recolección de Datos

Ahora que disponemos de una cuenta unida al dominio con credenciales, usamos bloodhound-python para obtener un mapeo del dominio:

Es importante realizar una configuración adicional introduciendo el nombre de la máquina y el FQDN en /etc/hosts:

🔍 Análisis de Rutas de Ataque

Al cargar los datos en bloodhound vemos que el usuario support tiene el privilegio ForceChangePassword sobre el usuario audit2020:


🔄 Escalada Lateral - Abuso de ForceChangePassword

💡 Explotación del Privilegio

Primero intentamos usar bloodyAD, pero falla debido a restricciones LDAP:

Error: LDAPBindException: LDAP Bind failed! Result code: "invalidCredentials"

🛠️ Métodos Alternativos

Método 1: Comando net

Método 2: Comando rpcclient

📂 Acceso al Recurso Forensic

Una vez cambiada la contraseña, verificamos acceso a recursos compartidos:

🎯 ¡Acceso obtenido! Tenemos permisos de lectura sobre el recurso forensic.


🕵️ Análisis Forense

📥 Descarga de Archivos

Nos conectamos al recurso forensic y descargamos el contenido:

🗂️ Estructura de Archivos Encontrados

  1. commands_output: Volcados de comandos ejecutados en la máquina

  2. memory_analysis: Archivos comprimidos con volcados de memoria

  3. tools: Herramientas como sysinternals y volatility

🧠 Análisis del Volcado LSASS

El archivo más crítico encontrado es lsass.zip:

🔧 Uso de pypykatz

Instalamos y usamos pypykatz para analizar el volcado:

🔑 Extracción de Hashes

Usuario
Hash NT
Estado

svc_backup

9658d1d1dcd9250115e2205d9f48400d

✅ Válido

DC01$

b624dc83a27cc29da11d9bf25efea796

❌ Inválido

Administrator

7f1e4ff8c6a8e6b6fcae2d9c0572cd62

❌ Inválido


💻 Acceso Inicial al Sistema

🏃 Conexión WinRM

Utilizamos el hash válido de svc_backup para conectarnos:

🏁 Primera Flag

📋 Enumeración de Privilegios

En el directorio C:\ encontramos un archivo notes.txt con información adicional.

Información crítica identificada:

  • ✅ Pertenece al grupo Backup Operators

  • ✅ Tiene el privilegio SeBackupPrivilege habilitado


🎁 Escalada de Privilegios - Abuso de SeBackupPrivilege

💡 Concepto del Ataque

El privilegio SeBackupPrivilege permite realizar copias de seguridad de archivos críticos del sistema:

  • SYSTEM (Clave de registro del sistema)

  • SAM (Security Account Manager)

  • NTDS.dit (Base de datos de Active Directory)

📋 Preparación del Entorno

Paso 1: Crear script VSS para montar copia de volumen:

Paso 2: Descargar DLLs necesarias:

Paso 3: Transferir archivos al host víctima:

💾 Extracción de la Base de Datos NTDS

Paso 4: Ejecutar script VSS:

Paso 5: Extraer archivos críticos:

🔓 Extracción de Todos los Hashes

Descargamos los archivos críticos a nuestro host atacante:

Utilizamos impacket-secretsdump para extraer todos los hashes del dominio:


👑 Acceso como Administrator

🔥 Pass-the-Hash Final

Con el hash NT del Administrator extraído, realizamos el ataque final:

🏆 Flag Final


Last updated