CVE-2019-1040 NTLM MIC绕过漏洞
CVE-2019-1040 是一个 Windows NTLM 身份验证漏洞,允许攻击者绕过 NTLM 中的 MIC(消息完整性检查)保护,将身份验证流量中继到目标服务器。该漏洞由 Marina Simakov 和 Yaron Zinar 发现,并于 2019 年 6 月发布。
漏洞介绍
NTLM 身份验证由三种消息类型组成:NTLM_NEGOTIATE、NTLM_CHALLENGE 和 NTLM_AUTHENTICATE。其中,NTLM_AUTHENTICATE 消息包含用户的身份信息和 MIC。MIC 是一个 HMAC_MD5 值,用于验证身份验证消息的完整性。
CVE-2019-1040 漏洞存在于 NTLM_NEGOTIATE 消息中的签名标志中。该漏洞允许攻击者取消设置签名标志,使 NTLM_AUTHENTICATE 消息不包含 MIC。由于目标服务器不验证 MIC,攻击者可以修改 NTLM_AUTHENTICATE 消息并将其中继到目标服务器。
利用方式
CVE-2019-1040 漏洞的利用方式可以分为以下四个步骤:
1. 获得普通用户身份
攻击者可以通过以下方式获得普通用户身份:
通过钓鱼攻击或社会工程学手段获取用户的凭据。
例如,攻击者可以发送一个包含恶意链接的电子邮件给目标用户。当目标用户点击链接时,会被重定向到一个恶意网站。该网站会要求目标用户输入用户名和密码。攻击者可以通过该网站获取目标用户的凭据。
利用已知的漏洞或配置错误,获取用户的凭据。
例如,攻击者可以利用 Windows 的弱口令策略,获取用户的凭据。
2. 连接到目标服务器
攻击者可以使用任何经过身份验证的域成员来连接到目标服务器。攻击者可以使用以下工具来连接到目标服务器:
nmap
使用 nmap 来扫描目标服务器的开放端口。如果目标服务器开放了 SMB 端口,攻击者可以使用以下命令来连接到目标服务器:
netcat
使用 netcat 来连接到目标服务器。以下命令将连接到目标服务器的 445 端口:
telnet
使用 telnet 来连接到目标服务器。以下命令将连接到目标服务器的 445 端口:
3. 修改 NTLM_NEGOTIATE 消息中的签名标志
攻击者可以使用以下工具来修改 NTLM_NEGOTIATE 消息中的签名标志:
ntlmrelayx
ntlmrelayx 是一个用于中继 NTLM 身份验证流量的工具。攻击者可以使用 ntlmrelayx 来修改 NTLM_NEGOTIATE 消息中的签名标志。
以下命令将修改 NTLM_NEGOTIATE 消息中的签名标志:
ntlmrelayx.exe -t <中继服务器 IP 地址> -l <域控制器 IP 地址> -m <攻击者用户名>:<攻击者密码>
4. 修改 NTLM_AUTHENTICATE 消息,并将其中继到目标服务器
攻击者可以使用以下工具来修改 NTLM_AUTHENTICATE 消息,并将其中继到目标服务器:
ntlmrelayx
ntlmrelayx 是一个用于中继 NTLM 身份验证流量的工具。攻击者可以使用 ntlmrelayx 来修改 NTLM_AUTHENTICATE 消息,并将其中继到目标服务器。
以下命令将修改 NTLM_AUTHENTICATE 消息,并将其中继到目标服务器:
ntlmrelayx.exe -t <中继服务器 IP 地址> -l <域控制器 IP 地址> -m <攻击者用户名>:<攻击者密码> -
影响范围
CVE-2019-1040 漏洞影响 Windows 7 SP1 到 Windows 10 1903 的所有版本,以及 Windows Server 2008 R2 SP1 到 Windows Server 2019。
防御措施
微软已发布补丁修复了 CVE-2019-1040 漏洞。建议用户尽快安装补丁。
此外,用户还可以采取以下措施来防范 CVE-2019-1040 漏洞:
启用域中所有服务器的强制 SMB 签名。
对 LDAP over TLS 强制执行 LDAP 签名和 LDAP 通道绑定。
开启 EPA,强制所有 Web 服务器(OWA,ADFS)只接受 EPA 的请求。
最后更新于
这有帮助吗?