Drozer 是一款优秀的开源Android APP应用安全评估框架,它最赞的功能是可以动态的与android设备中的应用进行IPC(组件通信)交互。其官方文档说道:“Drozer允许你一一个普通android应用的身份与其他应用和操作系统交互。”
1、首先先准备好所需要的工具,可以在下边的网站下载Drozer和说明文档:
https://labs.mwrinfosecurity.com/tools/drozer/ 这个链接也可以下载到MWR Labs 提供的一份用户手册,但本文只对Drozer的安装和使用做简单介绍,以后涉及其他漏洞的时候再详细介绍Drozer的用户手册。
Android2.1以后版本的Android设备或者模拟器,JDK、SDK确认安装成功,环境变量配置成功。
2、在上边的网址中下载Drozer,解压如下:
电脑安装setup.exe,检查安全是否成功,在终端中先切换到安装目录下,在终端中输入命令:”drozer”:
现在在设备或者模拟器上安装先前下载的agetn.apk。
可以使用adb安装,命令如下:adb install agent.apk,或者将agent.apk复制到手机中直接安装。
3、然后我们需要链接工作站上的Drozer控制台和设备上的代理程序。首先运行设备上的Drozer代理并启动守护服务(点击最下边,选择开启)
然后运行下面的命令做端口转发:
adb forward tcp:31415 tcp:31415
在PC端的Drozer安装目录下运行终端,运行命令:
drozer console connect
////////////////////////////////////////////////////////////////////////////////////////////////
******************************************华丽分割线*********************************************
////////////////////////////////////////////////////////////////////////////////////////////////
下面来见识下Drozer的魔力,使用Drozer 对应用进行安全测试。在正式开始之前,先来熟悉下Drozer的命令。
列出所有模块
list
该命令列出了当前可用的所有模块:
查看指定模块的帮助信息(help (package name) )
help app.activity.forintent
运行指定模块
(1)例如列出android设备中安装的app
run app.package.list
(2)例如查看指定app的基本信息(以com.android.browser为例)
run app.package.info -a com.android.browser
使用”-f”选项搜索特定的包名:
run app.package.list –f (string to be searched)
与组件交互
Drozer最有用的的功能是协助调试IPC机制,操纵APP的IPC组件(包括Activity,Broadcast receivers,Content providers与Services)。Drozer的app.{activity|broadcast|provider|service}.xx模块可以提供这些功能.
(1) 列出APP中的activity组件(以com.android.browser为例)
run app.activity.info -a com.android.browser
(2)开启一个activity,例如运行浏览器打开百度页面
run app.activity.start --action android.intent.action.VIEW --data-uri http://www.baidu.com/
开启一个activity
run app.activity.start --component (package name) (component name)
例如开启浏览器中的BrowserActivity:
run app.activity.start --component com.android.browser com.android.browser.BrowserActivity
(3)获取Content Provider信息
run app.provider.info -a com.sina.weibo
(4)查找可以读取的Content Provider
run scanner.provider.finduris -a com.sina.weibo
(5)读取指定Content Provider内容
run app.provider.query content://settings/secure --selection "name='mock_loation'"
(6)获取service详情
run app.service.info -a com.sina.weibo
(7)使用以下命令查看制定包的信息:
run app.package.info –a (package name)
输出了应用数据目录,apk的路径,是否有Shared User ID等。