域信任
域信任决定了域与域之间对彼此的资源访问权限,尤其是当我们已经获得了当前域的域管理员,想移动到其他的域或森林里,利用域信任尤其必要。即便尚未获得当前域的域管理员,我们也可以枚举外部域的信息从而打开突破口,外部成员也可以给我们带来突破域的途径。
需要强调的是,域信任的方向与资源访问的方向是相反的,域 A 信任 域 B,那么 域 B 中的主体可以访问 域 A 中的资源。如果信任是双向的,则资源访问也是双向的。枚举域的信任是很直接的,我们只需要命令 Get-DomainTrust。接下来,我们讨论一下各种情况下的域信任。
Get-DomainTrust -Domain [域]
森林内信任
也就是子域与父域、或者子域与另一个子域,信任总是双向的,我们可以利用黄金票据或者信任密钥进行横向移动。
森林之间。
我们枚举 PROD 域的信任关系,发现它只与父域 RAVEN-MED 互相信任。
但如果我们枚举 RAVEN-MED 域的信任关系,我们发现它不仅与子域 PROD 互相信任,还与别的域存在信任关系。
那么 PROD 域与这些域间接地存在信任关系吗?这个其实需要看具体配置以及具体分析,森林间的信任在配置信任的时候可以设置成传递性的,也可以是非传递性的。但是,多个森林之间是不可传递的。
森林间双向信任
我们可以看到当前域与森林 raven-medicine.local 是互相信任的,当然,与 prod.raven-medicine.local 也是。
入口信任
raven-medicine 域的信任之中,有来自 med-factory.local 的入口信任,即 raven-med.local 的主题可以访问 med-factory.local 的资源。我们还需要知道信任之间是否建立了选择性信任,即森林中只有特定主体可以对对方域进行认证。该实验中并没有配置该项。
出口信任
当前森林信任 med-deal.local 域,即 med-deal.local 可以对当前域认证并访问资源。我们并不能枚举对面森林,因此我们需要借助别的技巧和途径。
综上,对于双向信任以及出口信任,我们可以使用例如 PowerView、SharpHound、adPEAS 等域内信息枚举工具对可访问资源的域进行跨域枚举。