[原创]CVE-2017-11882分析调试
环境:win7sp3, office2007
工具:winDbg, IDA
漏洞成因:
- 该漏洞出现在模块EQNEDT32.EXE中, 该模块为windows的公式编辑器, 该模块以OLE技术(对象链接与嵌入)将公式嵌入在office文档内.
- 模块路径: C:\Program Files\Common Files\microsoft shared\EQUATION

- EQNEDT32.EXE在插入和编辑是会以独立进程的形式存在. 导致了系统对于office和Excel的保护机制, 无法有效的阻止EQNEDT32.EXE这个进程被利用.
开始分析:
0x00
- 1.通过process explorer查看进程树看expolite弹出的计算器的父进程是谁

发现是EQNEDT32.EXE这个模块 - 2.因为漏洞是出现在EQNEDT32.EXE里面, 所以我们可以先将其调试器修改为winDbg, 这样在加载这个模块的时候就会被附加到winDbg窗口.
- 注册表路径为:HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS NT\CURRENTVERSION\IMAGE FILE EXECUTION OPTIONS

- 3.因为弹出计算器的时候创建了新的进程,所以我们可以认为新的进程是由WinExec或者CreatProcess创建的。
- 4.下bp断点kernel32!WinExec和CreateProcess, 然后 ‘g’

- 5.分析WiinExec的参数和返回地址

看到通过cmd的方式调用了calc - 6.再继续栈回溯看是哪个函数调用的WinExec

- 7.查看函数栈, 从函数返回地址继续往上栈回溯


- 8.这个时候需要用winDbg对这些函数下断点跟进, 看是哪个函数触发了计算器


- 9.发现是sub_41160F函数弹出了计算器


0x01
- 1.重新运行exploit, 用winDbg运行到41160F处查看堆栈内容

2.用IDA静态分析一下这个函数的指令

3.本函数的参数

- 用WinDbg单步执行完4111658这条指令查看函数返回地址是否被覆盖了

第一次分析CVE有什么错误的地方请大家指正,我回头会修改
