从零开始学Android应用安全测试(Part1)
在本系列文章中,利用InsecureBankv2这款含有漏洞的安卓应用,我们可以了解到有关安卓应用安全的种种概念。我们将从一个新手的角度看待每一个问题。所以,我建议新手朋友可以关注下本系列文章。
由于教程是从零开始,前面的东西不免会比较基础,老鸟请先飞过吧。
移动渗透平台搭建
在对安卓应用测试之前,我们需要搭建一个合适的移动渗透平台。
首先,我们需要下载Eclipse ADT bundle,并安装。这里我就不再过多重复造轮子的事情了。
这里面有俩个文件夹,一个叫 tools,另外一个叫做platform-tools。这俩是非常重要的,是需要加入环境变量里面的。以下命令可以用来添加路径到环境变量中
export PATH=/path/to/dir:$PATH.
将tools和platform-tools文件夹都添加到环境变量中,完成操作过后,你就可以随意的使用所有的命令了。然后检查是否工作,可以键入adb命令,你可以得到以下的输出结果。
为了保证应用能够在我们的计算机上运行,我们还需要一款趁手的模拟器。Eclipse Android Virtual Device就是一款安卓模拟器,如何进行创建虚拟设备,朋友们可以在网上搜搜。然而,对于本系列文章,我会使用另一款工具Genymotion 来创建虚拟设备。这里有许多原因,其一是处理速度比较快,其二使用Genymotion创建的虚拟设备默认是自动获取了root权限的。这也就意味着,你可以自由的安装应用,对于审计安卓应用也方便。
完成Genymotion的安装后,你需要注册一个账号(免费的)并基于你的需求创建不同模拟器。
好了,现在我们就将InsecureBankv2的源代码从github上克隆过来。
打开你创建的虚拟设备,这一步骤十分简单。
在刚才从github克隆的项目文件中,存在一个apk文件。你可以使用adb install InsecureBankv2.apk 命令来安装这个应用。
在上图中你可以看到success,这就表示这个apk文件已经成功安装了,同时你在模拟的设备中看到对应的应用图标。但是有时候你可能只是想编译这个文件而不是运行这个apk文件。这个时候你就需要打开Eclipse找到 File -> Switch Workspace,选择你创建的 Insecurebank文件夹,然后转到File -> Import并选择现有的Android代码放进工作区。
选择应用程序所在的文件夹,你可以看到Eclipse已经将应用程序放进了你的工作区。
这时候你就可以点击上端的play按钮,开始运行这个应用。在保证模拟器正常运行的情况下,选择运行安卓应用。
不出意外,这时候你就可以看到应用在模拟器中成功运行了。
同时启动后端的python服务,可以使用这个命令
python app.py –port 8888
在这个应用中填入ip地址以及端口。
现在你就可以使用默认凭证登录这个应用了。
dinesh/Dinesh@123$ jack/Jack@123$
请确保你安装了以下工具,在我们以后讨论的细节中,会用到的。
Drozer Andbug Introspy dex2jar apktool
另外,可以使用adb shell连接你的模拟器,然后看看你想要做些什么。
安卓命令合集
希望大家在空余时间多看看安卓命令[ http://developer.android.com/tools/projects/projects-cmdline.html]。
真心推荐大家多到这里了解下adb[ http://developer.android.com/tools/help/adb.html]尝试着玩转大多数命令。
下节预告
在下一篇文章中,我们将了解下InsecureBankv2项目中存在的各种漏洞,更详细的了解安卓应用的安全性。
InsecureBankv2项目地址: https://github.com/dineshshetty/Android-InsecureBankv2
Eclipse ADT bundle: https://developer.android.com/sdk/installing/index.html?pkg=adt
译者鸢尾注:此文原作者曾经完成了iOS安全专题。基于其完成度,鸢尾愿意跟着作者的步伐,一步一步的从零单排。
[参考来源 infosec,翻译/鸢尾,转载请注明来自FreeBuf黑客与极客(FreeBuf.COM)]