2016-03-15

CVE-2015-3864

cve-2015-3864是cve-2015-1538同系列中的另外一个漏洞,利用的是解析tx3g中整型上溢,google公布的exploit-38226中通过利用jemalloc的特性对内存进行巧妙的布局,溢出后基本能100%覆盖到MPEG4DataSource的虚表指针。 2016年3月18号NorthBit公布了一篇文章Metaphor A (real) real­life Stagefright exploit,在google的基础上通过信息泄漏绕过aslr。

其中内存布局原理(摘自Metaphor):

pssh:消耗内存碎片,留下大块内存。解析期间不会释放掉,大小可控。 titl/gnre:内存占位,解析到第二个先申请新的然后会释放之前的。 同时pssh堆喷中,分配大于0x40000长度会调用mmap函数,mmap()地址8位随机,需要预测堆喷地址。

总结下来:

通过pssh atoms堆喷使新的的heap runs可预测。

申请titl和gnre占位。

解析stbl box后创建MPEG4DataSource对象,复用titl。

解析tx3g box复用gnre。

溢出覆盖虚表指针。

调试过程(Nexus5 andorid 5.01):

1.MPEG4DataSource对象复用titl

2.tx3g复用gnre

3.memcpy溢出覆盖vTable

4.调用mDataSource->readAt控制流程

5.gadget1

6.gadget2

7.gadget3

8.mprotect

9.执行mprotect后通过gadget2和gadget3调整堆栈然后跳入shellcode

最后shellreversetcp

没有评论:

发表评论

Android Root Zap Framework

‎ 1. Warning 请遵守GPL开源协议, 请遵守法律法规, 本项目仅供学习和交流, 请勿用于非法用途! 道路千万条, 安全第一条, 行车不规范, 亲人两行泪. 2. Android Root Zap Frame...