External Forest Domain - One-Way (Outbound)
在这种情况下,您的域正在将一些特权委托给来自不同域的主体。
枚举
出站信任
信任账户攻击
当两个域之间建立信任关系时,即域 A 和域 B 之间建立信任关系时存在安全漏洞,其中域 B 将其信任扩展到域 A。在这种设置中,在域 A 中为域 B 创建了一个特殊账户,该账户在两个域之间的身份验证过程中起着至关重要的作用。与域 B 关联的这个账户用于加密跨域访问服务的票证。
在这里需要理解的关键方面是,可以使用命令行工具从域 A 中的域控制器中提取此特殊账户的密码和哈希值。执行此操作的命令为:
这种提取是可能的,因为带有名称后面的 $ 的帐户是活动的,并且属于域 A 的 "Domain Users" 组,从而继承与该组关联的权限。这允许个人使用该帐户的凭据对域 A 进行身份验证。
警告: 可以利用这种情况在域 A 中作为用户获得立足点,尽管权限有限。但是,这种访问权限足以在域 A 上执行枚举。
在ext.local
是信任域,root.local
是受信任域的情况下,将在root.local
中创建一个名为EXT$
的用户帐户。通过特定工具,可以转储Kerberos信任密钥,揭示root.local
中EXT$
的凭据。实现此目的的命令是:
接下来,可以使用提取的RC4密钥通过另一个工具命令进行身份验证,身份验证为root.local\EXT$
,在root.local
中。
这个认证步骤打开了在 root.local
内枚举甚至利用服务的可能性,比如执行 Kerberoast 攻击来提取服务账户凭据:
获取明文信任密码
在先前的流程中,使用了信任哈希而不是明文密码(也被mimikatz转储)。
可以通过将mimikatz的[ CLEAR ]输出从十六进制转换并移除空字节‘\x00’来获取明文密码:
有时,在创建信任关系时,用户必须输入信任的密码。在这个演示中,关键是原始的信任密码,因此是可读的。随着密钥的循环(30天),明文将不再是可读的,但在技术上仍然可用。
明文密码可用于以信任帐户的身份执行常规身份验证,这是使用信任帐户的Kerberos密钥请求TGT的替代方法。在这里,从ext.local查询root.local的Domain Admins成员:
参考
最后更新于