近日Preempt研究小组发现了两个关键的微软漏洞,这两个漏洞都和三个NTLM中的逻辑漏洞有关,这些漏洞允许攻击者在任何Windows计算机上远程执行恶意代码,或对支持Windows集成身份验证(WIA)的任何web服务器(如Exchange或ADFS)进行身份验证。根据测试,目前所有Windows 版本都会受到这两个漏洞的影响。更糟糕的是,这两个漏洞可绕过微软此前已部署的所有安全保护措施。
在允许的环境下,Kerberos是首选的认证方式。在这之前,Windows主要采用另一种认证协议——NTLM。NTLM使用在Windows NT和Windows 2000 Server工作组环境中。在AD域环境中,如果需要认证Windows NT系统,也必须采用NTLM。
NTLM容易受到中继攻击,这允许攻击者捕获身份验证并将其转发到另一台服务器,从而使他们能够冒用经过身份验证的用户的特权在远程服务器上执行所有的操作。
NTLM Relay是Active Directory环境中最常见的攻击技术之一,在Active Directory环境中,攻击者先会攻击一台计算机,然后通过使用针对受感染服务器的NTLM身份验证向其他计算机扩展。
微软之前已经开发了几个缓解NTLM RELAY攻击的方法,但是研究人员发现这些方法都存在着以下缺陷:
1、基于消息完整性代码(MIC)字段确保攻击者不会篡改NTLM消息的措施:Preempt研究人员发现,只要绕过消息完整性代码(MIC)字段,攻击者就可以删除“MIC”保护并修改NTLM身份验证流中的各个字段,比如签名协商。
2、基于SMB会话签名防止攻击者发送NTLM身份验证消息来建立SMB和DCE/RPC会话的措施,Preempt研究人员发现,许攻击只要绕过SMB会话签名,就可以将NTLM身份验证请求转发到域中的任何服务器,包括域控制器,同时伪造一个签名会话来执行远程代码执行。
3、基于增强的身份验证保护(EPA)防止攻击者将NTLM消息转发到TLS会话的措施,Preempt研究人员发现,攻击者只要绕过身份验证保护(EPA),就可以修改NTLM消息来生成合法的通道绑定信息。
微软在6月11日的时候发布了CVE-2019-1040和CVE-2019-1019补丁来应对这些问题。即使执行了这些修复,管理员还需要对某些配置加以更改,才能确保有效的防护。
为了保护公司免受这些漏洞的攻击,建议管理员进行以下操作:
执行修补程序:确保为工作站和服务器打上了所需的补丁,要注意,单独的补丁是不够的,公司还需要进行配置更改,以便得到完全的保护。
强制SMB签名:为了防止攻击者发起更简单的NTLM RELAY攻击,请务必在网络中的所有计算机上启用SMB 签名。
禁用NTLMv1:该版本相当不安全,建议通过适当的组策略来完全禁用。
强制LDAP/S签名:为了防止LDAP中的NTLM RELAY攻击,在域控制器上强制LDAP签名和LDAPS通道绑定。
强制实施EPA:为了防止NTLM在web服务器上被黑客用来发动中继攻击,强制所有web服务器只接受EPA的请求。
减少NTLM的使用:因为即便采用了完整的安全配置,NTLM 也会比Kerberos 带来更大的安全隐患,建议在不必要的环境中彻底弃用。