Kerberos 委派
Kerberos 委派是什么,以及怎么利用,也许你们现在会感到有些困惑,这不要紧,因为我们目前只是在枚举阶段,但是我们需要知道 Kerberos 委派对于我们的利用是很关键的,因此对其进行枚举是前期就需要完成的事情。
从结果出发,委派可以让我们在其他主机上执行远程命令,从而接管这些主机。但我们也需要注意,有些用户和计算机是不允许被委派的,比如域管理员,因为他们具有很高的权限。
WHITE-BIRD 中的 Administrator 就不可被委派。
我们需要枚举的委派有 3 类:
非约束委派
非约束委派无疑是最强大的,因为对非约束委派的成功利用往往可能导致对整个域乃至森林的接管。
Get-NetComputer -Unconstrained | select dnshostname
当前域中,只有 DC 是被设置了非约束委派的。域控制器总是会被设置非约束委派,但这对于我们并没有帮助。而在 RAVEN-MED 中,我们发现了 mon01 是被设置了非约束委派的。
我们在 BloodHound 中,可以用内置的语句查询所有到达被设置了非约束委派主机的路径。图像比较凌乱,但我们可以看到有 4 台 主机被设置了非约束委派。
约束委派
通常,我们可以通过利用约束委派横向移动到至少 1 台其他主机上,这取决于被设置约束委派的主机/服务帐号可以委派多少主机与服务。不仅主机可以被设置约束委派,服务帐号也可以。
Get-NetComputer -TrustedToAuth
Get-NetUser -TrustedToAuth
我们发现 WEB02 被设置了约束委派。除此之外,并没有发现被设置了约束委派的服务帐号。
基于资源的约束委派 (RBCD)
如果被我们控制的主机或服务账号对其他主机具有 GenericWrite 以及更高 (AllExtendedRights) 的权限,我们最终可以通过利用 S4U 横向移动到其他主机上。
至于枚举的话,通过查看 BloodHound的 显示更为直观。或者使用脚本 adPEAS 协助我们发现可利用的RBCD。可惜的是,这两款工具都没有发现 RBCD 的存在。
实际上 File01 对 Mon01 具有 AllExtendedRights 权限,因此可以用于利用 RBCD。所以,我们不能过于依赖某个特定工具以及自动化的扫描。