首页
社区
课程
招聘
[转帖]利用adobe动画制作软体在 Windows 7 上的播放器
发表于: 2011-9-22 00:09 3333

[转帖]利用adobe动画制作软体在 Windows 7 上的播放器

2011-9-22 00:09
3333
信息来源:中国黑客联盟(www.chinawll.com)

作者:nannet

大家好,作为许多读者一样的windows7,这里是其他的一个漏洞利用。

1)劝告信息
Title                   : Adobe Flash player Action script type confusion   
Version             :  flash10h.dll
Discovery         :  Malware writers
Exploit              :  www.abysssec.com
Vendor             :  http://www.adobe.com
Impact              :  Critical
Contact            :   info  [at] abysssec.com
Twitter            : @abysssec
CVE                    : CVE-2010-3654

2)漏洞的版本
Adobe Flash Player 10.1.53 .64 prior versions
3)漏洞信息
Class  
1- Type Confusion
Impact
成功地利用这发行让遥远的攻击者在对准的浏览器的背景之下运行码。
Remotely Exploitable
Yes
Locally Exploitable
Yes

4)漏洞细节

    这里我们已经归类好了混乱漏洞的术语字节码语,他这些易受伤引起是因为证明的实施处理在当做 3个 jit 发动机哪一因为一些算错在确认 datatype 原子方面,一些数据代替另外类型的数据,而且混乱造成缺点多的机器码。

    作用手写体有下列的结构。 第一个我们的手写体被编译使用作用手写体像电线一样的编译器到当做 3个字节码而且对在 swf 文件格式中的 DoABC 、 DoAction 或 DoInitAction 附签使插入它。当闪光播放器开启 swf 文件,字节码透过证明和代程序被编译到一个 jitted 机器码。证明程序负责核对字节码成为有效的指令,而且它把有效的字节码通过给代程序,如此代程序在存储器生产机器码。

依照 Dion Blazakis JIT 的说法:

要处理这个运行时间打字需要, ActionScript 译印机表现被附以签条指标的使用的内部的物件-内部的,这一个物件叫做一个 " 原子 "。 被附以签条的指标是在因数值而储存的那些物件之间区别的一个共同的实施技术和被叁考使用相同的单词尺寸记忆单元储存的那些。 一个被附以签条的指标在最低有效位元中储存型态信息而且储存型态最高有效位元中的特定的数值。 如例证 1 所示, ActionScript 原子广阔地是 32 位元; 它分派 3 位元为数值储存型态信息和使用 29个位元。

    因此如果也使证实器困惑会是合理的,当另一个原子一些字节码变更,作用一个原子,藉由揭露 vtable 产生缺点多的码大部份的时代引导指标对攻击者的呼叫会是合理的。

    错误在 Haifei li 最近的滑动完全地被呈现。 我们有 OriginalClass 和 RefClass 有相同的职能。 Func1- OriginalClass 的返回头等反对,但是 Func1- RefClass 归还另外的一个型态。藉由在我们已经混乱的字节码中变更一位元组当做 3 运行 RefClass 在主要的类别动作。  在那一个证实器在回行数值的控制之下以 vtable 把回行类型的职能和一个 OriginalClass 物件弄混并且产生缺点多的码之后。

漏洞利用

因为开发在没有任何第三方的windows 7 上的最近保护贸易制上企图,许多次使用相同的错误漏出 imageBase 位址是合理的和负载量位址。

第 1 阶段: 阅读 shellcode 字串物件指标藉由把它和 uint 弄混而且使用它漏出 ImageBase。

第 2 阶段: 用相同的指标和 NewNumber 诡计的 shellcode 的漏位址。

第 3 阶段: 传送 imageBase 和 shellcode 位址当做对 RopPayload 职能来说的叁数,发展 Rop 负载量字串而且再次把回行的数值和 uint 弄混读 RopPayload 字串的位址。

第 4 阶段: 传送 rop 负载量的位址当把字串型态和类别物件弄混的叁数到最后困惑的职能。 而且如此我们的 rop 负载量的位址将会在假的类别物件中当做 vtable 被用。

注意: 在以字串作为作用手写体的 shellcode 的一个缓冲区方面,因为 toString 方法如此将我们的美国标准信息交换码字符组转换成 uincode ,所以使用文数字符很重要让我们的 shellcode 无法使用。

5)总结

最后我们得到了点存储器漏泄在现代的开发中极端有用省略 DEP, ASLR 保护贸易制。 在烘干砖闪光播放器中找起来相同原子混乱情形和其他物件漏泄会是合理的。为他的棒研究对 haifei li 名声,虽然履行一个可靠的漏洞不是那么简单刚好在没有在会谈叁加下滑动。

6)参考

http://www.cansecwest.com/csw11/Flash_ActionScript.ppt

http://www.semantiscope.com/research/BHDC2010/BHDC-2010-Paper.pdf

7)漏洞利用源代码

一如往常,欢迎反馈,而且你能在twitter中的 abysssec 到得到更新。

Download : CVE-2010-3654_Win7

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//