Return

Publicado: 23 de Mayo de 2025 Autor: Josรฉ Miguel Romero aKa x3m1Sec Dificultad: โญ Easy OS: Windows
๐ Descripciรณn
Return es una mรกquina Windows de dificultad Easy que simula un entorno de Active Directory con un panel de administraciรณn de impresoras web. La mรกquina presenta vulnerabilidades relacionadas con la configuraciรณn insegura de autenticaciรณn LDAP y privilegios excesivos del usuario de servicio.
La explotaciรณn inicial se basa en la captura de credenciales en texto plano mediante la manipulaciรณn de la configuraciรณn de un panel de administraciรณn de impresoras que utiliza LDAP sin cifrado (puerto 389). Una vez obtenidas las credenciales, se aprovechan los privilegios del grupo "Server Operators" para modificar servicios existentes y lograr escalada de privilegios a SYSTEM.
Esta mรกquina es ideal para practicar tรฉcnicas de:
Enumeraciรณn de servicios en entornos Windows/AD
Captura de credenciales mediante configuraciones inseguras
Escalada de privilegios mediante manipulaciรณn de servicios
Uso de WinRM para acceso remoto
๐ฏ Resumen
Vulnerabilidad Principal
Configuraciรณn insegura de LDAP (puerto 389 sin cifrado)
Vector de Acceso
Captura de credenciales mediante manipulaciรณn de configuraciรณn web
Usuario Inicial
svc-printer
Escalada de Privilegios
Modificaciรณn de servicios (grupo Server Operators)
Herramientas Principales
Nmap, Evil-WinRM, Netcat, sc.exe
๐ญ 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
๐ฏ Anรกlisis de servicios identificados
Servicios crรญticos identificados:
Puerto 80 (HTTP): Panel de administraciรณn de impresoras HTB
Puerto 389 (LDAP): Active Directory LDAP sin cifrado
Puerto 5985 (WinRM): Windows Remote Management habilitado
Puerto 445 (SMB): Comparticiรณn de archivos de Windows
Puerto 88 (Kerberos): Autenticaciรณn de dominio
โ ๏ธ Importante: Debemos aรฑadir el siguiente vhost a nuestro fichero /etc/hosts
๐ช Acceso Inicial
๐ Enumeraciรณn SMB
Dado que no disponemos de credenciales, tratamos de enumerar sin รฉxito este servicio mediante una sesiรณn nula:
๐ Enumeraciรณn LDAP
Tampoco logramos enumerar nada de forma anรณnima contra LDAP:
๐ Anรกlisis del servicio HTTP (Puerto 80)

Vemos una cuenta de usuario que se estรก autenticando contra LDAP:

Aรฑadimos el vhost printer.return.local a nuestro fichero /etc/hosts.
En la imagen anterior en la pestaรฑa "Settings" vemos que la impresora utiliza el puerto LDAP inseguro 389 en lugar de LDAPS 636 seguro para la comunicaciรณn, lo que significa que las credenciales se pueden capturar en texto claro.
๐ฃ Captura de credenciales
Dado que tenemos permisos de ediciรณn, podemos manipular la peticiรณn para dirigirla a un recurso nuestro en lugar de printer.return.local y al hacer clic en "Update" podremos capturar las credenciales.
Para hacer esto, una forma serรญa iniciar un listener con netcat en el puerto 389 de nuestro host de ataque:
A continuaciรณn deberemos especificar la IP de la interfaz tun0 nuestro host de ataque y hacer click en "Update":

Y podremos capturar la contraseรฑa en claro: ![[Writeups/HTB/Road to OSCP/Lainkusanagi OSCP/Return/5.png]]
Credenciales obtenidas:
Usuario:
svc-printerContraseรฑa:
1edFg43012!!
โ
Verificaciรณn de credenciales
Verificamos la credencial con los servicios SMB y WinRM y verificamos que podemos autenticarnos mediante WinRM. Usamos la herramienta evil-winrm para ganar acceso al sistema usando este servicio:

๐ Conexiรณn via WinRM
๐ Primera flag
Capturamos la primera flag en el directorio Desktop del usuario svc-printer:
๐ Escalada de privilegios
๐ Enumeraciรณn de privilegios
Enumeramos privilegios del usuario svc-printer:

Privilegios importantes identificados:
SeLoadDriverPrivilegeSeBackupPrivilegeSeRestorePrivilege
๐ฅ Anรกlisis de membresรญa de grupos
Si verificamos la informaciรณn del usuario svc-printer vemos que pertenece entre otros al grupo Server Operators:

๐ก Nota crรญtica: Los miembros que pertenecen al grupo Server Operators pueden administrar controladores de dominio y pueden tambiรฉn detener e iniciar servicios.
๐ง Enumeraciรณn de servicios
Echamos un vistazo a los servicios que se estรกn ejecutando en la mรกquina:

๐ฏ Explotaciรณn de privilegios de servicio
Plan A - Crear servicio nuevo: Podemos probar a crear un servicio propio que manejaremos a nuestro antojo para establecer una conexiรณn reversa:
Intentamos crear nuestro servicio pero obtenemos error de acceso denegado:
Plan B - Modificar servicio existente: En lugar de crear un servicio nuevo, podemos intentar editar uno ya existente:
ยกFunciona con el servicio VMTools!

๐ Ejecuciรณn del ataque
Iniciamos listener en nuestro host de ataque:
Detenemos el servicio:
Iniciamos el servicio:
๐ Obtenciรณn de acceso root
Recibimos la conexiรณn reversa como usuario de altos privilegios:
๐ Flag de root
Last updated