app测试---drozer使用指南

月影
2023-07-26 / 0 评论 / 44 阅读 / 正在检测是否收录...

1.drozer简介

drozer是一款针对Android的安全测试框架,分为安装在PC端的控制台、安装在终端上的代理APP两部分。可以利用APP的IPC通信,动态的发现被测试APP的安全风险。drozer最主要的功能就是对安卓APP四大组件activity、 broadcast receivers、 content providers、 services进行安全测试。

2.drozer安装

环境配置

Python2.7

Protobuf 2.6+

Pyopenssl 16.2+

Twisted 10.2+

Java Development Kit 1.7

Android Debug Bridge

安装方法

电脑端

https://github.com/WithSecureLabs/drozer

下载对应系统的安装包
2023-07-26T01:45:00.png

手机端

点击下载agent
drozer-agent-2.3.4.apk

注意事项

需要将python2设置优先

2023-07-26T01:51:43.png

使用

测试机数据线连接电脑,打开开发者模式以及usb调试,打开agent并将下面的开关打开

2023-07-26T01:52:38.png

adb自己下载,并加到环境变量里,开启端口转发

adb forward tcp:31415 tcp:31415

drozer连接

drozer.bat console connect     //在PC端drozer目录下运行此命令

如果显示以下内容,表示连接成功,如果遇到报错,翻到最下面解决方案篇
2023-07-26T01:56:15.png

查看一下当前运行的程序列表

run app.package.list

2023-07-26T01:57:44.png

activity组件的测试

查看导出的activity组件

run app.activity.info -a <package name>

启动某个Activity组件,判断是否有越权访问的漏洞

run app.activity.start --component <包名> <组件名> 

这里我们根据名称判断

2023-07-26T01:59:38.png

content provider组件的测试

查看导出的content provider组件

run app.provider.info -a <package name>

2023-07-26T02:01:55.png

获取所有可以访问的URI

run scanner.provider.finduris -a <package name>

2023-07-26T02:02:35.png

获取各个Uri的数据

run app.provider.query <uri>

2023-07-26T02:03:27.png

2023-07-26T02:03:45.png

解决方案

问题一

drozer console connect 报错

Could not find java. Please ensure that it is installed and on your PATH.
 
If this error persists, specify the path in the ~/.drozer_config file:
 
    [executables]
    java = C:\path\to\java
There was a problem connecting to the drozer Server.
 
Things to check:
 
 - is the drozer Server running?
 - have you set up appropriate adb port forwards?
 - have you specified the correct hostname and port with --server?
 - is the server protected with SSL (add an --ssl switch)?
 - is the agent protected with a password (add a --password switch)?
 
Debug Information:
[Errno 10061]

解决方案:

1、创建如下文件并命名为:drozer_config.txt (如果为winXP,则可以直接命名为.drozer_config)

2、写入内容如下几行内容:此处为java.exe文件的安装位置,具体情况具体处理。

[executables]
 
java =C:\...(jdk的路径)\bin\java.exe
 
javac =C:\...(jdk的路径)\bin\javac.exe
 
drozer =...\drozer.bat

3、把此文件放入个人目录下文件夹:

英文:C:\Users\<youruser name>\

中文:C:\用户\<你的用户名名称>\

4、通过cmd命令重命名此文件为:.drozer_config

rename  drozer_config.txt .drozer_config

问题二

修复问题一后,重新连接报错

There was a problem connecting to the drozer Server.
 
Things to check:
 
 - is the drozer Server running?
 - have you set up appropriate adb port forwards?
 - have you specified the correct hostname and port with --server?
 - is the server protected with SSL (add an --ssl switch)?
 - is the agent protected with a password (add a --password switch)?
 
Debug Information:
[Errno 10061]

解决方案:

运行命令(我的问题就是我忘记做端口转发)

adb forward tcp:31415 tcp:31415

问题三

与手机端连接失败:

[Errno 10054]

解决方案:

1、确保手机端打开

2、确保端口转发正确

问题4:

dz> run app.package.list
unknown module: 'app.package.list'
 
解决:
出现unknownmodule,这个时候在dz>中输入list,返回结果也是空白。解决方法是在cmd中将当前目录切换到drozer的安装路径下,如d:\drozer,然后再输入"drozerconsole connect"启动drozer。
 

问题5:

运行 run scanner.provider.injection命令,或者运行 runapp.provider.finduri命令时,提示
C:\Program Files\Java\jdk1.8.0_71\bin\javac.exe-cp D:\drozer\lib\drozer\lib\android.jar ZipUtil.java
。。。。。
之类的信息。。。这个真的没有什么好办法,试了很久,最后的解决方法是:
不用drozer官网提供的windowsinstaller安装包,而是用drozer(Python .egg)安装包,用python的easy_install.exe安装egg文件。安装过程中会提示缺少twisted还有其他安装包,按安装提示做就可以了。

问题6:

还是运行 run scanner.provider.injection命令,或者运行 runapp.provider.finduri命令时,提示
cannot resolve com.mwr.jdiesel.util.Strings
这个貌似是手机上安装的agent.apk出问题了,我的是红米2a。
解决:
不要安装2.3.4版本的agent,用2.3.3就没有问题。
给个2.3.3的链接 http://pan.baidu.com/s/1dDKkNtB

更多报错跳转:
https://www.codenong.com/cs109129915/

0

评论 (0)

取消