Android App渗透测试工具分享

自己在网上搜集了一些App安全学习教程及工具,项目地址:https://github.com/Brucetg/App_Security

这段时间因为某些原因接触了Android App渗透测试,发现了几个不错的App渗透测试工具(虽然这些工具早就出来了 2333),搭建测试环境的过程中遇到了一些问题,特地总结一下,希望能给大家带来帮助。

一. drozer简介

drozer(以前称为Mercury)是一款Android安全测试框架。

drozer允许您通过承担应用程序的角色并与Dalvik VM,其他应用程序的IPC端点和底层操作系统进行交互来搜索应用程序和设备中的安全漏洞。

drozer提供工具来帮助您使用,共享和理解公共Android漏洞。它可以帮助您通过开发或社会工程将drozer Agent部署到设备。使用weasel(MWR的高级开发负载)drozer能够通过安装完整代理,将有限代理注入正在运行的进程或连接反向shell以充当远程访问工具(RAT)来最大化其可用权限。

项目地址:https://github.com/mwrlabs/drozer

Mac 安装drozer

1. 安装Python 2.7(系统自带)

2. 安装Protobuf 2.6 or greater

3. 安装Pyopenssl 16.2 or greater

4. 安装Twisted 10.2 or greater

5. 安装JDK 1.7

这里我安装的是JDK 1.8,最后也安装成功了。

6. 安装Python的service_identity模块(不安装的话后面运行drozer时总会显示警告)

7. 安装 adb(Android Debug Bridge)

可以去 https://developer.android.com/studio/releases/platform-tools下载相应平台上的安装包,解压后配置下环境变量即可,这里仅演示Mac下的安装方式:

安装homebrew(已安装的话可跳过)

ruby -e “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)”

安装adb

测试是否安装成功

如果不报错就说明安装成功啦。

8. 安装drozer

到 https://labs.mwrinfosecurity.com/tools/drozer/ 下载相应平台的安装包:

这里我下载的是drozer(Python .whl)

然后进入文件所在目录,执行以下命令:

注意:这里的2.x.x要替换成自己下载的版本,比如这里下载的是2.4.4,就替换成2.4.4

安装成功后,执行drozer命令后输出如下:

Windows和Linux平台上的安装大体上类似,就不一一测试了。

客户端安装

同样到:https://labs.mwrinfosecurity.com/tools/drozer/ 下载客户端,也就是drozer(Agent .apk only),然后安装到手机或者模拟器上就好。

使用

使用Android模拟器:

如果使用Android模拟器,则需要设置合适的端口,以便PC可以连接到模拟器内部或设备上的代理打开的TCP套接字。默认情况下,drozer使用端口31415:

列出所有设备:

启动drozer服务端:

接着执行:

启动移动设备中的drozer agent,将右下角的关闭置为打开状态:

然后,使用drozer控制台进行连接,在PC终端中执行以下命令:

如果连接成功,PC终端效果如下:

此时,Android客户端状态如下:

常用命令:

其他用法如下:

Dex是Android系统中可以在Dalvik虚拟机上直接运行的文件格式。java源代码经过ADT的复杂编译后转换成Dex文件,这是一个逐步优化的过程。Dex文件的指令码就是Dalvik虚拟机专有的一套指令集,专门为嵌入式系统优化过,相比标准java的.class文件,它体积小,运行效率高。

二. Androguard

Androguard简介:

Androguard是一款使用Python编写的跨平台的Android逆向工具,它可以在 Linux/Windows/OSX上运行。使用它可以反编译android应用,也可以用来做android app的静态分析(static analysis)。

安装Androguard:

Androguard的使用:

主要文件:

使用方法:

使用方法:

使用方法:

使用方法:

使用方法:

使用方法:

使用方法:

使用方法:

实例:

执行完该命令后,所有输出均在crackme0502中

如果上述执行上述命令后报错:AttributeError: ‘DiGraph’ object has no attribute ‘edge’

只需要安装networkx低版本即可(最新版2.2),改为1.9后程序正常运行:

更详细的使用方法请参考:

https://media.readthedocs.org/pdf/androguard/latest/androguard.pdf

常用的Android 渗透测试框架除了文章中提到的,还有好几个,不过这里限于篇幅原因就先写这么多吧!

参考文章:

http://blog.orleven.com/2017/06/22/android-base/

*本文作者:Brucetg,转载请注明来自FreeBuf.COM

  • 发表于:
  • 原文链接:https://kuaibao.qq.com/s/20180907B1PM5E00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券