1.Getting Started
1.1 Starting a Session
默认情况下,drozer使用端口31415:
adb forward tcp:31415 tcp:31415
启动代理,选择“Embedded Server” 点击 “Enable”
drozer console connect
1.2 Inside the drozer Console
drozer Console 是一个命令行环境
Command | Description |
---|---|
run MODULE | 执行一个drozer模块 |
list | 显示当前执行的所有drozer模块列表 |
shell/cd | Linux shell |
clean | 删除drozer在Android设备上存储的临时文件 |
echo | print到console |
exit | 终止drozer会话 |
help | 显示帮助 |
load | 加载包含drozer命令的文件,并按顺序执行它们。 |
module | 从Internnet查找并安装其他drozer模块 |
permissions | 显示授予drozer Agent的权限列表 |
set | 将值存储在将作为环境变量传递给drozer生成的任何Linux shell的变量中。 |
unset | Remove a named variable that drozer passes to any Linux shells that it spawns. |
2.Using drozer for Security Assessment
用Sieve进行测试,讲解使用方法。
2.1 Sieve
Sieve是一个小型的Password Manager应用程序,用于展示Android中的一些常见漏洞应用。
首次启动Sieve时,它要求用户设置一个16个字符的“主密码”和一个4位数的引脚,用于保护用户稍后输入的密码。 用户可以使用Sieve存储各种服务的密码,如果需要正确的凭据,可以在以后检索。
在开始本教程之前,请将Sieve安装到Android模拟器上并创建几组凭据。
2.2 Retrieving Package Information
评估Sieve的第一步是在Android设备上找到它。 安装在Android设备上的应用程序由其“包名称”唯一标识。 我们可以使用app.package.list
命令查找Sieve的标识符:
dz> run app.package.list -f sieve
com.mwr.example.sieve
使用app.package.info
命令提供有关包的一些基本信息:
dz>run app.package.info -a com.mwr.example.sieve
Package: com.mwr.example.sieve
Process Name: com.mwr.example.sieve
Version: 1.0
Data Directory: /data/data/com.mwr.example.sieve
APK Path: /data/app/com.mwr.example.sieve-2.apk
UID: 10056
GID: [1028, 1015, 3003]
Shared Libraries: null
Shared User ID: null
Uses Permissions:
- android.permission.READ_EXTERNAL_STORAGE
- android.permission.WRITE_EXTERNAL_STORAGE
- android.permission.INTERNET
Defines Permissions:
- com.mwr.example.sieve.READ_KEYS
- com.mwr.example.sieve.WRITE_KEYS
2.3 Identify the Attack Surface
只考虑通过Android的进程间通信(IPC)内置机制暴露的漏洞。 这些漏洞通常会导致敏感数据泄漏到安装在同一设备上的其他应用程序。
dz> run app.package.attacksurface com.mwr.example.sieve
Attack Surface:
3 activities exported //使其它应用程序可访问
0 broadcast receivers exported //应用程序使用的屏幕
2 content providers exported //内容提供程序(数据库对象)
2 services exported //服务(后台工作程序)
is debuggable //该服务可调试,可以使用adb将调试器附加到进程,并逐步执行代码