近日,外媒报道了微软 NTLM 协议中存在的新漏洞,或导致在任何 Windows 计算机上执行远程代码、或对任何支持 Windows 集成身份验证(WIA)的 Web 服务器(如 Exchange 和 ADFS)进行身份验证。具体说来是,Perrmpt 研究小组发现了由三个逻辑缺陷组成的两个严重漏洞,且所有 Windows 版本都易受到攻击影响。更糟糕的是,新漏洞可绕过微软此前已部署的缓解措施。
NTLM 中继流程示意(来自:HelpNetSecurity,viaMSPU)
据悉,NTLM Relay 是 Active Directory 环境中最常用的攻击技术之一。虽然微软此前已经开发了几种缓解 NTLM 中继攻击的缓解措施,但 Preempt 研究人员发现其仍然存在隐患:
- 消息完整性代码(MIC)字段可确保攻击者不会篡改 NTLM 消息,但研究人员发现的旁路攻击,可以卸下 MIC 的保护,并修改 NTLM 身份验证流程中的各个字段,如签名协商。
- SMB 会话签名可防止攻击者转发 NTLM 身份验证消息以建立 SMB 和 DCE / RPC 会话,但旁路攻击仍能将 NTLM 身份验证请求中继到域中的任何服务器(包括域控制器),同时建立签名会话以执行远程代码。如果中继身份验证属于特权用户,则会对全域造成损害。
- 增强型身份验证保护(EPA)可防止攻击者将 NTLM 消息转发到 TLS 会话,但攻击者仍可绕过并修改 NTLM 消息,以生成合法的通道绑定信息。这使得攻击者可利用用户权限连接到各种 Web 服务,并执行读取用户电子邮件(通过中继到 OWA 服务器)、甚至连接到云资源(通过中继到 ADFS 服务器)等各种操作。
Preempt 负责地向微软公司披露了上述漏洞,后者在周二的时候发布了 CVE-2019-1040 和 CVE-2019-1019 补丁来应对这些问题。
然而 Preempt 警告称,这么做还不足以充分应对 NTLM Relay 带来的安全隐患,因为管理员还需要对某些配置加以更改,才能确保有效的防护。
下面是管理员的建议操作:
(1)执行修补程序 – 确保为工作站和服务器打上了所需的补丁。
(2)强制 SMB 签名,放置攻击者发起更简单的 NTLM 中继攻击,请务必在网络中的所有计算机上启用 SMB 签名。
(3)屏蔽 NTLMv1 – 该版本相当不安全,建议通过适当的组策略来完全封禁。
(4)强制执行 LDAP / S 签名 – 要防止 LDAP 中的 NTLM 中继,请在域控制器上强制执行 LDAP 签名和 LDAPS 通道绑定。
(5)实施 EPA – 为防止 Web 服务器上的 NTLM 中继,请强化所有 Web 服务器(OWA / ADFS),仅接受使用 EPA 的请求。
(6)减少 NTLM 的使用 – 因为即便采用了完整的安全配置,NTLM 也会比 Kerberos 带来更大的安全隐患,建议在不必要的环境中彻底弃用。