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中提取信息,甚至更改数据库中的数据。