Drozer是MWR Labs开发的一个开源Android 安全测试框架。
Drozer安装
首先下载Windows老版本安装包drozer-installer-2.3.4.zip(集成32位python 2.7.1版本),解压后运行setup.exe安装到C:\drozer;
安装完后,升级到最新版本,如当前最新版本为2.4.4,下载并解压drozer-2.4.4.tar.gz:
讲bin替换到C:\drozer\bin,src\drozer替换到C:\drozer\Lib\drozer;src\mwr替换到C:\drozer\Lib\mwr;src\pydiesel替换到C:\drozer\Lib\pydiesel。
安装agent.apk到android手机,电脑上执行adb forward tcp:31415 tcp:31415。
手机上启动drozer Agent,点击“Embedded Server” 旁边的按钮开启服务器。
再电脑上cd /d C:\drozer
drozer.bat console connect,如下显示已连接上:
按官方文档所述,输入 list 或 ls 命令即可查看drozer所有可用模块;
执行命令:run app.package.list,可查看所有安装在手机上应用程序的包名,若出现乱码之前输入chcp 65001(utf-8对应编码);
执行命令:run app.package.info -a com.tencent.mm查看程序包信息;
执行命令:run app.package.attacksurface com.tencent.mm查看应用暴露的组件;
查看并测试组件
首先通过调用app.activity.info、app.service.info 、app.broadcast.info 、app.provider.info 模块来查看应用的详细信息,再分别通过app.activity.start、app.broadcast.send、
1.run app.activity.info com.tencent.mm:
对其中空permission的activity,通过drozer启动它开是否有报错:
如run app.activity.start --component com.tencent.mm com.tencent.mm.ui.NoRomSpaceDexUI
2.run app.provider.info -a com.tencent.mm列出应用暴露的provider
对其中没有权限访问控制的组件用run scanner.provider.finduris -a com.tencent.mm列出
run app.provider.query content://…查询是否可列出敏感等涉及安全的信息
3.run app.service.info -a com.tencent.mm列出暴露的service组件
run app.service.start –a <service>查看启动是否正常
4.run app.broadcast.info -a com.tencent.mm列出暴露的广播组件
尝试拒绝服务攻击检测,向广播组件发送空action或空extras
run app.broadcast.send --component 包名 ReceiverName发送空action
run app.broadcast.send --action android.intent.action.XXX发送空extras
延伸阅读请参考利用drozer进行Android渗透测试、Android app 安全测试调研及执行和安卓四大组件审计实验(drozer)。