博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ANDROID-8219321漏洞、POC及其他相关信息汇总
阅读量:6243 次
发布时间:2019-06-22

本文共 2602 字,大约阅读时间需要 8 分钟。

hot3.png

这两天这个问题基本已经公之于众了。所以不用再保密了。相关信息及自己研究的一些结果放上来,汇总一下。
首先是3月和5月google官方发出的补丁说明:
3月:
Improper installation of unsigned code
ID: ANDROID-8219321
Severity: High
Affected versions: Android 2.0 and greater
An inconsistency in the handling of zip files during application installation may lead to the installation and execution of unsigned code in a privileged context.
This issue will be publicly disclosed in 90 days. A CTS test will be included in the next CTS release.
5月:
Insertion of arbitrary code without changing package signature due to incorrect parsing of APKs (update to previous bulletin)
First published: March 4th, 2013
Last Updated: May 31st, 2013
ID: ANDROID-8219321
Severity: High
Affected Android Versions: all
Arbitrary code can be inserted into an APK and pass signature verification due to incorrect parsing of APKs. A maliciously crafted classes.dex can be inserted before a legitimately signed classes.dex in an APK. Signature verification will be performed on the second, legitimate classes.dex, but the first, malicious classes.dex is installed for application use. 
Update: This issue will be publicly presented at Blackhat 2013. Please see http://www.blackhat.com/us-13/briefings.html#Forristal for more details. At that time, we expect active public exploitation of this issue outside of Google Play.
官方补丁: .
---------------------------------------------------------------------------------
当然大家关注这个问题是在7月3号bluebox在官网发文以后。
发文地址:
由于问题的严重性,一时间大家开始研究起来。漏洞基本公之于众是在7号cyanogenmod打上补丁之后。
详见:
根据打补丁的代码,大家推测到是apk中存在两个相同的classes.dex文件。于是大家又开始研究POC的问题。我也自己做了尝试,由于打包顺序问题没弄出来(失之毫厘,谬以千里啊~)。今天上班没法弄,之后大家关注到了这个网址:
---------------------------------------------------------------------------------
到这本来应该已经完了。结果下午我网上下载了一个网易新闻Android客户端按照上面网址的操作方法,却怎么也安装不上。我曾怀疑是我方法的问题,后来写了一个简单的demo,发现通过这个方法又能成功安装。
这个方法是将原始apk数据全部压缩进修改后的未签名的apk中,体积直接增大了一倍!网站上自己对这个方法的描述也是 “Quick & dirty PoC for Android bug 8219321 discovered by BlueboxSec”。 所以确实存在问题。
经过上述方法的启发,我明白之前的方法问题出在压缩顺序上。应该是先压缩修改后的dex文件,再压缩原本的dex。
于是,比较完善的方法是:
1、将原本的apk中的文件解压出来。分成两个文件夹,orgin_dex和orgin_nodex。其中orgin_dex仅放解压出来的classes.dex文件,orgin_nodex放剩余的所有文件。
2、创建第三个文件夹dirty_dex,放修改之后编译出的classes.dex文件。
3、利用ant打包。build.xml如下:
代码:
  
  
  
Linux下可使用这个shell脚本: .
---------------------------------------------------------------------------------
最后上传两个按此方法制作的apk包。一个是网易新闻,一个是微信。在启动的时候弹出自定义的Toast信息。可以直接覆盖官方应用安装。(用之前那个POC的方法我试了不能成功安装)
    
此帖于 2013-07-10 14:46:42 被 ZhWeir 最后编辑 原因: 提供POC shell脚本

转载于:https://my.oschina.net/zhuzihasablog/blog/143952

你可能感兴趣的文章
我的友情链接
查看>>
提升方法---提升方法AdaBoost方法
查看>>
Java语言的流程控制
查看>>
打乱数组(在其全排列中任选一个)Shuffle an Array
查看>>
红帆iOffice HD上线14天,Store排行榜第27位,商业类NO.1.
查看>>
我的友情链接
查看>>
nginx+django+uwsgi部署配置
查看>>
关于HWM的一些测试
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
以太坊中的gas、gas price、gas limit到底是什么
查看>>
用户配置文件服务登录失败。无法加载用户配置文件
查看>>
com/android/dx/command/dexer/Main : Unsupported major.minor version 52.0
查看>>
我的友情链接
查看>>
四则运算法则表延伸 - 工厂方法模式
查看>>
我的友情链接
查看>>
话里话外:企业管理的五个层次
查看>>
Hazelcast集群服务(3)
查看>>
研究人员创建可***BIOS和网卡的恶意软件
查看>>
C++ numeric_limits的用法
查看>>