正文  软件开发 > 编程综合 >

Android master key漏洞

   我也来说说android master key 漏洞,官方称为ANDROID-8219321。先是在看雪上看到android master key的漏洞,这个号称可以控制95%以...

 

 

 

我也来说说android master key 漏洞,官方称为ANDROID-8219321。

先是在看雪上看到android master key的漏洞,这个号称可以控制95%以上的

android手机(理论上会影响2013年5月以前的android系统,大概是4.3之前的android)。So crazy!不得了,赶紧研究一下。主要参考了以下文章:

http://bbs.pediy.com/showthread.php?p=1197239

http://www.kanxue.com/bbs/showthread.php?t=175129

 

先看看2013年3月和5月官方给出的说法是

3月:

 

Improper installation of unsigned code

ID: ANDROID-8219321

Severity: High

Affected versions: Android 2.0 and greater

 

An inconsistency in the handling of zipfiles during application installation may lead to the installation andexecution of unsigned code in a privileged context.

 

This issue will be publicly disclosed in 90days. A CTS test will be included in the next CTS release.

 

 

5月:

 

Insertion of arbitrary code withoutchanging package signature due to incorrect parsing of APKs (update to previousbulletin)

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 APKand pass signature verification due to incorrect parsing of APKs. A maliciouslycrafted classes.dex can be inserted before a legitimately signed classes.dex inan APK. Signature verification will be performed on the second, legitimateclasses.dex, but the first, malicious classes.dex is installed for applicationuse.

 

Update: This issue will be publiclypresented at Blackhat 2013. Please seehttp://www.blackhat.com/us-13/briefings.html#Forristal for more details. Atthat time, we expect active public exploitation of this issue outside of GooglePlay.

 

(一)原理

原理就是恶意apk可以绕过android签名验证机制,进而直接控制手机上的apk.

\

 

漏洞修复前后比对:(luni/src/main/java/java/util/zip/ZipFile.java)

在漏洞修复前Android未考虑到APK压缩文件中的重复entryName问题,这样恶意软件制作者就可以制作特定的APK包绕过Android APK包证书认证。

 

(二)修复

2013年7月3号bluebox在官网发文该漏洞,详见http://bluebox.com/corporate-blog/bluebox-uncovers-android-master-key/

2013年7月7号大名鼎鼎的cyanogenmod 发布修复补丁。详见:http://review.cyanogenmod.org/#/c/45251/

具体的修复方法,作者还没去实践。

(三)利用

1、将原本的apk中的文件解压出来。分成两个文件夹,orgin_dex和orgin_nodex。其中orgin_dex仅放解压出来的classes.dex文件,orgin_nodex放剩余的所有文件。

2、创建第三个文件夹dirty_dex,放修改之后编译出的classes.dex文件。

3、利用ant打包。build.xml如下:

=evil.apk>

=d:\ant\orgin_nodex\>

=d:\ant\dirty_dex\>

=d:\ant\orgin_dex\>

 

=init>

 

 

 

cracked-neteasy3.5.apk网易新闻客户端就是本人cracked过的apk,运行后弹出提心信息“cracked by xiaoqiang“.

注意:

1.如何反编译、修改、重建class.dex 本文就不