出口信任
相比于入口信任与双向信任,出口信任的利用途径则少了许多,因为我们无法直接对目标域进行枚举和访问。如图所示,white-bird 域信任 med-deal 域,因此在 white-bird 域里,我们并不能枚举到 med-deal 域中的信息。
信任密钥利用
我们之前说过,在存在信任关系的 2 个域之中,都会各自分别存储彼此的着信任帐号账户,但是它们的 NTLM 值是相同的以作为跨域密钥。虽然信任帐号账户不会存在特权,但是至少能允许我们在以目标域的上下文中进行信息枚举。
1:获得我们可以通过 Mimikatz 的 lsadump::trust /patch 命令导出口的信任密钥,即也可以通过 [Out]DCSync 中的方式提取。
2:如果使用 rubeusDCSync 的方式,我们需要首先获得受信域对象的 GUID。
我们能看到,值是相同的。因为该密钥每 30 天更换,所以我们往往选择 [Out] 中的。
然后,我们使用 Rubeus 为目标域的信任账户申请 TGTTGT,信任账户的名称形式为对方域 (也就是我们当前所在的域)的域名 (非 FQDN),并以 $ 结尾,看起来像主机账号。
rubeus.exe asktgt /user:
<当前域$>white-bird$ /domain:<目标域>med-deal.local /rc4:<信任密钥>6dc6bd04edfb6b7298b9679531c9e2ca /nowrap /ptt
3:我们可以看到 TGT 请求成功了。创建一个牺牲会话,导入票据,便可以对目标域进行枚举了。
其他
除了信任密钥外,还有一些更加通用的跨域方法,包含但不局限于利用 SQL 链接、窃取正在访问当前域的目标域用户的令牌等。在 MSSQL 利用的内容中,我们知道 Med-deal 中 Srv02 部署的 MSSQL 实例与 Web02 所部署的 MSSQL 实例存在 SQL 链接关系。