恢复 Windows 服务用户登录帐户的密码

信息安全 密码 视窗 活动目录 服务帐户
2021-08-24 11:40:54

设置 Windows 服务时,需要指定用于身份验证的用户帐户以及该用户的密码。在他们的用户帐户选择指南中,Microsoft 声明在使用域用户帐户时,

请注意,即使服务控制管理器 (SCM) 将密码存储在注册表的安全部分中,它仍然会受到攻击。

他们没有提到这种攻击会是什么样子。我假设有人希望在托管服务的操作系统上拥有管理权限,而且密码似乎只在服务启动时使用,因此重新启动它可以发挥作用。

所以,问题是:微软说域用户的密码受到攻击是什么意思?而且,操作系统的(更新的)版本之间是否存在任何实质性差异?

2个回答

此处记录了访问 LSA 机密的一种方法

简而言之:

  • 调用 Enable-TSDuplicateToken 函数。

  • 将现有的注册表项复制到另一个临时项。

  • 用户 Powershell 或其他框架调用函数来读取机密。

您还可以使用NirSoft LSASecretsView工具。

您确实必须已经拥有系统的管理员权限,据我所知,最近版本的 Windows 没有任何区别(除了 McMatty 已经指出的缓解措施)。

因此,第一件事是该帐户将拥有一个凭证对,如果提取该凭证对,将授予对网络的额外访问权限。您的某些计算机可能已设置为允许域用户登录计算机,或者此帐户可以访问攻击者试图访问的计算机。因此,此服务帐户身份现在可以访问其他资源。

攻击

以下只是针对机器和账户的攻击——哈希也可以被离线拦截和破解或用于传递哈希攻击

用户帐户凭据也可以设置为选择弱可猜测密码的人,并且根据锁定设置(如果已启用),它可能会被暴力破解。

给定系统或管理员权限,攻击者可以尝试运行 mimikatz 以从服务帐户中提取凭据。

缓解措施

对于需要其他域资源权限的服务,如果您可以使用托管服务帐户 - 这消除了密码方面,因为它现在由计算机管理和轮换。

https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/dd560633(v=ws.10)

Windows 10Server 2016上的凭据保护它将消除 mimikatz 和其他基于内存的攻击从 lsa 中提取凭据的能力。

https://blog.nviso.be/2018/01/09/windows-credential-guard-mimikatz/