欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

CVE-2017-11882漏洞分析报告

程序员文章站 2022-04-28 11:56:12
...

漏洞简介:

软件名称及版本:Microsoft Office2016以下

漏洞模块:EQNEDT32.EXE

漏洞编号:CVE-2017-11882

危害等级:高危

漏洞类型:缓冲区溢出

威胁类型:远程

软件简介:

   Microsoft Office是微软公司针对Windows操作系统所推出的办公室套装软件,漏洞出现在EQNEDT32.EXE模块中,在Office的安装过程中被默认安装。当插入和编辑数学公式时,EQNEDT32.EXE不是作为Office进程的子进程创建,而是以单独的进程形式存在。所以对Office进程的保护机制无法阻止EQENEDT32.EXE被利用。
CVE-2017-11882漏洞分析报告

漏洞分析及复现过程:

  由于EQNEDET32.EXE是被Office进程创建后以单独的进程形式存在所以通过修改注册表的方式设置应用程序以自动启动调试器,
  1·在注册表编辑器中定位到HKEY_LOCAL_MACHINE\Software\Microsoft\Windows   NT\CurrentVersion\Image File Execution Options,
  2·在Image File Execution Options文件夹中,右击“Image File Execution Options”文件夹,在快捷菜单上单击“新建项”,项名为EQNEDET32.EXE
  3·右击“EQNEDET32.EXE”文件夹,在快捷菜单上单击“新建字符串值”,设置字符串名称为debugger 数据数值为调试器的全路径+exe文件。

1·设置进程创建函数的断点 然后运行
CVE-2017-11882漏洞分析报告
查看此时堆栈的情况
CVE-2017-11882漏洞分析报告
VC中函数WinExec的信息如下:

WINSHELLAPI void WINAPI WinExecErrorW(
                                    HWND hwnd,            //窗口句柄
                                    int error,                 //出错信息
                                    LPCWSTR lpstrFileName, //文件名
                                    LPCWSTR lpstrTitle      //标题名
);

在堆栈中查看地址信息如下
CVE-2017-11882漏洞分析报告
结合IDA中查看此处的地址
CVE-2017-11882漏洞分析报告
此处的00430C18即为溢出点
CVE-2017-11882漏洞分析报告
进入函数sub_4115A7 F5获得如下伪c代码
CVE-2017-11882漏洞分析报告
继续跟入函数sub_41160F如下
CVE-2017-11882漏洞分析报告
在汇编界面如下
CVE-2017-11882漏洞分析报告
CVE-2017-11882漏洞分析报告
发现使用了了不安全函数strcpy 在进行拷贝的时候未进行长度校验 造成拷贝的时候产生栈溢出。

参考资料:
  小白学习CVE-2017-11882漏洞过程
  https://bbs.pediy.com/thread-247740.html
  隐藏17年的Office远程代码执行漏洞POC样本分析(CVE-2017-11882)
  https://www.freebuf.com/vuls/154462.html