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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,633评论 25 709
  • 第一部分 Python基础篇(80题) 1、为什么学习Python? Python相对于其他编程语言有很多优点: ...
    清清子衿木子水心阅读 5,673评论 0 1
  • Python 资源大全中文版 我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列的资...
    叶同学阅读 13,827评论 0 73
  • 移动APP测试讲义 本篇讲义主要阐述APP的手工测试要点,并概括介绍主流的APP测试框架。 1. APP测试的准备...
    厲铆兄阅读 13,324评论 6 109
  • 好想知道第第三章的内容,第三章的故事?第三章的写作手法? 好了,又带着迫切的心翻开了《钢铁是怎样炼成的》第三章啦!...
    夏至冬音阅读 13,696评论 0 6