首页
社区
课程
招聘
[旧帖] [原创]CVE-2010-3333漏洞分析 0.00雪花
2012-10-25 19:16 4832

[旧帖] [原创]CVE-2010-3333漏洞分析 0.00雪花

2012-10-25 19:16
4832
来看雪论坛很久了,一直都在download别人的资源,有点说不过去...今天发一篇关于CVE-2010-3333的漏洞分析,不求有多大的作用,只希望和我一样的新手看了有点体会,互相交流...
那么,开始咯~
实验环境:win xp+word 2003+Ollydbg
一打开poc就可以看到万能跳转(jmp  esp)地址的存在。如图1所示。
 
图1
那么该漏洞的调试就可以从这个地址入手了。
打开OD后,载入winword.exe,ctrl+g给7ffa4512下断点。如图2所示
 
图2
找到该地址后,由于该地址的特殊性,只能给它下硬件断点。
随后按下F9执行该程序。几秒后,打开了word.exe程序,然后点击“文件”->“打开”,载入我们的POC。
果断程序停在了我们 所设置断点的地方,如图3所示。
 
图3
这是我们可以观察寄存器的值,很明显是发生了溢出才导致了这些不正常值的出现。
按F8单步执行下去后,我们就可以看到程序跳进了shellcode区域去执行。
这个时候我们观察栈区的数据,或许可以发现程序的调用。
 
图4
从图4中可以看出,在跳转到jmp esp地址之前,word程序调用了mso模块中的地址为:30f4ccb1的函数,难道就是该函数发生了问题??我们在此地址下下断点,来看看!如图5
 
图5
找到该地址,然后下断点。然后重新载入该程序。
 
图6
果断程序妥妥的停在了我们刚设置断点的地址,如图6。
这个时候,我们继续观察战中的变化,看shellcode是否已经被copy到栈区。
 
图7
从图7中可以看到,shellcode已经被拷贝到了栈区,那么也就是说明溢出的过程和这个函数无关。我们只能继续往上寻找,查找在调用这个函数之前是哪个函数出了问题。这个时候我们发现,在它上面有个函数调用,难道是这个函数的问题?
 
图8
为了验证图8中的问题,我们对该函数调用的任意一行指令下断点。看那时候栈区的情况,如图9。
 
图9
然后重新载入程序。
 
图10
同样,在此时,栈区数据又已经被shellcode所覆盖.如图10。没办法,我们只能继续往上走。
我将断点设置在此处,如图11。
 
图11
重新载入程序后运行。
然后我们发现发现这个时候shellcode并未覆盖该栈区。如图12所示。
 
图12
经过对断点前后代码的简单分析,我们确定了溢出的过程就是图13中的那个函数中。
 
图13
于是我们按F8单步调试,然后F7进入该函数的调用。为了时刻观察栈区数据什么时候覆盖,我们可以用锁定堆栈的方法来时刻监控。
根据跟踪的状态,发现执行了这一步(图14中所示)之后,栈区的数据就被覆盖了。
 
图14
30E9EB88    F3:A5           rep     movs dword ptr es:[edi], dword ptr [esi]
这一条指令的意思就是说:将esi所指向的串移动到edi所指向的区域,移动的次数为ecx次。那么,很显然,由于移动的次数比预期的多了,所以才造成了这次的栈溢出。那么我们可以确定是ecx大小问题,是由于程序没有对ecx的大小做检查么?
在程序的上面,我们看到,程序有对ecx的长度进行检查,但是明显检查的不够合理。如图15
 
图15
进行图15的检查,ecx的值的范围可以在0000h-1111h,明显不太合理,但是分配给他的空间有多少呢?我们继续往上查看。
 
图16
如图16,他分配的大小只有0x10,也就是说rep的次数只能是2次。但是由于这个ecx值的大小未受到合理的检查,所以才导致了该溢出。

最后欢迎大家和我交流讨论,共同进步。
附上调试POC: CVE-2010-3333.rar
留下QQ邮箱
[EMAIL="695473585@qq.com"]695473585@qq.com[/EMAIL]

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

上传的附件:
收藏
点赞3
打赏
分享
最新回复 (8)
雪    币: 34
活跃值: (40)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
冰翼show 1 2012-10-25 19:18
2
0
自己的沙发,哈哈
雪    币: 42
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
hquCTH 2012-10-25 19:30
3
0
[LEFT][/LEFT]顶一个亲。。。。。。。。。。。
雪    币: 4
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
wenxiaohui 2012-10-25 19:30
4
0
学习学习。。。。
雪    币: 25
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
sjsme 2012-10-25 19:31
5
0
抢我沙发!!!!!!!!!!!!!!!!!!!!!!!!!
雪    币: 34
活跃值: (40)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
冰翼show 1 2012-10-26 08:15
6
0
一起学习学习哈~
雪    币: 32410
活跃值: (18735)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
kanxue 8 2012-10-26 09:22
7
0
感谢分享,你己转为正式会员
雪    币: 1551
活跃值: (2847)
能力值: ( LV11,RANK:180 )
在线值:
发帖
回帖
粉丝
zhenwo 1 2014-8-17 16:24
8
0
你这个 图片处理的不错呀 汽包提示 用的什么工具呀
雪    币: 34
活跃值: (40)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
冰翼show 1 2014-9-4 23:41
9
0
faststone 很好用的软件,推荐使用。
游客
登录 | 注册 方可回帖
返回