首页
社区
课程
招聘
[原创]Kolibri v2.0-Buffer Overflow分析及利用
发表于: 2017-5-13 19:15 5540

[原创]Kolibri v2.0-Buffer Overflow分析及利用

XFF 活跃值
2
2017-5-13 19:15
5540

前言

实验主机: Windows xp sp3

工具: Immunity Debugger

   Hex Workshop v5.1

漏洞程序: Kolibri v2.0 HTTP Server   版本: 2.0

之前看过一些关于EggHunters技术的文章,但是一直也未进行实践,趁着正好有时间,在网上找到了相关的漏洞软件,准备学习一番。

 

漏洞分析:寻找溢出点

EggHunters技术是Staged ShellCode技术的一种,寻蛋指令的目的是为了搜索整个内存空间(栈/堆/...)找到我们真正的shellcode并执行它,如果可用的溢出缓冲区放不下整个shellcode代码,就可以用Egg Hunting技术

前置条件:

 必须能够跳转,并且执行一些shellcode(寻蛋指令),

    最终执行的ShellCode必须在内存的某个位置(堆,栈)

    最终执行的ShellCode的前面必须存在唯一标识,寻蛋指令就是逐字节进行查找唯一标识

 

打开虚拟机,因为软件为绿色软件直接运行即可无需安装

    开启服务以后,我们先写一个简单的python测试脚本,看我们下载的程序是否存在远程溢出漏洞

当我们用本机运行测试脚本给Kolibri 2.0 HTTP Server发送包含1000Ahttp,Kolibri 2.0直接退出了程序,说明我们的测试起到了效果,然后我们再使用ImmDebug以调试的方式打开Kolibri 2.0.

使用mona插件生成600个测试字符:!mona pattern_create 600,ImmDebug会在调试器根目录下生成一个以pattern命名的.txt文件,此文件中就保存的则是我们的600个测试字符.

我们把测试脚本中的1000A,替换成我们的测试字符:

替换完以后,再次开启Kolibri2.0程序,在本机运行测试脚本.

可以看到我们的调试器弹出了一个窗口,提示不知道怎么继续,因为地址0x32724131不能读,我们把32724131放到mona插件中搜索一下,是否存在于我们的测试字符中.

    mona插件搜索到了,这个段字符的偏移为515,我们验证一下我们找到的覆盖EIP的位置,把第516~519个字节改为ABBA,然后再次测试

确实为ABBAAscii.说明我们已经控制了程序的EIP, 此程序有多种利用方法,这里我们使用EggHunters技术


构建缓冲区:

因为一般使用EggHunters技术是因为缓冲区空间有限不能存放我们所有的ShellCode,所以先存放一小段寻蛋指令在溢出缓冲区中,通过这段小指令去寻找我们的大本营(ShellCode),然后执行主ShellCode.因为空间有限所有我们只能把寻蛋指令放置在溢出缓冲区.现在我们来构建溢出缓冲区的结构:

我们需要一个jmp esp指令的地址与向后跳转的指令还有寻蛋指令

Jmp esp地址可以使用mona插件查找jmp esp指令:!mona jmp -r esp,可以找到一大堆可以使用的地址,我们在其中选取一条;

0x7d5a30d7 : jmp esp |  {PAGE_EXECUTE_READ} [SHELL32.dll] ASLR: False, Rebase: False, SafeSEH: True, OS: True, v6.00.2900.5512 (C:\WINDOWS\system32\SHELL32.dll)

JmpEgg指令可以使用\xEB\xC4 //短跳转指令EB,长度-60(0xc4)因为短跳转的范围是-128~127,所以最高正数为7F,大于7F就为负跳转,C4为负跳转;


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

上传的附件:
收藏
免费 1
支持
分享
打赏 + 1.00雪花
打赏次数 1 雪花 + 1.00
 
赞赏  CCkicker   +1.00 2017/06/19
最新回复 (8)
雪    币: 47147
活跃值: (20450)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
2
感谢分享!
2017-5-13 20:18
0
雪    币: 381
活跃值: (177)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
3
今天上传附件时看到还有进度条感觉棒棒哒!
2017-5-13 22:52
0
雪    币: 7012
活跃值: (4222)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
感谢分享     
2017-5-14 00:17
0
雪    币: 381
活跃值: (177)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
5
MaYil 感谢分享
共同进步
2017-5-14 00:35
0
雪    币: 2575
活跃值: (502)
能力值: ( LV2,RANK:85 )
在线值:
发帖
回帖
粉丝
6
学习一下
2017-5-16 21:42
0
雪    币: 224
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
感谢,还附带了软件
2017-5-17 15:32
0
雪    币: 10885
活跃值: (3288)
能力值: (RANK:520 )
在线值:
发帖
回帖
粉丝
8
感谢分享!
2017-5-17 15:59
0
雪    币: 5633
活跃值: (7199)
能力值: ( LV15,RANK:531 )
在线值:
发帖
回帖
粉丝
9
学习了,感谢分享!
2017-5-18 14:26
0
游客
登录 | 注册 方可回帖
返回
//