首页
社区
课程
招聘
[原创]CVE-2017-11882分析调试
2018-11-13 22:04 8851

[原创]CVE-2017-11882分析调试

2018-11-13 22:04
8851

环境: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有什么错误的地方请大家指正,我回头会修改

[培训]内核驱动高级班,冲击BAT一流互联网大厂工 作,每周日13:00-18:00直播授课

收藏
点赞5
打赏
分享
打赏 + 1.00雪花
打赏次数 1 雪花 + 1.00
 
赞赏  junkboy   +1.00 2018/11/14
最新回复 (3)
雪    币: 2095
活跃值: (344)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
icesnowwise 2018-11-14 23:55
2
1
大佬牛逼,理解起来有点困难,毕竟我逆向太菜
雪    币: 250
活跃值: (81)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
古往今来 2019-9-3 11:18
3
0
为什么不提供分析文件。
雪    币: 73
活跃值: (3045)
能力值: ( LV7,RANK:110 )
在线值:
发帖
回帖
粉丝
不懂就不懂 2 2019-11-22 10:45
4
0
真。。。贴图分析法。。。
游客
登录 | 注册 方可回帖
返回