Hacking Team Flash New 0Day 利用代码分析

安全 漏洞
周末大清早起来,就看到知道创宇在微博上说,Hacking Team又泄露新的Flash 0Day,在当前最新实测可用。于是笔者下载了一份利用代码,经测试确实在最新版上可利用,目前Adobe官方未发布补丁。

周末大清早起来,就看到知道创宇在微博上说,Hacking Team又泄露新的Flash 0Day,在当前最新实测可用。于是笔者下载了一份利用代码,经测试确实在最新版上可利用,目前Adobe官方未发布补丁。此次泄露的0day并没有在泄露的工具库里面,而是在邮件附件中被发现的。

 

 

【利用代码分析】

1、这次的漏洞主要出现在AS3 "opaqueBackground” 属性上,它主要用于设置背景颜色。首先创建_ar Array数组,然后用vector.对象填充。

 

 

2、接着创建TextLine对象,然后设置它的opaqueBackground属性,再自定义valueOf函数,这个函数是触发漏洞的关键,跟前几个flash漏洞类似。

 

 

3、设置opaqueBackground属性,将_mc(MyClass类型)赋予opaqueBackground,由于数据类型不同,AVM会进行类型转换,此时自定义的valueOf2就会被调用。

 

 

 

 

4、调用recreateTextLine函数重建TextLine,导致原分配的TextLine对象内存被释放,但程序依然保留着对它的引用,所以漏洞也是个UAF漏洞。接着重新设置_ar[i].length的长度值(_vLen 大于原始长度值 ),会导致重新分配内存,从而占用已释放的内存,此时里面都是vector.对象。最后返回_vLen+8的值给_ar[_cnt].opaqueBackground,如果利用成功,它刚好会去篡改某个vector.对象的长度值为106。

 

 

5、找到被篡改了长度的vector对象,由于其长度值被更改,再用这个被改的vector去覆盖下一个vector长度为0x40000000,允许读取到更大内存空间的数据,从而获取需要调用的函数地址,绕过ASLR保护。根据不同的系统平台,选择不同的shellcode代码执行,这些跟前2个flash 漏洞的利用模板基本一致。

 

 

6、内存搜索的方式也是采用搜索“MZ”PE头这种暴力方式,再去解析PE文件格式,从导入表中的找到kernel32.dll库,再从其函数名列表里找到VirtualProtect函数,进而找到对应的函数地址进行调用。

 

 

7、看下ShellWin32.Exec函数,通过内存搜索找到VirtualProtect函数地址,将包含执行calc的shellcode设置为可执行权限,以此绕过DEP保护,并用指向shellcode的指针替换payload对应的JIT函数指针,当调用Payload.call 时则执行的正是shellcode。

 

 

【防范方案】

Adobe官方刚刚已经发布安全公告,对应的CVE号为:CVE-2015-5122,并称12号将发布安全补丁,相当于北京时间周一早上。TSRC建议大家在官方发布补丁前,先禁用Flash插件。

【总结】

此次漏洞主要是AS3 opaqueBackground 属性导致的UAF漏洞,依然是valueOf导致的漏洞,此次Hacking Team 曝光的3个漏洞均是valueOf问题,用的基本是同一套利用模板,并且支持多个平台环境,都是采用vector exploit技术去实现信息泄露,从而绕过ASLR,再调用virtualProtect去赋予shellcode可执行权限,以此绕过DEP保护。可以预见未来将会有很多flash exploit 采用类似技术,甚至可能在一些恶意样本中找到Hacking Team的Flash利用模板,未来的利用代码将会更加工程化,通用化。

PS:分析时间仓促,如有误,欢迎指正!

责任编辑:蓝雨泪 来源: TSRC博客
相关推荐

2015-07-08 10:35:17

2015-07-08 13:52:18

2015-07-14 11:00:16

2015-07-15 12:50:27

微软IE11

2015-07-14 10:33:19

2021-07-14 17:17:45

0day漏洞恶意代码

2011-08-26 11:44:01

2015-06-25 17:23:33

2009-07-06 13:15:07

2010-09-01 15:18:04

2011-07-18 14:29:46

2014-10-15 17:29:33

2015-05-20 16:34:14

2021-07-16 10:30:53

Google漏洞Chrome

2021-09-10 11:41:20

漏洞Windows 微软

2017-02-17 09:10:26

2012-06-19 15:16:05

2009-02-25 16:28:46

2009-07-30 10:08:32

2015-07-08 13:36:24

点赞
收藏

51CTO技术栈公众号