首页
社区
课程
招聘
[分享]小白学习CVE-2017-11882漏洞过程
发表于: 2018-11-12 17:50 11169

[分享]小白学习CVE-2017-11882漏洞过程

2018-11-12 17:50
11169

菜鸟漏洞学习笔记之一---CVE-2017-11882
写在前面的话:由于作者对于漏洞这一块非常感兴趣,但无奈以前确实没有接触过,所以打算写一份关于漏洞学习的笔记,想将自己的漏洞学习过程全程记录下来。由于作者水平有限,所以文章中会出现各种错误以及没有提到(因为不理解,所以不知道怎么说)的地方。希望大家提出宝贵的学习意见,谢谢!
本文主要分为三个部分:一:为什么要研究这个漏洞。
二:整个漏洞的学习过程。
三:参考资料以及致谢。

一:为什么要研究这个漏洞
1:简单,这个漏洞没有各种复杂的保护机制,适合新手上手。
2:高效,适合很多的Windows Office版本
3:我就想看看啥叫漏洞

二:整个漏洞的学习过程
作者在想学习漏洞的时候,有哥们说可以学习一下CVE-2017-11882,简单易学易上手,网上的教程也很多,最关键的是有哥们讲解。所以作者就开始了这个漏洞的学习。
1:相关资源
安装office 2010以及拿到这个漏洞的exploit,并运行文件后产生下面这个结果。

2:参考文献的作用
开始调试这个相关的文件(因为这个文件可以触发漏洞,所以学习这个文件触发漏洞的机制是我们学习这个漏洞的基础)在网络上面搜索参考资料,其中《隐藏17年的Office远程代码执行漏洞POC样本分析(CVE-2017-11882)》这篇文章中写到

本来在调试文件的时候,放入OD中的我们可以单步跟踪程序的执行的流程,但是在这里缺不能了,因为EQNEDT32.EXE是以单独的进程形式存在的。我们以什么方法进行才能够调试一个进程创建的另一个进程呢?在《如何在程序启动的时候将调试器附加上去 》这篇文件上写到

所以文章通过这样的方式进行附加进程的操作。
3:WinDbg的正确打开方式
按照文章的方式进修修改,这里需要说明的是这里用于调试的工具是WinDbg,而且在注册表的“数据数值”里面填写的是调试器的全路径+exe文件,而不是exe文件!




4:具体思路:
现在可以开始使用WinDbg进行调试了,这里有一个疑问提给大家--我们辛辛苦苦的打开WinDbg调试,到底要干啥?
现在开始理一下思路:

所以我们就想到在创建进程的函数上面打上断点,试一下看看怎么样。
注:打断点的函数
bp kernel32!WinExec、bp kernel32!CreateProcessW

程序在WinExec这个函数上面被断下来了。再看一下相关栈的调用情况


附加信息:

当程序在WinExec断下来以后,断点进入这个函数里面,而这里的0x430C18就是这个函数运行完毕以后返回到上一层的地址。

而下面的0x4218e4又是什么意思呢?就是调用WinExec的函数了。这里怎么理解呢?

所以我们从调用WinExec函数的上一层去找那个被溢出的函数就可以了。而这个函数的返回地址就是0x0x4218e4.进去看看

这个也就是我们的函数fun_1了,进去找fun_B在哪里?

代码只有这些,可以硬看。好吧,我菜,所以我偷偷的按了一下F5。

很容易看出来这个函数可能有问题,进函数,此时的栈情况


发现了一个写代码很经典的错误,就是字符串长度没有限定,所以出现了溢出错误。


到这里为止,就算是找到溢出的地方了。而0x430C12就是call WinExec地址了。我们可以弹出来一个记事本试试。

将objdata里面的内容全部复制下来,以二进制的形式复制出来。

其中在这个地方的二进制字节码修改成

保存完毕后,将这一段代码重新复制回源文件

保存后再打开这个.rtf文档试试。

弹出了一个notepad.exe的程序。

三:参考资料以及致谢
参考资料:
[1]:FreeBuf 隐藏17年的Office远程代码执行漏洞POC样本分析(CVE-2017-11882)
[2]:52PoJie [调试逆向] 如何在程序启动的时候将调试器附加上去
致谢
感谢XX辉对于漏洞的详细讲解、感谢X越、XX祥的交流与讨论。


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

收藏
免费 5
支持
分享
最新回复 (11)
雪    币: 3499
活跃值: (800)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
2
兄弟,我也对漏洞感兴趣,不过也处于小白的阶段,可以加个好友一起讨论吗?
2018-11-12 18:32
0
雪    币: 300
活跃值: (2477)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
mark,图文并茂
2018-11-12 18:57
1
雪    币: 259
活跃值: (60)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
4

这是.rtf

最后于 2018-11-13 08:16 被azhankai编辑 ,原因:
上传的附件:
2018-11-13 08:14
0
雪    币: 259
活跃值: (60)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
5
可以的!
2018-11-13 08:22
0
雪    币: 84
活跃值: (59)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
6
支持凯大佬
2018-12-22 21:34
0
雪    币: 1000
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
加油
2018-12-22 21:37
0
雪    币: 160
活跃值: (255)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
8
支持凯大佬
2018-12-22 21:37
0
雪    币: 368
活跃值: (431)
能力值: ( LV2,RANK:140 )
在线值:
发帖
回帖
粉丝
9
支持凯大佬
2018-12-22 21:40
0
雪    币: 213
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
10
谢谢 写的很详细 
2019-2-5 03:42
0
雪    币: 861
活跃值: (683)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
11
感谢凯大佬
2019-2-20 13:28
0
雪    币: 12
活跃值: (282)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
哇,真的用心。
2019-3-12 21:39
0
游客
登录 | 注册 方可回帖
返回
//