#渗透测试#红蓝攻防#HW#漏洞挖掘#漏洞复现02-永恒之蓝漏洞
免责声明 本教程仅为合法的教学目的而准备,严禁用于任何形式的违法犯罪活动及其他商业行为,在使用本教程前,您应确保该行为符合当地的法律法规,继续阅读即表示您需自行承担所有操作的后果,如有异议,请立即停止本文章阅读!!!
目录
永恒之蓝漏洞(EternalBlue)
一、漏洞概述
二、漏洞原理
三、漏洞利用流程
四、漏洞影响范围
五、漏洞修复
六、检测方法
七、防御措施
八、永恒之蓝漏洞影响的行业
九、永恒之蓝漏洞修复的最佳实践
十、漏洞复现
十一、脚本编写验证永恒之蓝
永恒之蓝漏洞(EternalBlue)
一、漏洞概述
永恒之蓝(EternalBlue)是一种严重的安全漏洞,主要影响Windows系统的SMB(Server Message Block)协议。该漏洞最早由美国国家安全局(NSA)发现并利用,后来在2017年4月被黑客组织“影子经纪人”(Shadow Brokers)公开,导致全球范围内的大规模网络攻击。
二、漏洞原理
永恒之蓝漏洞存在于Windows系统的SMBv1协议中,具体来说是在处理SMB2协议的压缩功能时出现的。攻击者可以利用这个漏洞远程执行代码,从而获得对目标系统的完全控制权。漏洞的核心在于SMB协议在处理特定类型的网络数据包时存在缓冲区溢出的问题,这使得攻击者能够在未经身份验证的情况下执行任意代码。
三、漏洞利用流程
- 扫描目标系统:攻击者首先需要扫描目标系统的网络端口,特别是445端口(SMB服务默认端口)。
- 发送恶意数据包:一旦确认目标系统存在漏洞,攻击者会发送特制的恶意数据包,这些数据包设计用来触发SMB协议中的缓冲区溢出。
- 执行恶意代码:触发漏洞后,攻击者可以在目标系统上执行任意恶意代码,例如安装后门程序、窃取敏感信息或传播勒索病毒(如WannaCry)。
- 控制系统:成功利用漏洞后,攻击者可以获得对目标系统的完全控制权,执行任意操作。
四、漏洞影响范围
永恒之蓝漏洞影响了多个版本的Windows系统,包括但不限于:
- Windows 7
- Windows Server 2008
- Windows XP
- Windows 10
此外,使用SMBv1协议的其他设备也可能受到影响,例如某些型号的医疗设备。
五、漏洞修复
为了防止永恒之蓝漏洞被利用,微软已经在2017年3月发布了补丁(MS17-010)。建议采取以下措施:
- 安装补丁:尽快为所有受影响的Windows系统安装MS17-010补丁。
- 禁用SMBv1协议:如果不需要使用SMBv1协议,可以考虑禁用它,以减少潜在的攻击面。
- 启用防火墙:使用防火墙规则限制对445端口的访问,仅允许经过授权的设备连接。
六、检测方法
可以通过以下方法检测目标系统是否存在永恒之蓝漏洞:
- 使用nmap扫描:使用nmap扫描目标系统的445端口,确认是否存在SMB服务。
- 使用Metasploit框架:Metasploit框架提供了专门的模块来检测和利用永恒之蓝漏洞,可以通过执行相关模块来确认漏洞是否存在。
七、防御措施
- 及时更新软件:定期检查并更新系统上的所有软件,确保它们都是最新的稳定版本。
- 限制权限:尽量避免以管理员权限运行服务,降低潜在漏洞带来的风险。
- 监控异常行为:使用入侵检测系统(IDS)和入侵防御系统(IPS)监控异常行为,及时发现并阻止潜在攻击。
八、永恒之蓝漏洞影响的行业
永恒之蓝漏洞的影响范围非常广泛,几乎涵盖了所有依赖Windows系统的行业。以下是一些受影响较大的行业:
金融行业:银行、保险公司和其他金融机构通常依赖Windows系统来运行关键业务应用程序。由于这些系统通常包含大量敏感信息,因此它们成为攻击者的主要目标。
医疗行业:医院和其他医疗机构使用Windows系统来管理患者记录、医疗设备和其他关键数据。永恒之蓝漏洞可能导致医疗设备无法正常工作,甚至可能危及患者的生命。
教育行业:学校和大学使用Windows系统来管理学生记录、教学材料和其他重要数据。永恒之蓝漏洞可能导致这些数据被窃取或破坏。
制造业:制造公司使用Windows系统来管理生产线、库存和其他关键业务流程。永恒之蓝漏洞可能导致生产线停工,造成巨大的经济损失。
政府机构:政府部门使用Windows系统来管理公共记录、敏感信息和其他关键数据。永恒之蓝漏洞可能导致这些数据被窃取或破坏,影响公共安全和社会稳定。
能源行业:电力公司、石油公司和其他能源公司使用Windows系统来管理能源生产、分配和其他关键业务流程。永恒之蓝漏洞可能导致能源供应中断,造成巨大的经济损失和社会影响。
零售行业:零售商使用Windows系统来管理销售点(POS)系统、库存和其他关键业务流程。永恒之蓝漏洞可能导致POS系统无法正常工作,影响销售和客户服务。
科技行业:软件开发公司、硬件制造商和其他科技公司使用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)
未完待续~~~!!!!!
相关文章:

#渗透测试#红蓝攻防#HW#漏洞挖掘#漏洞复现02-永恒之蓝漏洞
免责声明 本教程仅为合法的教学目的而准备,严禁用于任何形式的违法犯罪活动及其他商业行为,在使用本教程前,您应确保该行为符合当地的法律法规,继续阅读即表示您需自行承担所有操作的后果,如有异议,请立即停…...

gitlab自动打包python项目
现在新版的gitlab可以不用自己配置runner什么的了 直接写.gitlab-ci.yml文件就行,这里给出一个简单的依靠setup把python项目打包成whl文件的方法 首先写.gitlab-ci.yml文件,放到项目根目录里 stages: # List of stages for jobs, and their or…...

残差神经网络
目录 1. 梯度消失问题 2. 残差学习的引入 3. 跳跃连接(Shortcut Connections) 4. 恒等映射与维度匹配 5. 反向传播与梯度流 6. 网络深度与性能 总结 残差神经网络的原理是基于“残差学习”的概念,它旨在解决深度神经网络训练中的梯度消…...

mini-spring源码分析
IOC模块 关键解释 beanFactory:beanFactory是一个hashMap, key为beanName, Value为 beanDefination beanDefination: BeanDefinitionRegistry,BeanDefinition注册表接口,定义注册BeanDefinition的方法 beanReference:增加Bean…...

黑马程序员Java项目实战《苍穹外卖》Day01
苍穹外卖-day01 课程内容 软件开发整体介绍苍穹外卖项目介绍开发环境搭建导入接口文档Swagger 项目整体效果展示: 管理端-外卖商家使用 用户端-点餐用户使用 当我们完成该项目的学习,可以培养以下能力: 1. 软件开发整体介绍 作为一…...

uniapp开发支付宝小程序自定义tabbar样式异常
解决方案: 这个问题应该是支付宝基础库的问题,除了依赖于官方更新之外,开发者可以利用《自定义 tabBar》曲线救国 也就是创建一个空内容的自定义tabBar,这样即使 tabBar 被渲染出来,但从视觉上也不会有问题 1.官方文…...

python+django5.1+docker实现CICD自动化部署springboot 项目前后端分离vue-element
一、开发环境搭建和配置 # channels是一个用于在Django中实现WebSocket、HTTP/2和其他异步协议的库。 pip install channels#channels-redis是一个用于在Django Channels中使用Redis作为后台存储的库。它可以用于处理#WebSocket连接的持久化和消息传递。 pip install channels…...

python代码示例(读取excel文件,自动播放音频)
目录 python 操作excel 表结构 安装第三方库 代码 自动播放音频 介绍 安装第三方库 代码 python 操作excel 表结构 求出100班同学的平均分 安装第三方库 因为这里的表结构是.xlsx文件,需要使用openpyxl库 如果是.xls格式文件,需要使用xlrd库 pip install openpyxl /…...
【第十课】Rust并发编程(一)
目录 前言 Fork和Join 前言 本节会介绍Rust中的并发编程,并发编程在编程中是提升cpu使用率的一大利器,通过多线程技术提升效率,Rust的并发和其他编程语言的并发不同的地方在于,Rust号称无畏并发。更重要的一点是安全。Rust中所有…...
图形渲染性能优化
variable rate shading conditional render 设置可见性等, 不需要重新build command buffer indirect draw glMultiDraw* - 直接支持多次绘制glMultiDrawIndirect - 间接多次绘制multithreading 多线程录制 实例化渲染 lod texture array 小对象剔除 投影到…...

elasticsearch的索引模版使用方法
5 索引模版⭐️⭐️⭐️⭐️⭐️ 索引模板就是创建索引时要遵循的模板规则索引模板仅对新创建的索引有效,已经创建的索引并不受索引模板的影响 5.1 索引模版的基本使用 1.查看所有的索引模板 GET 10.0.0.91:9200/_index_template2.创建自定义索引模板 xixi &…...

论文学习——进化动态约束多目标优化:测试集和算法
论文题目:Evolutionary Dynamic Constrained Multiobjective Optimization: Test Suite and Algorithm 进化动态约束多目标优化:测试集和算法(Guoyu Chen ,YinanGuo , Member, IEEE, Yong Wang , Senior Member, IEEE, Jing Liang , Senior …...
C++中的volatile关键字
作用: 1.它用于修饰变量,告知编译器该变量的值可能会在程序的外部被改变,编译器不能对这个变量的访问进行优化。这是因为编译器通常会对代码进行优化,例如把变量的值缓存到寄存器中,但对于 volatile 变量,…...
linux桌面qt应用程序UI自动化实现之dogtail
1. 前言 Dogtail适用于Linux 系统上进行 GUI 自动化测试,利用 Accessibility 技术与桌面程序通信;Dogtail 包含一个名为 sniff 的组件,这是一个嗅探器,用于 GUI 程序追踪; 源码下载:dogtail PyPI 可通过sudo python setup.py install安装或sudo pip install dogt…...
Hello World C#
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System; 引入了System命名空间,基本输入输出。一般只用这个,后面的不用 using System.Collections.Generic; 包含了定…...

SAP开发语言ABAP开发入门
1. 了解ABAP开发环境和基础知识 - ABAP简介 - ABAP(Advanced Business Application Programming)是SAP系统中的编程语言,主要用于开发企业级的业务应用程序,如财务、物流、人力资源等模块的定制开发。 - 开发环境搭建 - 首先需…...

应急响应靶机——easy溯源
载入虚拟机,开启虚拟机: (账户密码:zgsfsys/zgsfsys) 解题程序.exe是额外下载解压得到的: 1. 攻击者内网跳板机IP地址 2. 攻击者服务器地址 3. 存在漏洞的服务(提示:7个字符) 4. 攻击者留下的flag(格式…...

【前端】vscode报错: 无法加载文件 D:\nodejs\node_global\yarn.ps1,因为在此系统上禁止运行脚本。
vscode运行前端代码时候,执行yarn install时候报错 问题: 无法加载文件 D:\nodejs\node_global\yarn.ps1,因为在此系统上禁止运行脚本。 解决方式: 首先用管理员身份运行vscode 查看 get-ExecutionPolicy,Restrict…...

Spring Web MVC(详解中)
文章目录 Spring MVC(中)RESTFul风格设计RESTFul风格概述RESTFul风格特点RESTFul风格设计规范RESTFul风格好处RESTFul风格实战需求分析RESTFul风格接口设计后台接口实现 基于RESTFul风格练习(前后端分离模式)案例功能和接口分析功…...
Flutter:encrypt插件 AES加密处理
1、pubspec.yaml导入插件 cupertino_icons: ^1.0.8 # 密码加密 encrypt: 5.0.3encrypt封装 import package:encrypt/encrypt.dart; /// 加密类 class EncryptUtil {static final EncryptUtil _instance EncryptUtil._internal();factory EncryptUtil() > _instance;Encrypt…...
变量 varablie 声明- Rust 变量 let mut 声明与 C/C++ 变量声明对比分析
一、变量声明设计:let 与 mut 的哲学解析 Rust 采用 let 声明变量并通过 mut 显式标记可变性,这种设计体现了语言的核心哲学。以下是深度解析: 1.1 设计理念剖析 安全优先原则:默认不可变强制开发者明确声明意图 let x 5; …...

XCTF-web-easyupload
试了试php,php7,pht,phtml等,都没有用 尝试.user.ini 抓包修改将.user.ini修改为jpg图片 在上传一个123.jpg 用蚁剑连接,得到flag...

基于FPGA的PID算法学习———实现PID比例控制算法
基于FPGA的PID算法学习 前言一、PID算法分析二、PID仿真分析1. PID代码2.PI代码3.P代码4.顶层5.测试文件6.仿真波形 总结 前言 学习内容:参考网站: PID算法控制 PID即:Proportional(比例)、Integral(积分&…...

(二)TensorRT-LLM | 模型导出(v0.20.0rc3)
0. 概述 上一节 对安装和使用有个基本介绍。根据这个 issue 的描述,后续 TensorRT-LLM 团队可能更专注于更新和维护 pytorch backend。但 tensorrt backend 作为先前一直开发的工作,其中包含了大量可以学习的地方。本文主要看看它导出模型的部分&#x…...
【git】把本地更改提交远程新分支feature_g
创建并切换新分支 git checkout -b feature_g 添加并提交更改 git add . git commit -m “实现图片上传功能” 推送到远程 git push -u origin feature_g...
【决胜公务员考试】求职OMG——见面课测验1
2025最新版!!!6.8截至答题,大家注意呀! 博主码字不易点个关注吧,祝期末顺利~~ 1.单选题(2分) 下列说法错误的是:( B ) A.选调生属于公务员系统 B.公务员属于事业编 C.选调生有基层锻炼的要求 D…...

UR 协作机器人「三剑客」:精密轻量担当(UR7e)、全能协作主力(UR12e)、重型任务专家(UR15)
UR协作机器人正以其卓越性能在现代制造业自动化中扮演重要角色。UR7e、UR12e和UR15通过创新技术和精准设计满足了不同行业的多样化需求。其中,UR15以其速度、精度及人工智能准备能力成为自动化领域的重要突破。UR7e和UR12e则在负载规格和市场定位上不断优化…...

如何在最短时间内提升打ctf(web)的水平?
刚刚刷完2遍 bugku 的 web 题,前来答题。 每个人对刷题理解是不同,有的人是看了writeup就等于刷了,有的人是收藏了writeup就等于刷了,有的人是跟着writeup做了一遍就等于刷了,还有的人是独立思考做了一遍就等于刷了。…...
Rapidio门铃消息FIFO溢出机制
关于RapidIO门铃消息FIFO的溢出机制及其与中断抖动的关系,以下是深入解析: 门铃FIFO溢出的本质 在RapidIO系统中,门铃消息FIFO是硬件控制器内部的缓冲区,用于临时存储接收到的门铃消息(Doorbell Message)。…...

中医有效性探讨
文章目录 西医是如何发展到以生物化学为药理基础的现代医学?传统医学奠基期(远古 - 17 世纪)近代医学转型期(17 世纪 - 19 世纪末)现代医学成熟期(20世纪至今) 中医的源远流长和一脉相承远古至…...