本文收集网上android cve的一些分析供后续学习:

  Android uncovers master-key:android1.6—4.0

由于ZIP格式允许存在两个或以上完全相同的路径,而安卓系统没有考虑这种场景。在该情况下,android包管理器校验签名取的是最后一个文件的hash,而运行APK加载的dex文件却是zip的第一个dex文件。
参考资料:看雪zmworm http://www.kanxue.com/bbs/showthread.php?t=175129

  launchAnyWhere: Activity组件权限绕过漏洞解析:—android4.4

// 此漏洞利用AccountManagerService去启动任意未导出的Activity,突破进程间组件访问隔离的限制
// 背景:appA拥有账号类型,可被添加到android中
// 1、在setting中添加appA账号,会在setting进程中打开appA传递进来的intent(正常是appA的注册activi)
// 2、恶意appA会传递任意的activity,由于是在setting(system权限)中执行,所以activity会被创建
// 修补:
// 1、androiod4.4中/frameworks/base/services/core/java/com/android/server/accounts/AccountManagerService.java
// Session.onResult函数中判断intent中的active的SIGNATURE是否和appA相同
// 若不同则不允许创建intent包含的activity
// 2、在activity中检测下,自己是被谁创建的,若不是所属的app创建则退出;
// 如何检测:在app里创建activity前设置flag,activity的oncreate函数中查询flag即可判别
// 涉及到的资料和poc已收集到为知笔记;BTW,android账号类型的创建看参考资料
// 参考资料:
launchAnyWhere: Activity组件权限绕过漏洞解析:
http://retme.net/index.php/2014/08/20/launchAnyWhere.html
Android LaunchAnyWhere (Google Bug 7699048)漏洞详解及防御措施:
http://blog.csdn.net/l173864930/article/details/38755621
一步一步教你在 Android 里创建自己的账号系统
深入理解android卷2:第8章AccountManagerService

  FakeID签名漏洞:Android2.1—4.4.1

// 此漏洞的成因是校验证书没对证书内容进行校验,而只是比对证书的字符串
// 参考研究:
// Android FakeID(Google Bug 13678484) 漏洞详解 http://blog.csdn.net/l173864930/article/details/38409521
// FakeID签名漏洞分析及利用(Google Bug 13678484) http://retme.net/index.php/2014/08/04/fakeid-bug.html
// 分析文档和资料已记录在为知笔记 /hacker/漏洞分析/android/FakeID目录下

  BroadcastAnyWhere:Android 2.0—4.4.x

// 此漏洞的也是在添加账户时被会被利用:
// 添加账户会新建PendIntent,导致恶意软件可以用这个intent去构造来开启任意的广播
// 修复方案是新建PendIntent时先初始化intent,这样根据填充intent规则后续就不可以再修改intent了
// 参考资料:
// Android BroadcastAnyWhere(Google Bug 17356824)漏洞详细分析 http://blog.csdn.net/l173864930/article/details/41246255
// broadAnywhere:Broadcast组件权限绕过漏洞(Bug: 17356824)http://retme.net/index.php/2014/11/14/broadAnywhere-bug-17356824.html
// 安卓Bug 17356824 BroadcastAnywhere漏洞分析 http://xteam.baidu.com/?p=77
// 改漏洞资料也收集到为知了

  CVE-2014-3153:—android4.4.2,linux3.4内核漏洞

// 以下转自CVE-2014-3153笔记 http://thecjw.0ginr.com/blog/archives/564
CVE-2014-3153可以说是相当经典的漏洞,影响范围相当广泛。这实际上是一个Linux内核的Use-After-Free漏洞,
利用得当可以转化为任意内核地址写入。Geohot的TowelRoot也利用了这个漏洞,在当时(以及现在)能够Root(或Crash)绝大多数Android设备。
由于工作的需要,收集了该漏洞的一些资料,并且对漏洞原理和利用方法进行了一些学习和分析。
以下是收集的资料:
http://blog.nativeflow.com/the-futex-vulnerability
http://blog.nativeflow.com/escalating-futex
http://blog.nativeflow.com/pwning-the-kernel-root
http://blog.topsec.com.cn/ad_lab/cve2014-3153/
https://github.com/timwr/CVE-2014-3153
https://github.com/android-rooting-tools/libfutex_exploit
https://github.com/nativeflow/pwntex
http://tinyhack.com/2014/07/07/exploiting-the-futex-bug-and-uncovering-towelroot
https://github.com/torvalds/linux/commit/e9c243a5a6de0be8e584c604d353412584b592f8
个人觉得NativeFlow的三篇文章详细的解释了各种细节以及利用方法,包括使用模拟器进行内核调试、问题代码补丁地址、Crash PoC以及图示。
天融信的文章结合了NativeFlow的三篇文章,并加入了自己的见解和分析,也挺不错,就是排版稍差。pwntex是NativeFlow给出的Relock和Requeue的PoC,
而CVE-2014-3153和libfutex_exploit则是两个可以在Android上获取Root权限的PoC

待续

android CVE的更多相关文章

  1. android CVE 漏洞汇总

    arm exploits 技术教程: Learning Pentesting for Android Devices CVE-2015-1530 ,CVE-2015-1474 两个android整数溢 ...

  2. Android安全开发之WebView中的地雷

    Android安全开发之WebView中的地雷 0X01 About WebView 在Android开发中,经常会使用WebView来实现WEB页面的展示,在Activiry中启动自己的浏览器,或者 ...

  3. Android安全研究经验谈

    安全研究做什么 从攻击角度举例,可以是:对某个模块进行漏洞挖掘的方法,对某个漏洞进行利用的技术,通过逆向工程破解程序.解密数据,对系统或应用进行感染.劫持等破坏安全性的攻击技术等. 而防御上则是:查杀 ...

  4. android 用NineOldAndroid实现的弹出按钮

    NineOldAndroid 1.首先上效果图: 左边这张是没有点击button的时候的效果,   右边这张是点击button 后是以该button为圆的展开5个button

  5. 【转】Android Canvas的save(),saveLayer()和restore()浅谈

    Android Canvas的save(),saveLayer()和restore()浅谈 时间:2014-12-04 19:35:22      阅读:1445      评论:0      收藏: ...

  6. Android 图标上面添加提醒使用开源UI类库 Viewbadger

    Viewbadger 1.BadgeView主要是继承了TextView,所以实际上就是一个TextView,底层放了一个label,可以自定义背景图,自定义背景颜色,是否显示,显示进入的动画效果以及 ...

  7. 小白日记15:kali渗透测试之弱点扫描-漏扫三招、漏洞管理、CVE、CVSS、NVD

    发现漏洞 弱点发现方法: 1.基于端口服务扫描结果版本信息,比对其是否为最新版本,若不是则去其 官网查看其补丁列表,然后去逐个尝试,但是此法弊端很大,因为各种端口应用比较多,造成耗时大. 2.搜索已公 ...

  8. 使用.NET框架、Web service实现Android的文件上传(二)

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAYUAAAKpCAIAAADcx6fPAAAgAElEQVR4nOydd1hT5+LHg1attbfr1t ...

  9. Android安全开发之WebView中的大坑

    0X01 About WebView 在Android开发中,经常会使用WebView来实现WEB页面的展示,在Activiry中启动自己的浏览器,或者简单的展示一些在线内容等.WebView功能强大 ...

随机推荐

  1. PTA甲级—数学

    1.简单数学 1008 Elevator (20分) 模拟题 #include <cstdio> #include <cstring> #include <string& ...

  2. C# 基础 - 文件对话框

    using System.Windows.Forms; ... /// <summary> /// 选择保存文件的名称以及路径 取消返回 空""; /// </s ...

  3. 使用自定义注解和切面AOP实现Java程序增强

    1.注解介绍 1.1注解的本质 Oracle官方对注解的定义为: Annotations, a form of metadata, provide data about a program that ...

  4. TensorFlow2.0使用方法

    TensorFlow2.0 1 使用技巧 更新到最新版本: pip install --upgrade tensorflow pip install --upgrade tensorflow-gpu ...

  5. 「UOJ 514」通用测评号(生成函数)

    首先,题目中的过程可以看作:每次选择任意一个燃料仓,给它装填 \(1\) 单位的燃料,如果此时恰好 "填满" 了它,就给答案 \(+1\). 考虑 \(n\) 号燃料仓填满的概率, ...

  6. 01-静态web服务器(Python)-面向对象的对比

    普通写法,静态web服务器: 先创建TCP服务器套接字,然后等待客户端(这里是浏览器)请求连接. 客户端发起请求,用线程来处理连接的建立,这样可以实现多任务(也就是并发) 连接后根据请求发送指定页面 ...

  7. 「免费开源」基于Vue和Quasar的前端SPA项目crudapi后台管理系统实战之自定义组件(四)

    基于Vue和Quasar的前端SPA项目实战之序列号(四) 回顾 通过上一篇文章 基于Vue和Quasar的前端SPA项目实战之布局菜单(三)的介绍,我们已经完成了布局菜单,本文主要介绍序列号功能的实 ...

  8. Python基础之:Python中的类

    目录 简介 作用域和命名空间 class 类对象 类的实例 实例对象的属性 方法对象 类变量和实例变量 继承 私有变量 迭代器 生成器 简介 class是面向对象编程的一个非常重要的概念,python ...

  9. Java中的equals()和hashCode() - 超详细篇

    前言 大家好啊,我是汤圆,今天给大家带来的是<Java中的equals()和hashCode() - 详细篇>,希望对大家有帮助,谢谢 文章纯属原创,个人总结难免有差错,如果有,麻烦在评论 ...

  10. Dynamics CRM实体系列之窗体

    本节开始讲Dynamics CRM的窗体排版和设计,窗体也就是我们实际可以看到的表单界面.Dynamics CRM提供了一套独立的表单模板设计引擎,可以很方便的为开发者提供无代码开发,只需要简单的拖动 ...