#渗透测试#红蓝攻防#HW#漏洞挖掘#漏洞复现02-永恒之蓝漏洞

news2025/1/11 20:56:57

免责声明 本教程仅为合法的教学目的而准备,严禁用于任何形式的违法犯罪活动及其他商业行为,在使用本教程前,您应确保该行为符合当地的法律法规,继续阅读即表示您需自行承担所有操作的后果,如有异议,请立即停止本文章阅读!!!

目录

永恒之蓝漏洞(EternalBlue)

一、漏洞概述

二、漏洞原理

三、漏洞利用流程

四、漏洞影响范围

五、漏洞修复

六、检测方法

七、防御措施

八、永恒之蓝漏洞影响的行业

 九、永恒之蓝漏洞修复的最佳实践

 十、漏洞复现

十一、脚本编写验证永恒之蓝


永恒之蓝漏洞(EternalBlue)

一、漏洞概述

永恒之蓝(EternalBlue)是一种严重的安全漏洞,主要影响Windows系统的SMB(Server Message Block)协议。该漏洞最早由美国国家安全局(NSA)发现并利用,后来在2017年4月被黑客组织“影子经纪人”(Shadow Brokers)公开,导致全球范围内的大规模网络攻击。

二、漏洞原理

永恒之蓝漏洞存在于Windows系统的SMBv1协议中,具体来说是在处理SMB2协议的压缩功能时出现的。攻击者可以利用这个漏洞远程执行代码,从而获得对目标系统的完全控制权。漏洞的核心在于SMB协议在处理特定类型的网络数据包时存在缓冲区溢出的问题,这使得攻击者能够在未经身份验证的情况下执行任意代码。

三、漏洞利用流程

  1. 扫描目标系统:攻击者首先需要扫描目标系统的网络端口,特别是445端口(SMB服务默认端口)。
  2. 发送恶意数据包:一旦确认目标系统存在漏洞,攻击者会发送特制的恶意数据包,这些数据包设计用来触发SMB协议中的缓冲区溢出。
  3. 执行恶意代码:触发漏洞后,攻击者可以在目标系统上执行任意恶意代码,例如安装后门程序、窃取敏感信息或传播勒索病毒(如WannaCry)。
  4. 控制系统:成功利用漏洞后,攻击者可以获得对目标系统的完全控制权,执行任意操作。

四、漏洞影响范围

永恒之蓝漏洞影响了多个版本的Windows系统,包括但不限于:

  • Windows 7
  • Windows Server 2008
  • Windows XP
  • Windows 10

此外,使用SMBv1协议的其他设备也可能受到影响,例如某些型号的医疗设备。

五、漏洞修复

为了防止永恒之蓝漏洞被利用,微软已经在2017年3月发布了补丁(MS17-010)。建议采取以下措施:

  1. 安装补丁:尽快为所有受影响的Windows系统安装MS17-010补丁。
  2. 禁用SMBv1协议:如果不需要使用SMBv1协议,可以考虑禁用它,以减少潜在的攻击面。
  3. 启用防火墙:使用防火墙规则限制对445端口的访问,仅允许经过授权的设备连接。

六、检测方法

可以通过以下方法检测目标系统是否存在永恒之蓝漏洞:

  1. 使用nmap扫描:使用nmap扫描目标系统的445端口,确认是否存在SMB服务。
  2. 使用Metasploit框架:Metasploit框架提供了专门的模块来检测和利用永恒之蓝漏洞,可以通过执行相关模块来确认漏洞是否存在。

七、防御措施

  1. 及时更新软件:定期检查并更新系统上的所有软件,确保它们都是最新的稳定版本。
  2. 限制权限:尽量避免以管理员权限运行服务,降低潜在漏洞带来的风险。
  3. 监控异常行为:使用入侵检测系统(IDS)和入侵防御系统(IPS)监控异常行为,及时发现并阻止潜在攻击。

八、永恒之蓝漏洞影响的行业

永恒之蓝漏洞的影响范围非常广泛,几乎涵盖了所有依赖Windows系统的行业。以下是一些受影响较大的行业:

  1. 金融行业:银行、保险公司和其他金融机构通常依赖Windows系统来运行关键业务应用程序。由于这些系统通常包含大量敏感信息,因此它们成为攻击者的主要目标。

  2. 医疗行业:医院和其他医疗机构使用Windows系统来管理患者记录、医疗设备和其他关键数据。永恒之蓝漏洞可能导致医疗设备无法正常工作,甚至可能危及患者的生命。

  3. 教育行业:学校和大学使用Windows系统来管理学生记录、教学材料和其他重要数据。永恒之蓝漏洞可能导致这些数据被窃取或破坏。

  4. 制造业:制造公司使用Windows系统来管理生产线、库存和其他关键业务流程。永恒之蓝漏洞可能导致生产线停工,造成巨大的经济损失。

  5. 政府机构:政府部门使用Windows系统来管理公共记录、敏感信息和其他关键数据。永恒之蓝漏洞可能导致这些数据被窃取或破坏,影响公共安全和社会稳定。

  6. 能源行业:电力公司、石油公司和其他能源公司使用Windows系统来管理能源生产、分配和其他关键业务流程。永恒之蓝漏洞可能导致能源供应中断,造成巨大的经济损失和社会影响。

  7. 零售行业:零售商使用Windows系统来管理销售点(POS)系统、库存和其他关键业务流程。永恒之蓝漏洞可能导致POS系统无法正常工作,影响销售和客户服务。

  8. 科技行业:软件开发公司、硬件制造商和其他科技公司使用Windows系统来开发和测试产品。永恒之蓝漏洞可能导致开发和测试环境被破坏,影响产品发布和公司声誉。

 九、永恒之蓝漏洞修复的最佳实践

永恒之蓝(EternalBlue)漏洞的修复涉及多个步骤和最佳实践,以确保系统安全并防止未来的攻击。以下是一些最佳实践:

1. 安装补丁

  • 及时更新系统:微软已经发布了修复永恒之蓝漏洞的补丁(MS17-010)。确保所有Windows系统都安装了最新的安全更新和补丁。

  • 使用自动更新:启用自动更新功能,以便系统能够自动接收和安装最新的安全补丁。

2. 关闭不必要的服务和端口

  • 禁用SMBv1:SMBv1是永恒之蓝漏洞利用的协议版本。可以通过系统设置或组策略禁用SMBv1。

  • 关闭相关端口:关闭与SMB相关的端口(如445、137、138、139),以减少攻击面。

3. 增强网络安全

  • 使用防火墙:配置防火墙规则,限制对内部网络的访问,特别是对关键系统和服务的访问。

  • 实施网络分段:将网络分成多个子网,以限制潜在攻击的传播范围。

4. 提高系统和网络安全意识

  • 培训员工:教育员工关于网络安全威胁和最佳实践,例如不点击不明链接、不下载不明文件等。

  • 制定安全策略:制定并实施网络安全策略,包括密码管理、访问控制和数据保护。

5. 备份重要数据

  • 定期备份:定期备份重要数据,并确保备份存储在安全的位置,最好是离线存储。

  • 验证备份:定期验证备份的完整性和可恢复性,以确保在发生数据丢失时能够快速恢复。

6. 使用安全工具

  • 安装杀毒软件:安装并更新杀毒软件,以检测和清除潜在的恶意软件。

  • 使用漏洞扫描工具:使用漏洞扫描工具定期扫描系统和网络,以发现和修复潜在的安全漏洞。

7. 监控和响应

  • 实时监控:使用安全信息和事件管理(SIEM)系统实时监控网络和系统活动,以便及时发现异常行为。

  • 制定应急响应计划:制定并演练应急响应计划,以便在发生安全事件时能够迅速有效地应对。

8. 审查和审计

  • 定期审计:定期进行安全审计,评估系统的安全状况,并根据审计结果进行改进。

  • 审查第三方软件:确保所有第三方软件也已更新,并且没有已知的安全漏洞。

 十、漏洞复现

MS17-010 永恒之蓝

攻击机 和靶机在同一网段中

配置kali

配置靶机

查看kali ip的配置

确认靶机的网络配置

确认靶场的IP 为192.168.10.130

然后查看端口开放情况,发现445端口开放

kali开启msf

搜索永恒之蓝的相关模块

过滤出其中的攻击模块

选择攻击模块

查看当前模块可用的选项

设置攻击目标-设置反弹目标

执行漏洞测试

拿到shell

输入65001解决乱码

通过shell对靶机进行控制

1:创建新用户

2:将用户sss 添加至管理员组

3:开启远程桌面功能

查看3389端口状态:netstat -ano

开启3389端口

REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f

4:远程桌面连接

已经登录成功

十一、脚本编写验证永恒之蓝

使用impacket库来与目标系统的SMB端口进行交互,并检测是否存在永恒之蓝漏洞。
脚本说明:
    SMBConnection: 使用impacket库中的SMBConnection类来与目标系统的SMB端口建立连接。
    登录尝试: 通过尝试登录(使用空用户名和密码)来检测是否存在漏洞。如果登录成功,则可能存在永恒之蓝漏洞。
    异常处理: 如果无法连接到目标系统,脚本会捕获异常并输出错误信息。


from impacket.smbconnection  import SMBConnection 
 
def check_eternalblue_vulnerability(target_ip, target_port=445): 
    try: 
        # 尝试与目标系统的SMB端口建立连接 
        smb_connection = SMBConnection(target_ip, target_ip, sess_port=target_port) 
         
        # 如果连接成功,尝试发送恶意数据包以检测漏洞 
        if smb_connection.login('',  ''): 
            print(f"[!] 目标系统 {target_ip}:{target_port} 可能存在永恒之蓝漏洞") 
        else: 
            print(f"[*] 目标系统 {target_ip}:{target_port} 未发现永恒之蓝漏洞") 
    except Exception as e: 
        print(f"[*] 无法连接到目标系统 {target_ip}:{target_port} - {e}") 
 
if __name__ == "__main__": 
    target_ip = "192.168.1.1"  # 替换为目标IP地址 
    check_eternalblue_vulnerability(target_ip) 

未完待续~~~!!!!!

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

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

相关文章

MTK 展锐 高通 sensorhub架构

一、MTK平台 MTK框架可以分为两部分,AP和SCP。 AP是主芯片,SCP是协处理器,他们一起工作来处理sensor数据。 SCP 是用来处理sensor和audio相关功能和其他客制化需求的一个协处理理器,MTK SCP选择freeRTOS作为操作系统&#xff0c…

视觉语言模型(VLM)学习笔记

目录 应用场景举例 VLM 的总体架构包括: 深度解析:图像编码器的实现 图像编码器:视觉 Transformer 注意力机制 视觉-语言投影器 综合实现 训练及注意事项 总结 应用场景举例 基于文本的图像生成或编辑:你输入 “生成一张…

[AutoSar]BSW_Diagnostic_007 BootLoader 跳转及APP OR boot response 实现

目录 关键词平台说明背景一、Process Jump to Bootloader二、相关函数和配置2.1 Dcm_GetProgConditions()2.2 Dcm_SetProgConditions() 三、如何实现在APP 还是BOOT 中对10 02服务响应3.1 配置3.2 code 四、报文五、小结 关键词 嵌入式、C语言、autosar、OS、BSW、UDS、diagno…

如何启用本机GPU硬件加速猿大师播放器网页同时播放多路RTSP H.265 1080P高清摄像头RTSP视频流?

目前市面上主流播放RTSP视频流的方式是用服务器转码方案,这种方案的好处是兼容性更强,可以用于不同的平台,比如:Windows、Linux或者手机端,但是缺点也很明显:延迟高、播放高清或者同时播放多路视频视频容易…

设置ip和代理DNS的WindowsBat脚本怎么写?

今天分享一个我们在工作时,常见的在Windows中通过批处理脚本(.bat 文件)来设置IP地址、代理以及DNS 相关配置的示例,大家可以根据实际需求进行修改调整。 一、设置静态IP地址脚本示例 以下脚本用于设置本地连接(你可…

深度学习-49-AI应用实战之基于HyperLPR的车牌识别

文章目录 1 车牌识别系统1.1 识别原理1.1.1 车牌定位1.1.2 字符识别2 实例应用2.1 安装hyperlpr32.2 识别结果2.3 可视化显示2.4 结合streamlit3 附录3.1 PIL.Image转换成OpenCV格式3.2 OpenCV转换成PIL.Image格式3.3 st.image嵌入图像内容3.4 参考附录1 车牌识别系统 车牌识别…

基于深度学习的手势识别算法

基于深度学习的手势识别算法 概述算法原理核心逻辑效果演示使用方式参考文献 概述 本文基于论文 [Simple Baselines for Human Pose Estimation and Tracking[1]](ECCV 2018 Open Access Repository (thecvf.com)) 实现手部姿态估计。 手部姿态估计是从图像或视频帧集中找到手…

【Linux】-操作系统

🔑🔑博客主页:阿客不是客 🍓🍓系列专栏:深入代码世界,了解掌握 Linux 欢迎来到泊舟小课堂 😘博客制作不易欢迎各位👍点赞⭐收藏➕关注 ​​ 一、冯•诺依曼架构&#xff…

2024最新python使用yt-dlp

2024最新python使用yt-dlp下载YT视频 1.获取yt的cookie1)google浏览器下载Get cookies.txt LOCALLY插件2)导出cookie 2.yt-dlp下载[yt-dlp的GitHub地址](https://github.com/yt-dlp/yt-dlp?tabreadme-ov-file)1)使用Pycharm(2024.3)进行代码…

Mybatis集成篇(一)

Spring 框架集成Mybatis 目前主流Spring框架体系中,可以集成很多第三方框架,方便开发者利用Spring框架机制使用第三方框架的功能。就例如本篇Spring集成Mybatis 简单集成案例: Config配置: Configuration MapperScan(basePack…

C51相关实验

C51相关实验 LED (P2 / 0~7)蜂鸣器 (P2^5)数码管 (P0 0~7 段 ,P2 2~4 位)独立按键 (P3^1 P3^0 P3^2 P3^3)直流电机 (J47 5v 01~04)综合实验矩阵按键 (P1组 0~7)LED点阵 LED (P2 / 0~7) //功能:1.让开发板的LED全亮,2,…

C++语法·叭

阁下何不乘风起,扶摇直上九万里。 qi fei 目录 内存管理 分区介绍 1.栈区: 2.内存映射段: 3.堆: 4.数据段: 5.代码段: 补充: C内存管理(简略回忆) C内存…

数据库期末复习题库

1. Mysql日志功能有哪些? 记录日常操作和错误信息,以便了解Mysql数据库的运行情况,日常操作,错误信息和进行相关的优化。 2. 数据库有哪些备份方法 完全备份:全部都备份一遍表备份:只提取数据库中的数据&#xff0…

矩阵重新排列——rot90函数

通过 r o t 90 rot90 rot90函数可以将矩阵进行旋转 用法: r o t 90 ( a , k ) rot90(a,k) rot90(a,k)将矩阵 a a a按逆时针方向旋转 k 9 0 ∘ k\times90^\circ k90∘

挑战用React封装100个组件【001】

项目地址 https://github.com/hismeyy/react-component-100 组件描述 组件适用于需要展示图文信息的场景,比如产品介绍、用户卡片或任何带有标题、描述和可选图片的内容展示 样式展示 代码展示 InfoCard.tsx import ./InfoCard.cssinterface InfoCardProps {ti…

联通云服务器部署老项目tomcat记录

1.先在服务器上安装mysql和tomcat 2.tomcat修改端口 3.在联通云运控平台配置tomcat访问端口(相当于向外部提供可访问端口) 4.将tomcat项目放在服务器tomcat的webapps里面 5.在mysql里创建项目数据库,运行sql创建表和导入数据 6.在配置文…

Python 删除Word中的表格

在处理Word文档时,我们经常会遇到需要删除表格的情况。无论是为了简化文档结构,还是为了更新内容,删除表格都是一个常见的操作。但是通过手动删除不仅耗时,而且容易出错,本文将介绍如何使用Python通过编程删除Word中的…

讯飞语音转写WebApi 【JS语言】

讯飞语音转写 API 文档 文档地址:https://www.xfyun.cn/doc/asr/ifasr_new/API.html 看到没有 js 版本的 demo(音频流模式),所以就搞了一个分享出来 在 React Native 运行环境下测试有效。 1、生成 signa import axios from a…

c++基础开发环境vscode+mingw-w64

c开发需要的基础有两个:编译环境,开发环境。 最简单的编译环境可以用gcc,cl,clongllvm; 开发环境最简单直接用文本编辑器就可以。 但是实际开发都会用ide来做,现代的ide即有开发环境可以写代码,自动补全&am…

DBA面试题-1

面临失业,整理一下面试题,找下家继续搬砖 主要参考:https://www.csdn.net/?spm1001.2101.3001.4476 略有修改 一、mysql有哪些数据类型 1, 整形 tinyint,smallint,medumint,int,bigint;分别占用1字节、2字节、3字节…