1. 漏洞公告

2020年3月10日,微软官方更新发布了3月安全更新补丁和针对Windows 10/Server禁用SMBv3(SMB 3.1.1版本)协议压缩的指南公告,以此缓解SMBv3协议在处理调用请求时的一个远程执行代码漏洞,公告编号:ADV200005(暂未更新CVE-2020-0796页面),相关链接:

https://portal.msrc.microsoft.com/zh-CN/security-guidance/advisory/ADV200005

根据公告,Windows 10/Server版本启用的SMBv3(SMB 3.1.1版本)协议压缩功能存在缓冲区溢出漏洞,成功利用此漏洞的恶意攻击者可以在目标SMB服务器或SMB客户端上达到执行代码效果,从而获取目标系统管理权限,建议尽快安装安全更新补丁或采取临时缓解措施加固系统。

2020年3月安全更新链接:

https://portal.msrc.microsoft.com/zh-CN/security-guidance/releasenotedetail/2020-Mar

在此次3月安全更新公告中,还包含多个安全漏洞,其中有个一个.LNK(快捷方式)相关的漏洞,CVE编号:CVE-2020-0684,此漏洞也是远程代码执行,恶意攻击者可以通过构造带有攻击代码的.LNK(快捷方式)投放到移动存储介质或远程共享,当用户打开移动存储介质或远程共享即会触发漏洞,成功利用此漏洞的恶意攻击者可以获得与本地用户相同的用户权限,相关链接:

https://portal.msrc.microsoft.com/zh-CN/security-guidance/advisory/CVE-2020-0684

2. 影响范围

SMBv3(SMB 3.1.1版本)协议压缩代码执行漏洞影响以下系统:

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 10 Version 1909 for 32-bit Systems

Windows 10 Version 1909 for ARM64-based Systems

Windows 10 Version 1909 for x64-based Systems

Windows Server, version 1903 (Server Core installation)

Windows Server, version 1909 (Server Core installation)

CVE-2020-0684.LNK快捷方式代码执行漏洞影响以下系统:

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 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 10 Version 1909 for 32-bit Systems

Windows 10 Version 1909 for ARM64-based Systems

Windows 10 Version 1909 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)

Windows Server, version 1909 (Server Core installation)

3. 漏洞描述

根据分析,SMBv3协议压缩功能在中SMB 3.1.1版本中启用,主要启用的操作系统是Windows 10/Server1903以上版本,相关参考:

https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-smb2/4287490c-602c-41c0-a23e-140a1f137832

协议同时启用于SMB服务端或SMB客户端,因此可以针对服务端和客户端分别进行攻击,针对SMB服务端的漏洞利用,未经身份验证的恶意攻击者可以将攻击数据包发送到目标SMBv3服务器,针对SMB客户端的漏洞,未经身份验证的恶意攻击者可以通过配置恶意的SMBv3服务器,并诱使用户连接到该服务器进行攻击。

关于CVE-2020-0684:恶意攻击者可能通过该漏洞对受影响版本的Windows系统用户进行恶意钓鱼攻击,从而达到获取用户Windows主机的命令执行权限的目的。

建议尽快安装安全更新补丁或采取临时缓解措施加固系统。

4. 自查自检

明鉴远程安全评估系统目前已紧急发布针对该漏洞的检测升级包,支持对该漏洞进行检测,已使用明鉴远程安全评估系统的用户可通过在线升级的方式一键更新漏洞策略库,更新后即可对该漏洞进行扫描,建议用户及时更新。

5. 缓解措施

高危:目前漏洞细节和利用代码暂未公开,但可以通过补丁对比方式定位漏洞触发点并开发漏洞利用代码,建议及时测试安全更新补丁并应用安装,或采取临时缓解措施加固系统。

临时缓解措施:

通过PowerShell命令禁用SMBv3压缩功能,以阻止未经身份验证的恶意攻击者对SMBv3服务端的漏洞利用。

Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" DisableCompression -Type DWORD -Value 1 -Force

执行此操作无需重启系统,但对SMBv3客户端的无效,取消禁用可以执行以下命令:

Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" DisableCompression -Type DWORD -Value 0 -Force

另外,根据实际情况(漏洞细节和代码公开了的情况下出现的蠕虫爆发)可以考虑临时阻断TCP 445端口。