总而言之:Credential Guard 是否在 Windows 10 / Windows Server 2016 机器的网络上有效地使传递哈希和传递票证攻击不可用?如果没有,您如何仍然获得哈希或票证以通过?
几年来,我一直在认真研究渗透测试和恶意攻击者方法,从我了解到的关于渗透测试和恶意攻击者方法的知识中,攻击者在渗透目标的 Windows 网络并发现未正确配置和管理以抵抗传递哈希和/或传递票证攻击。在这种情况下,入侵者很容易(使用类似 mimikatz 的工具)转储 NTLM 密码哈希和 Kerberos 凭据,这些凭据包含在内存中或最初被入侵的立足点计算机的磁盘上,并使用它们来成功横向移动并突破网络上的其他盒子。在最好的情况下,您迟早会获得通往王国的钥匙:域管理员或企业管理员的 NTLM 哈希或 Kerberos 票证。如果发生这种情况……目标就会陷入困境。
不幸的是,在 Windows 8.1、Windows Server 2012 R2、Windows 10 和 Windows Server 2016 中,微软已经实施了许多措施,试图使传递哈希和传递票证攻击更难实施。其中最雄心勃勃的被称为Credential Guard,并在客户端和 Windows Server 2016 上进入了 Windows 10 Enterprise。Credential Guard 如何在技术上工作的细节看起来有点复杂。但在高层次上,事情更直接:Windows 利用较新的 Intel 和 AMD 处理器中存在的虚拟化功能,将存在于 Windows 机器内存中的凭据存储区封装在一种特殊类型的虚拟机中。虚拟机(理论上)即使是设法获得操作系统管理员/系统权限的程序也无法渗透。因此,即使您设法将恶意软件安装到 PC 上,甚至设法将您在该 PC 上的权限一直提升到 SYSTEM,但前提是该 PC 启用了 Credential Guard,并且您尝试使用工具像 mimikatz 转储凭证存储一样,您将无法获得任何可用于传递哈希或传递票证的信息。
理论上。
因此,假设您是一名笔测试员,面对一个仅由 Windows 10 Enterprise 工作站、Windows Server 2016 服务器和 Windows Server 2016 域控制器组成的 Windows 域。全部在启用 Credential Guard 的情况下运行。如果您想使用 pass-the-hash 或 pass-the-ticket 进行横向移动,您是不是搞砸了?除了能够在凭证存储中转储散列和票证之外,攻击者还可以使用哪些其他方法来获取可以传递的散列或票证?您可以绕过或禁用 Credential Guard 吗?或者您是否面临完全放弃传递哈希/票证并尝试其他方式进行横向移动?
编辑:仅供参考,事实证明,在 7 月的 Windows 10“周年纪念更新”中,微软非常悄悄地引入了Remote Credential Guard,这显然是为了防止在您启动远程桌面连接时将您的凭据发送到远程框. (我猜,与 RDP 的受限管理模式相同,但有所改进。)来自 MS 的“有用”图表: