【漏洞复现】噩梦公式二代漏洞|EQNETD32.exe栈溢出漏洞|公式编辑器栈溢出漏洞(CVE-2018-0802)

本文主要是介绍【漏洞复现】噩梦公式二代漏洞|EQNETD32.exe栈溢出漏洞|公式编辑器栈溢出漏洞(CVE-2018-0802),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 

一、CVE-2018-0802

在潜伏17年的“噩梦公式”漏洞(OFFICE公式编辑器EQNEDT32.exe栈溢出漏洞-CVE-2017-11882)被曝光修补之后,之前的漏洞程序 EQNEDT32.EXE 在windows 10系统下仍然没有开启ASLR保护,因此其利用非常容易,在修补之后可以发现微软的发布的是二进制补丁而不是对该程序源码进行重新编译,因此猜测该程序的源码可能已经遗失,如果真实情况是这样,那么公式编辑器这个进程将成为其他漏洞发现和利用的“圣地”,因为微软将很难从源代码级别去排查这个程序是否还有其他漏洞。此次“噩梦公式”的姊妹篇 CVE-2018-0802 就在这一背景下被业界所发现。

windows在2017年11月份发布补丁,修复了cve-2017-11882(EQNEDT32.EXE公式编辑器的栈溢出漏洞),由于以上原因CVE-2018-0802 再一次利用了EQNEDT32.EXE公式编辑器的栈溢出漏洞,该漏洞的成因是EQNEDT32.EXE进程在读入包含MathType的ole数据时,在拷贝公式字体名称时没有对名称长度进行校验,从而造成栈缓冲区溢出,这个漏洞是CVE-201-11882的补丁绕过漏洞,网上也出现了两种漏洞结合的POC。

 

二、准备

攻击机:kali-2019    192.168.75.154

靶机:win7_x86(关闭防火墙)    192.168.75.139

 

三、复现

1、下载 exp ,git clone https://github.com/Ridter/RTF_11882_0802

2、打开 msf 设置攻击 IP,准备接受反弹 shell

执行 exploit 进行监听

3、制作 payload 文档,将生成文档发送到靶机

4、在靶机打开 exp.doc,第一次打开需要点击启用编辑,启用后攻击机 getshell 成功

 

 

四、技术细节

POC 的 RTF文件继续使用objupdate字段来使OLE对象的自动更新和加载,利用的漏洞点还是 font name,栈溢出点同样是 strcpy 函数,成因也是EQNEDT32.EXE进程在读入包含MathType的ole数据时,在拷贝公式字体名称时没有对名称长度进行校验,从而造成栈缓冲区溢出,还有一个问题是这个漏洞在未打补丁的系统中并不会执行,因为CVE-2017-11882覆盖返回地址需要的长度远远小于这个样本,而在执行这个样本的时候会先触发CVE-2017-11882导致Crash,因此网上也出现了将两种洞组合的POC,在CVE-2017-11882利用不成功后会利用CVE-2018-0802,具体可参考 11882 的分析。

 

 

 

 

 

参考:

https://cloud.tencent.com/developer/news/125225

https://www.freebuf.com/vuls/160115.html

https://www.cnblogs.com/Get-Me/p/b3dac8831fa0284563d012ecdf9dbe91.html

https://blog.csdn.net/DarkHQ/article/details/80454965

https://www.freebuf.com/vuls/160386.html

 

这篇关于【漏洞复现】噩梦公式二代漏洞|EQNETD32.exe栈溢出漏洞|公式编辑器栈溢出漏洞(CVE-2018-0802)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/716055

相关文章

Python打包成exe常用的四种方法小结

《Python打包成exe常用的四种方法小结》本文主要介绍了Python打包成exe常用的四种方法,包括PyInstaller、cx_Freeze、Py2exe、Nuitka,文中通过示例代码介绍的非... 目录一.PyInstaller11.安装:2. PyInstaller常用参数下面是pyinstal

修复已被利用的高危漏洞! macOS Sequoia 15.6.1发布

《修复已被利用的高危漏洞!macOSSequoia15.6.1发布》苹果公司于今日发布了macOSSequoia15.6.1更新,这是去年9月推出的macOSSequoia操作... MACOS Sequoia 15.6.1 正式发布!此次更新修复了一个已被黑客利用的严重安全漏洞,并解决了部分中文用户反馈的

AOP编程的基本概念与idea编辑器的配合体验过程

《AOP编程的基本概念与idea编辑器的配合体验过程》文章简要介绍了AOP基础概念,包括Before/Around通知、PointCut切入点、Advice通知体、JoinPoint连接点等,说明它们... 目录BeforeAroundAdvise — 通知PointCut — 切入点Acpect — 切面

Python中文件读取操作漏洞深度解析与防护指南

《Python中文件读取操作漏洞深度解析与防护指南》在Web应用开发中,文件操作是最基础也最危险的功能之一,这篇文章将全面剖析Python环境中常见的文件读取漏洞类型,成因及防护方案,感兴趣的小伙伴可... 目录引言一、静态资源处理中的路径穿越漏洞1.1 典型漏洞场景1.2 os.path.join()的陷

Python程序打包exe,单文件和多文件方式

《Python程序打包exe,单文件和多文件方式》:本文主要介绍Python程序打包exe,单文件和多文件方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录python 脚本打成exe文件安装Pyinstaller准备一个ico图标打包方式一(适用于文件较少的程

Java内存区域与内存溢出异常的详细探讨

《Java内存区域与内存溢出异常的详细探讨》:本文主要介绍Java内存区域与内存溢出异常的相关资料,分析异常原因并提供解决策略,如参数调整、代码优化等,帮助开发者排查内存问题,需要的朋友可以参考下... 目录一、引言二、Java 运行时数据区域(一)程序计数器(二)Java 虚拟机栈(三)本地方法栈(四)J

Python+wxPython构建图像编辑器

《Python+wxPython构建图像编辑器》图像编辑应用是学习GUI编程和图像处理的绝佳项目,本教程中,我们将使用wxPython,一个跨平台的PythonGUI工具包,构建一个简单的... 目录引言环境设置创建主窗口加载和显示图像实现绘制工具矩形绘制箭头绘制文字绘制临时绘制处理缩放和旋转缩放旋转保存编

使用Python开发Markdown兼容公式格式转换工具

《使用Python开发Markdown兼容公式格式转换工具》在技术写作中我们经常遇到公式格式问题,例如MathML无法显示,LaTeX格式错乱等,所以本文我们将使用Python开发Markdown兼容... 目录一、工具背景二、环境配置(Windows 10/11)1. 创建conda环境2. 获取XSLT

Spring Boot中JSON数值溢出问题从报错到优雅解决办法

《SpringBoot中JSON数值溢出问题从报错到优雅解决办法》:本文主要介绍SpringBoot中JSON数值溢出问题从报错到优雅的解决办法,通过修改字段类型为Long、添加全局异常处理和... 目录一、问题背景:为什么我的接口突然报错了?二、为什么会发生这个错误?1. Java 数据类型的“容量”限制

将Java程序打包成EXE文件的实现方式

《将Java程序打包成EXE文件的实现方式》:本文主要介绍将Java程序打包成EXE文件的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录如何将Java程序编程打包成EXE文件1.准备Java程序2.生成JAR包3.选择并安装打包工具4.配置Launch4