微软SMBv3协议远程代码执行漏洞修复建议

发布时间 2020-03-14

漏洞编号和级别


CVE编号:CVE-2020-0796,危险级别:严重,CVSS分值:官方未评定


影响版本


Windows 10 Version 1903 for 32-bit Systems

Windows 10 Version 1903 for x64-based Systems

Windows 10 Version 1903 for ARM64-based Systems

Windows Server, version 1903 (Server Core installation)

Windows 10 Version 1909 for 32-bit Systems

Windows 10 Version 1909 for x64-based Systems

Windows 10 Version 1909 for ARM64-based Systems

Windows Server, version 1909 (Server Core installation)


漏洞概述


3月12日,微软更新安全通告针对Windows SMBv3客户端/服务器远程代码执行漏洞紧急发布了安全补丁,确定该漏洞编号为CVE-2020-0796。


Microsoft Server Message Block 3.1.1(SMBv3)协议在处理某些请求的方式中存在代码执行漏洞。攻击者可以精心构造数据包发送到SMB服务器,无需经过身份验证,即可在目标服务器上执行任意代码。攻击者可通过部署一台恶意SMB v3服务器,并诱导用户(客户端)连接到该服务器,一旦目标用户连接,即可在计算机上执行攻击者自定义的恶意代码。


由于上述漏洞易被蠕虫利用传播恶意程序,推测可能在未来会成为恶意软件和攻击者广泛利用的漏洞,与2017年5月“永恒之蓝”漏洞较为相似。


漏洞检测


1. 系统版本检测


查看自己使用的Windows版本是否为受影响的版本,方法如下:


使用Win + R后输入“WinVer”查看当前操作系统的版本号。如果版本号显示为1903或1909,则证明受此漏洞影响,建议立即安装补丁。



2. 补丁检测


在受影响范围内的操作系统中,可执行以下命令查看补丁安装的情况。


systeminfo | findstr KB4551762

命令执行结束后如果没有查询到KB4551762补丁,则该系统存在安全风险。


3. 工具检测


此漏洞在网上已有公开的检测工具,经验证下列脚本可对SMB版本进行检测,相关用户

可自行选择下载使用。


Python检测脚本

下载链接:https://github.com/ollypwn/SMBGhost/blob/master/scanner.py


Nmap检测脚本(nse脚本)

下载链接:https://github.com/cyberstruggle/DeltaGroup/blob/master/CVE-2020-0796/CVE-2020-0796.nse


Powershell检测脚本

下载链接:https://github.com/T13nn3s/CVE-2020-0976/blob/master/CVE-2020-0796-Smbv3-checker.ps1


4. 产品检测


启明星辰天镜脆弱性扫描与管理系统V6.0产品已具备对此漏洞(CVE-2020-0796)的扫描检测能力,6070版本升级包为607000278,升级包下载地址:https://www.venustech.com.cn/article/type/1/146.html。


修复建议


微软官方已针对该漏洞发布了安全补丁KB4551762,建议受影响用户开启系统自动更新安装该补丁进行防护。


注:由于网络问题、计算机环境问题等原因,Windows Update的补丁更新可能出现失败。用户在安装补丁后,应及时检查补丁是否成功更新。右键点击桌面左下角的Windows图标,选择“设置(N)”,选择“更新和安全”-“Windows更新”,查看该页面上的提示信息,也可点击“查看更新历史记录”查看历史更新情况,确认其中是否包含“KB4551762”

若出现未成功安装更新补丁的情况,可从官网下载离线安装包进行更新,下载链接如下:

https://www.catalog.update.microsoft.com/Search.aspx?q=KB4551762


缓解措施:


1. 禁用SMBv3压缩

方法一:使用以下PowerShell命令禁用压缩功能,以阻止未经身份验证的攻击者利用SMBv3 服务器的漏洞。

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


用户可通过以下PowerShell命令撤销禁用压缩功能

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


方法二:右键点击桌面左下角的Windows图标,在弹出菜单中选择“运行”菜单项,在弹出的运行框中输入regedit,打开注册表编辑器。


在 “HKLM\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters”目录中添加一个DWORD类型的注册表项DisableCompression ,数值为1。

如需撤销禁用SMBv3压缩功能,将该注册表项数值修改为0或删除注册表项即可。


注:利用以上方法进行更改后,无需重启即可生效;该方法仅可用来防护针对SMB服务器(SMB SERVER)的攻击,无法对SMB客户端(SMB Client)进行防护。


2. 设置防火墙策略


在边界防火墙做好安全策略阻止SMB通信流出企业内部,详情可参考微软官方的指南:https://support.microsoft.com/zh-cn/help/3185535/preventing-smb-traffic-from-lateral-connections。


3. 产品防护

针对此漏洞,启明星辰IDS、IPS、WAF、APT产品已发布规则升级包,下载地址:https://www.venustech.com.cn/article/type/1/140.html。


参考链接



https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2020-0796