drozer简介及使用

  • 格式:doc
  • 大小:582.00 KB
  • 文档页数:9

.

页脚 目录

1 Drozer简介 ....................................................................................................................... 2

2 Drozer的特点 ................................................................................................................... 2

3 Drozer的安装 ................................................................................................................... 3

3.1 硬件要求................................................................................................................. 3

3.2 安装准备................................................................................................................. 3

3.3 安装控制台 ............................................................................................................. 4

3.4 安装客户端代理 ...................................................................................................... 4

4 drozer的使用 ................................................................................................................... 4

4.1启动agent,使用drozer连接客户端agent ....................................................... 4

4.2 drozer命令 ............................................................................................................. 4

4.3 测试应用程序(sieve) ......................................................................................... 5

.

页脚 1 Drozer简介

drozer是一款针对Android系统的安全测试框架。Drozer可以通过与Dalivik VM,其它应用程序的IPC端点以及底层操作系统的交互,避免正处于开发阶段,或者部署于你的组织的android应用程序和设备暴露出不可接受的安全风险。

drozer提供了很多Android平台下的渗透测试exploit供你使用和分享。对于远程漏洞,drozer能够生产shellcode帮助你部署drozer代理作为一个远程管理工具,最大化对设备的利用。

更快的Android安全评估

drozer可以大大缩减Android安全评估的耗时,通过攻击测试暴露Android APP的漏洞。

基于真机的测试

drozer运行在Android模拟器和真实设备上,它不需要USB调试或其他开发即可使用。

自动化和扩展

drozer有很多扩展模块,你可以找到他们进行测试以发现Android安全问题。

2 Drozer的特点

社区版 专业版

与Dalvik VM交互

发现已安装的应用 X X

发送Intents到IPC端点 X X

广播Intents X X

从其它应用进入数据库 X X

与其它应用的服务交互 X X

任意java执行 X X

与android OS交互

运行一个交互式shell X X

漏洞利用

通过远程攻击进入设备 X X

根权限升级 X X

用户接口

.

页脚 命令行接口 X

X

图形接口

X

注释结果

X

保存/恢复会话 X

Android工具集成

自动安装代理 X

控制AVD模拟器 X

模拟传感器输入 X

提高与扩展

下载附加模块 X X

编写自定义模块 X X

兼容性

在物理设备上使用drozer X X

在android模拟器上使用drozer X X

同时测试多台设备 X

支持

通过Dithub获得社区支持 X X

邮件支持 X

价格 X

3 Drozer的安装

3.1 硬件要求

1. 一台PC(运行Windows,Linux,MacOS均可);

2. 一台Android设备或者Android模拟器(Android2.1以上);

3.2 安装准备

PC上需要安装:

1. JRE或者JDK;

2. Android SDK;

.

页脚 3. Adb;

4. Java;

3.3 安装控制台

直接下载Windows平台下安装包直接解压安装(Linux,Mac OS平台参见软件指导书)。

3.4 安装客户端代理

通过adb将agent.apk安装于被测试的android设备。(先将设备与PC连接,且PC能正确识别设备)

4 drozer的使用

4.1启动agent,使用drozer连接客户端agent

4.2 drozer命令

命令 描述

run Module 执行一个drozer模块

list 显示当前会话所能执行的所有drozer模块。此处隐藏了未获得相应权限的模块。

shell 在设备上启动一个交互式Linux shell,

cd 挂载一个特定的命名空间作为会话的根目录,避免重复输入模块全称。

clean 移除Android设备上由drozer存储的临时文件。

contributors 显示对于drozer框架和模块有突出贡献的人员

echo 在控制台打印信息

.

页脚 exit 终止drozer会话

help ABOUT 显示一个特定指令或模块的帮助信息

load 加载一个包含drozer命令的文件并且按顺序执行。

module 从互联网发现并且安装一个额外的模块。

permissions 显示drozer agent被授予的权限。

set 将一个值存储在一个变量中,这个变量将作为一个环境变量传递给任何由drozer生成的liunx shell

unset 移除一个已命名的变量。这个变量是由drozer传递给linux shell的。

4.3 测试应用程序(sieve)

1. 找出应用程序

2. 列出应用程序基本信息

此处列出信息包括应用程序版本,应用程序数据存储路径,应用程序安装路径,相关权限等;

3. 确定攻击面

.

页脚

此处显示了一些潜在的攻击方向,这个应用程序输出了一些activities,content

providers和services。我们注意到服务是可调式的,这意味着我们可以将调试器附加到进程上,进行逐步调试。

4.

启动activities

我们可以通过特定的命令深入这个攻击面。例如,我们可以查看任何一个activities的详细信息。

此处,PWlist很特别。由于这个activity被输出并且不需要任何权限,我们可以使用drozer启动它:

此处在后台制定了一个合适的意图,并且通过‘startActivity’call将其传递给了系统。可以确定,我们已经成功绕过了授权并且查看到了用户凭证列表。

.

页脚 5. 从Contend Provider读取信息

可以确定,这两个content provider都不需要任何特殊的权限才能和它们交互,除了DBContentProvider的/keys路径。

a. 基于数据库的Content Provider(数据泄露)

很容易可以猜测出,名为DBContentProvider的Content Provider必然存在某种形式的数据库。然而,由于不知道Content Provider是如何组织的,我们还需要花一番功夫去提取信息。

我们可以重建部分内容URIS,以进入Content Provider

drozer提供了一个扫描模块,其中包含了多种猜路径的方式,并且可以将可进入的内容URIs显示出来:

此时,我们可以使用其它的drozer模块从这些内容URIs中提取信息,甚至更改数据库中的数据。