内容简介:2019年6月12日,微软官方在6月的补丁日中发布了漏洞 CVE-2019-1040的安全补丁,攻击者可以利用该漏洞绕过NTLM MIC(消息完整性检查)。攻击者可以修改NTLM身份验证流程中的签名要求,完全删除签名验证,并尝试中继到目标服务器,不强制执行签名的服务器都易受到攻击。通过这种攻击能使攻击者在仅有一个普通域账号的情况下可远程控制 Windows 域内的任何机器,包括域控服务器。360CERT 判断此次漏洞影响面广,危害严重,建议广大用户及时更新。
0x00 漏洞描述
2019年6月12日,微软官方在6月的补丁日中发布了漏洞 CVE-2019-1040的安全补丁,攻击者可以利用该漏洞绕过NTLM MIC(消息完整性检查)。攻击者可以修改NTLM身份验证流程中的签名要求,完全删除签名验证,并尝试中继到目标服务器,不强制执行签名的服务器都易受到攻击。通过这种攻击能使攻击者在仅有一个普通域账号的情况下可远程控制 Windows 域内的任何机器,包括域控服务器。
360CERT 判断此次漏洞影响面广,危害严重,建议广大用户及时更新。
漏洞详情
NTLM身份验证由3种消息类型组成:NTLM_NEGOTIATE,NTLM_CHALLENGE,NTLM_AUTHENTICATE。
微软为了在NTLM协商阶段防止中间人攻击,在最终的NTLM身份验证消息(NTLM_AUTHENTICATE)添加了一个额外字段——MIC,如下:
其中’msvAvFlag’字段表示该消息是否包含MIC,Flags:0x00000002表示该消息包含MIC字段
MIC是一个HMAC_MD5值,应用于3种NTLM消息的会话密钥,只有初始认证的账户和目标服务器知道。所以攻击者试图篡改消息时,由于无法生成相应的MIC,会导致攻击失败。
但是该漏洞成因在于Microsoft服务器并不验证’msvAvFlag’字段,即服务器允许无MIC的NTLM_AUTHENTICATE消息,这使得不强制执行签名的服务器容易受到中间人攻击:
攻击思路如下:
(1)取消设置NTLM_NEGOTIATE消息中的签名标志(NTLMSSP_NEGOTIATE_ALWAYS_SIGN,NTLMSSP_NEGOTIATE_SIGN)
(2)从NTLM_AUTHENTICATE消息中删除MIC
(3)从NTLM_AUTHENTICATE消息中删除版本字段(删除MIC字段而不删除版本字段将导致错误)。
(4)取消设置NTLM_AUTHENTICATE消息中的以下标志:NTLMSSP_NEGOTIATE_ALWAYS_SIGN,NTLMSSP_NEGOTIATE_SIGN,NEGOTIATE_KEY_EXCHANGE,NEGOTIATE_VERSION。
0x01 影响范围
Windows 10 for 32-bit Systems
Windows 10 for x64-based Systems
Windows 10 Version 1607 for 32-bit Systems
Windows 10 Version 1607 for x64-based Systems
Windows 10 Version 1703 for 32-bit Systems
Windows 10 Version 1703 for x64-based Systems
Windows 10 Version 1709 for 32-bit Systems
Windows 10 Version 1709 for ARM64-based Systems
Windows 10 Version 1709 for x64-based Systems
Windows 10 Version 1803 for 32-bit Systems
Windows 10 Version 1803 for ARM64-based Systems
Windows 10 Version 1803 for x64-based Systems
Windows 10 Version 1809 for 32-bit Systems
Windows 10 Version 1809 for ARM64-based Systems
Windows 10 Version 1809 for x64-based Systems
Windows 10 Version 1903 for 32-bit Systems
Windows 10 Version 1903 for ARM64-based Systems
Windows 10 Version 1903 for x64-based Systems
Windows 7 for 32-bit Systems Service Pack 1
Windows 7 for x64-based Systems Service Pack 1
Windows 8.1 for 32-bit systems
Windows 8.1 for x64-based systems
Windows RT 8.1
Windows Server 2008 for 32-bit Systems Service Pack 2
Windows Server 2008 for 32-bit Systems Service Pack 2 (Server Core installation)
Windows Server 2008 for Itanium-Based Systems Service Pack 2
Windows Server 2008 for x64-based Systems Service Pack 2
Windows Server 2008 for x64-based Systems Service Pack 2 (Server Core installation)
Windows Server 2008 R2 for Itanium-Based Systems Service Pack 1
Windows Server 2008 R2 for x64-based Systems Service Pack 1
Windows Server 2008 R2 for x64-based Systems Service Pack 1 (Server Core installation)
Windows Server 2012
Windows Server 2012 (Server Core installation)
Windows Server 2012 R2
Windows Server 2012 R2 (Server Core installation)
Windows Server 2016
Windows Server 2016 (Server Core installation)
Windows Server 2019
Windows Server 2019 (Server Core installation)
Windows Server, version 1803 (Server Core Installation)
Windows Server, version 1903 (Server Core installation)
0x02 修复建议
(1)微软官方已推出更新补丁,请所有受影响的 Windows 客户端、服务器及时安装更新补丁。
https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2019-1040
(安装完后需要重启服务器)
(2)其他缓解措施
a)强制执行SMB签名,开启域中所有服务器的强制SMB执行功能 (在 Windows 域环境下,默认只有域控服务器开启了强制 SMB 签名)
b) 尽量不使用NTLMv1,因为NTLMv1的安全性较低,可以通过设置GPO来完全禁止
c)启用所有域控服务器的强制 LDAPS Channel Binding 功能 (此功能默认不启用。启用后有可能造成兼容性问题。)
d)启用所有域控服务器的强制 LDAP Signing 功能,防止LDAP中的NTLM中继 (此功能默认不启用。启用后有可能造成兼容性问题。)
e)开启EPA,防止Web服务器上的NTLM中继,强制所有Web服务器(OWA,ADFS)只接受EPA的请求
f)开启所有重要服务器(比如所有 Exchange 服务器)上相关应用的Channel Binding 功能(如 IIS 的 Channel Binding 功能)
g)减少使用NTLM,即使是安全配置和完全修补的NTLM也比Kerberos更不安全
0x03 时间线
2019-06-12 微软官方发布更新补丁
2019-06-12 360CERT发布预警分析
0x04 参考链接
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 漏洞预警 | Adobe ColdFusion远程命令执行漏洞预警(CVE-2018-15961)
- 漏洞预警 | ThinkPHP5远程命令执行漏洞
- Influxdb 认证绕过漏洞预警
- 漏洞预警 | MetInfo最新版本爆出SQL注入漏洞
- 【漏洞预警】Coremail邮件系统配置文件信息泄露漏洞
- 【漏洞预警】Joomla!3.7.0 Core SQL注入漏洞
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。