-
-
[翻译]ParseDroid:瞄准Android开发及研究团队
-
发表于: 2017-12-28 16:59 3724
-
研究员:Eran Vaknin, Gal Elbaz, Alon Boxiner, Oded Vanunu
Check Point研究小组的最新研究挖出了几个漏洞,这些漏洞将会置广大从事Java/Android开发的组织或机构于险地。
这里所提到的漏洞是存在于Android应用程序开发者工具中,这些工具可下载也可基于云使用,囊括所有的Java/Android程序员用来开发他们公司的商业应用和用来对他们的作品进行安全分析和逆向的工具。
根据我们的研究,我们发现了几个漏洞,这些漏洞将波及最常用的Android IDE——谷歌的Android Studio,JetBrains的IntelliJ IDEA和Eclipse,以及广大Android应用逆向工具,诸如APKtool和其他。
这个视频展示了我们是如何利用这些工具获取内部文件。2017年五月,Check Point已向APKTool开发者和其他的IDE公司报告这个发现,谷歌和JetBrains已经证实并承认该安全问题,并进行有效修复。
技术细节——从XXE到RCE:攻击第二层
我们第一阶段的研究重点是APKTool(Android Application Package Tool)。
作为最流行的Android第三方应用程序逆向工具,apktool用来支持自定义平台,分析应用程序和其他的工作,包括反编译(decode)和重打包(rebuild)。
APKtool的两个主要功能是:
1.反编译(decompile)apk文件。
2.打包(build)apk文件。
我们的研究发现,apktool在这两个方面都不太安全。
通过查看apktool源码,我们成功找到一个XML外部实体漏洞(XML External Entity,XXE),因为apktool内置的XML 解析器在解析程序中的XML 文件时没有禁止外部实体引用。
这个不安全的函数就是loadDocument,它在apktool的两个核心功能——“build”和“decompile”——都有用到。
这个漏洞将APKTool 用户的整个操作系统的文件系统暴露在外,这将导致,攻击者可以检索受害者PC上的任意文件,通过使用一个恶意的“AndroidManifest.xml”文件,利用XXE漏洞,就可以发送给远程攻击者服务器。而且这种攻击场景只是众多可能中的一种,XXE攻击技术可造成大危害。
意识到这个漏洞对于Android开发者及研究团队的强大危害,我们将我们的研究扩展到XML解析器,“DocumentBuilderFactory”,这在APKTool中有用到。
开发者工具中的漏洞
这样我们找到几种XML解析器在其他项目中不安全的实现方式。而且,我们还发现这波及到那些用来开发Android应用程序的IDE——包括,Intellij,Eclipse,和Android Studio。
只需简单地加载恶意“AndroidManifest.xml”文件到任意android项目中,这些IDE就开始吐出攻击者配置好的任意文件。
为了证明这个漏洞,我们上传了一个恶意的项目库到Github,并clone到Android Studio。
例子:Github上一个带有XXE Payload的项目
Clone到Android Studio:
结果:攻击很成功。在用户没有察觉的情况下成功盗取受保护文件,并发送到攻击者服务器。
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课