drozer-Android安全测试基本使用教程(Windows7)

简介

drozer的基本功能就是通过分析AndroidManifest.xml,看四大组件中有没有可export的
本教程第一大节讲安装,第二大节讲使用drozer连接手机,第三大节讲通过drozer检测app安全性。

一、安装

1.1 环境要求

1)jdk1.6以上
2)python2.7 (drozer使用python2.7编写不支持python3.x,所以只能装python2.7)
3)添加python其他库(pip install protobuf pyOpenSSL Twisted service_identity)
4)adb(Android Debug Bridge,一般在Android SDK安装目录下的platform-tools文件夹下就有,也可以另外下载安装)
确保配置了adb、java环境变量
PS:要是已经安装了python3.0以上的,可以通过设置环境变量指向python2.7的安装路!

1.2 电脑下载安装drozer

下载链接:https://labs.mwrinfosecurity.com/tools/drozer/
具体下载文件选择如下图-1所示

图-1

双击下载的安装程序:
安装步骤如下:图-2 图-3 图-4 图-5 所示
图-2

图-3

图-4

图-5

1.3 电脑安装python第三方库

在cmd命令输入框中运行如下命令

pip install protobuf pyOpenSSL Twisted service_identity

如果没有报错提示,那就不用管我下面的描述了。我运行此python命令遇到Twisted安装失败的错误提示。解决方法就是手动去下载:

1.3.1).安装twisted

下载地址:https://pypi.python.org/simple/twisted
找对应版本和对应系统版本,下载exe安装即可

1.3.2).安装zope.interface

下地址:https://pypi.python.org/simple/zope.interface/
一样是找对应版本和对应系统版本,下载exe安装即可
两个安装成功之后,在C:\Python27\Lib\site-packages目录下看到对应的文件夹,如图-6所示:

图-6

至此,你会发现twist模块安装成功了

1.4 下载安装手机agent

使用usb线将手机连接到电脑(或开启一个模拟设备),使用adb将agent安装到手机。

agent下载地址:https://github.com/mwrlabs/drozer/releases/download/2.3.4/drozer-agent-2.3.4.apk

到手机打开启agent,如下图-7确保右下角按钮显示为“开启”(如果显示为关闭,在其上点击将其切换为开启即可)

图-7

二、连接

2.1切换到drozer安装目录

如果cmd的当前路径和drozer.bat如果不在同一驱动器(比如cmd当前在c盘,drozer.bat在d盘),那么虽然使用drozer.bat console connect也可以进入drozer控制台,但是执行run时会报错“unknown module: 'app.package.list'”,如下图-8所示:


图-8

处理这个问题,只要将cmd路径切换到drozer.bat同驱动器下即可(比如我这里需要做的就是切换到C盘)。

2.2 使用drozer连接手机

adb forward tcp:31415 tcp:31415
drozer.bat console connect

三、使用drozer对app进行测试

3.1 使用app.package.info模块查看apk基本信息(package_name指的是你需要检测的APP包名)

 run app.package.info -a package_name

3.2 使用app.package.attacksurface模块识别攻击面

所谓攻击面,应该就是指可export的安卓四大组件(activaty、broadcast receiver、content provider、service)

run app.package.attacksurface package_name

3.3使用app.activity.info模块查看activity组件信息

run app.activity.info -a package_name

3.4 使用app.activity.info模块查看broadcast 组件信息

run app.broadcast.info -a package_name

3.5 使用app.provider.info模块查看content provider组件信息

run app.provider.info -a package_name

3.6 使用app.service.info模块查看service组件信息

run app.service.info -a package_name

推荐阅读更多精彩内容