Netwrix 1Secure 提供跨数据和身份的统一可见性——免费试用14天,享有完全访问权限。开始免费试用

资源中心博客

WDigest 明文密码:窃取的不止是哈希值

WDigest 明文密码:窃取的不止是哈希值

Dec 18, 2024

什么是 WDigest?

Digest Authentication(摘要认证)是一种挑战/响应协议,主要用于 Windows Server 2003 中的 LDAP 以及基于 Web 的认证。它使用超文本传输协议(HTTP)与简单认证安全层(SASL)的交换来完成身份验证。

从高层次来看,客户端请求访问某个资源,认证服务器向客户端发起挑战,客户端通过使用由密码派生出来的密钥对其响应进行加密来回应该挑战。加密后的响应会与认证服务器上存储的响应进行对比,以确定用户是否输入了正确的密码。Microsoft 提供了关于 WDigest 的更深入 in-depth explanation of WDigest。

WDigest 引入了哪些安全风险?

WDigest 会将明文密码存储在内存中。因此,如果攻击者能够访问终端设备,就可以使用类似 Mimikatz 这样的工具,不仅获取内存中存储的哈希,还能获取明文密码。结果是,他们将不再仅限于诸如 Pass-the-Hash 之类的攻击;他们还能够登录到 Exchange、内部网站以及其他需要输入用户 ID 和密码的资源。

例如,假设用户“TestA”使用远程桌面登录到一台机器,并将其密码留在内存中。下面的截图展示了攻击者在使用 Mimikatz 从该机器内存中转储凭据时会看到的内容。正如你所看到的,他们既获得了该账户的 NTLM 密码哈希,也获得了明文密码“Password123”。

WDigest Clear-Text Passwords 1

可以采取哪些措施来缓解这种风险?

幸运的是,Microsoft 发布了一个安全更新(KB2871997),允许组织配置一个注册表设置,以防止 WDigest 将明文密码存储到内存中。不过,这样做会导致 WDigest 无法工作,因此 Microsoft 建议先确认你的环境中是否正在使用 Digest 身份验证。请检查服务器上的事件日志,查找事件 ID 4624 并检查域控制器日志中的事件 ID 4776 以查看是否有任何用户使用“Authentication Package: WDigest”完成了登录。一旦你确定不存在此类事件,就可以在不影响环境的情况下进行注册表更改。

Windows 7、Windows 8、Windows Server 2008 R2 和 Windows Server 2012

对于 Windows 7、Windows 8、Windows Server 2008 R2 和 Windows Server 2012,安装更新 KB2871997,然后将以下注册表项设置为 0:

WDigest Clear-Text Passwords 2

最简单的方法是通过 Group Policy,但下面的脚本也可以使用:

      reg add
HKLMSYSTEMCurrentControlSetControlSecurityProvidersWDigest /v
UseLogonCredential /t REG_DWORD /d 0
      

Windows 和 Windows Server 的后续版本

较新版本的 Windows 和 Windows Server 不需要安全更新,并且注册表值默认设置为 0。不过,你应使用以下脚本验证该值是否未被手动更改:

      reg query
HKLMSYSTEMCurrentControlSetControlSecurityProvidersWDigest /v
UseLogonCredential
      

结果

一旦将此注册表值设置为 0,攻击者通过从内存中转储凭据将无法获得明文密码;相反,他们会看到:

WDigest Clear-Text Passwords 3

参考图表

下面是一张图表,帮助你判断是否需要对端点采取行动:

WDigest Clear-Text Passwords 4

快速回顾

WDigest 会在内存中以明文形式存储凭据,攻击者可能会从中窃取这些凭据。Microsoft 的安全更新 KB2871997 通过允许你设置注册表值来解决较旧版本的 Windows 和 Windows Server 中的问题;而较新版本默认就具有正确的值。

在所有 Windows 终端上检查此注册表设置应成为优先事项,因为凭据被盗可能导致敏感信息丢失。实现这一点的一种方法是对所有主机运行命令行查询;更快捷的选项是使用审计解决方案自动化该过程,并以易于消化的报告形式提供结果。

Netwrix 如何提供帮助?

Netwrix Access Analyzer 可帮助你增强 Windows 基础架构的安全性,并将 数据泄露 的风险降到最低。它能够让你:

  • 识别可被攻击者利用来入侵 Windows 系统并获取到您数据的漏洞。
  • 通过 基线配置 分析来落实安全与运营策略。
  • 审计并治理特权账户。
  • 借助预构建的报表和完整的系统透明度,更轻松地证明合规性。

Netwrix Access Analyzer

分享到

了解更多

关于作者

Asset Not Found

Kevin Joyce

产品管理总监

Netwrix 产品管理总监。Kevin 对网络安全充满热情,尤其致力于理解攻击者为利用组织环境所采用的策略与技术。凭借八年的产品管理经验,并专注于 Active Directory 和 Windows 安全,他将这种热情投入到帮助构建解决方案中,助力组织保护其身份、基础设施和数据。