drozer安装使用教程(Windows)

原文链接:https://www.cnblogs.com/lsdb/p/9441813.html

drozer安装使用教程(Windows)

drozer和adb一样,又不是新出的工具,本不该出了这么久还要由我这样半懂不懂的再写篇东西了。但是还是一样每次使用都得百度和筛选半天,所以记下来算给自己看。以后看到我还写些老掉牙的东西都是这个原因,不再重复。

drozer的基本功能感觉就是通过分析AndroidManifest.xml,看四大组件中有没有可export的,如果有那么就去详细查看这些可export的组件是不是真有问题。

本教程第一大节讲安装,第二大节讲使用drozer连接手机,第三大节讲通过drozer检测app安全性。本教程主要参官方github主页说明官方文档

一、安装

1.1 电脑下载安装依赖

python2.7----drozer使用python2.7编写不支持python3.x,所以只能装python2.7,。使用minicoda版python时一直报“ImportError: No module named drozer.cli.console”,改装官方版python2.7未出现问题未深究原因。

python其他库----pip install protobuf pyOpenSSL Twisted service_identity

jdk1.7----Java是安卓的主要开发语言,应该是与手机交互时使用。jdk安装可参考链接

adb----Android Debug Bridge,一般在Android SDK安装目录下的platform-tools文件夹下就有,也可以另外下载安装。安装使用可参考链接

1.2 电脑下载安装drozer

下载链接:https://github.com/mwrlabs/drozer/releases/

选择系统相应的包,我这里选windows的msi安装包

img

双击下载的安装程序

img

drozer是python2.7写的,如果没在环境变量中配置python2.7的路径,那么就要手动指定

另外drozer不支持python3.x,所以如下图即便安装程序识别出了python3.x也要自己指定python2.7的位置

另外可能有小伙伴到这里就会感觉到drozer感觉就是python的第三方库那直接用pip安装不更省事?

第三方库是对的,pip中也可以找到drozer但实际发现使用pip安装时没有drozer.bat运行不起来,至于为什么不直接加上drozer.bat还是这两种途径有更深的区别没深究。

img

img

1.3 下载安装手机agent

使用usb线将手机连接到电脑(或开启一个模拟设备),使用adb将agent安装到手机。

agent下载地址:https://github.com/mwrlabs/drozer/releases/download/2.3.4/drozer-agent-2.3.4.apk

img

到手机打开启agent,如下图确保右下角按钮显示为“开启”(如果显示为关闭,在其上点击将其切换为开启即可)

img

二、连接

2.1 环境变量配置

首先,python需要加入到环境变量,不然在执行drozer.bat console connect时会报“‘python.exe’ 不是内部或外部命令,也不是可运行的程序或批处理文件。”

其次,drozer会和其他第三方python库一样安装到python的各文件夹下,其中主要执行的drozer.bat在$PYTHON_HOME\Scripts文件夹下,所以scripts为了方便也加入到环境变量。

可以直接编缉环境变量,但修改环境变量比较麻烦,而且我已安装python3.7不想影响python版本所以这里使用set path来临时修改环境变量。

我修改命令如下,修改成自己的目录。要注意最后的%path%,不然原先的path的值就被覆盖了。至于大小写,cmd不区分大小写。

set path=D:\Language\Python27;D:\Language\Python27\Scripts;%path%

img

2.2 切换到drozer安装目录

如果cmd的当前路径和drozer.bat如果不在同一驱动器(比如cmd当前在c盘,drozer.bat在d盘),那么虽然使用drozer.bat console connect也可以进入drozer控制台,但是执行run时会报错。

比入我这里drozer安装在D盘,在我当前路径是“C:\Users\ls”,直接进入drozer控制台。报错“unknown module: ‘app.package.list’”,如下图所示:

img

处理这个问题,只要将cmd路径切换到drozer.bat同驱动器下即可(比如我这里要做的就是切换到D盘)。

结合网上说法,为了确保万无一失,这里直接接切换到drozer.bat所在的“D:\Language\Python27\Scripts”目录

img

2.3 使用drozer连接手机

有些文档说如果是真机,dorzer.bat console connect后要加上ip,ip那是网络连接通过usb连接后并不需要ip(所以,我也不懂adb forward tcp:31415 tcp:31415这句有什么用)

adb forward tcp:31415 tcp:31415
drozer.bat console connect

img

如果报错“[Errno 10054]”那应该是手机agent处于关闭状态,请按1.3中的说明去开启。

img

三、使用drozer对app进行测试

官方直接给出的drozer支持命令及其命令说明列表如下

CommandDescription
runExecutes a drozer module
listShow a list of all drozer modules that can be executed in the current session. This hides modules that you do not have suitable permissions to run.
shellStart an interactive Linux shell on the device, in the context of the Agent process.
cdMounts a particular namespace as the root of session, to avoid having to repeatedly type the full name of a module.
cleanRemove temporary files stored by drozer on the Android device.
contributorsDisplays a list of people who have contributed to the drozer framework and modules in use on your system.
echoPrint text to the console.
exitTerminate the drozer session.
helpDisplay help about a particular command or module.
loadLoad a file containing drozer commands, and execute them in sequence.
moduleFind and install additional drozer modules from the Internet.
permissionsDisplay a list of the permissions granted to the drozer Agent.
setStore a value in a variable that will be passed as an environment variable to any Linux shells spawned by drozer.
unsetRemove a named variable that drozer passes to any Linux shells that it spawns.

当然也可以在drozer console中直接使用help查看;然后进一步使用help command可查看各命令更具体的使用方法。

img

按我理解,简单来说drozer的基本用法就是:

首先,使用list查看支持哪些模块;

img

然后,使用help module_name,或者run module_name -h查看各module的用法;

最后,通过run module_name module_options来对app进行检测。

dorzer的使用基本流程就是以下3.1-3.6。

3.1 通过app.package.list模块获取要检测的app的包名

要检测的app可以通过手机市场安装,也可以使用adb install package_path安装这里就不赘述了。

 run app.package.list -f filter_str

img

3.2 使用app.package.info模块查看apk基本信息

run app.package.info -a package_name

img

3.3 使用app.package.attacksurface模块识别攻击面

所谓攻击面,应该就是指可export的安卓四大组件(activaty、broadcast receiver、content provider、service)

如果查看到四大组件中有可export的,就去具体看可export的组件有没有问题(后续3.4、3.5、3.6就是干这事,为什么没有receiver没深究)

run app.package.attacksurface package_name

img

3.4 使用app.activity.info模块查看activity组件信息

run app.activity.info -a package_name

img

3.5 使用app.provider.info模块查看content provider组件信息

 run app.provider.info -a package_name

img

3.6 使用app.service.info模块查看service组件信息

run app.service.info -a package_name

img

参考:

https://github.com/mwrlabs/drozer

https://labs.mwrinfosecurity.com/assets/BlogFiles/mwri-drozer-user-guide-2015-03-23.pdf

https://blog.csdn.net/qq_23212697/article/details/69177654

http://www.360doc.com/content/16/0405/14/25472073_548029178.shtml

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
drozer是一款用于安卓应用程序安全评估和渗透测试的工具。下面是一个简单的drozer使用教程: 1. 安装drozer:首先,你需要在你的机器上安装drozer。你可以从官方网站(https://github.com/FSecureLABS/drozer)下载最新的二进制版本,并按照官方文档进行安装。 2. 连接设备:将你的安卓设备连接到计算机,并确保已启用USB调试模式。你可以在设备的开发者选项中启用USB调试模式。 3. 启动drozer控制台:在命令行中输入`drozer console connect`命令来启动drozer控制台,并连接到你的设备。 4. 扫描应用程序:使用`run app.package.list`命令来列出设备上安装的应用程序包名。选择你想要评估或测试的应用程序,并记下其包名。 5. 选择目标应用程序:使用`run app.package.attacksurface <包名>`命令来选择目标应用程序,并获取有关其攻击面的信息。这将显示应用程序的组件、权限和接口等信息。 6. 进行漏洞扫描:使用`run scanner.<scanner_name>`命令来执行特定漏洞扫描。drozer提供了一系列内置的扫描器,例如`scanner.activity.injection`用于检测活动注入漏洞,`scanner.provider.query`用于检测内容提供者查询漏洞等。 7. 漏洞利用和渗透测试:如果你发现了漏洞,你可以使用drozer提供的一些模块来利用这些漏洞。例如,`run exploit.<exploit_name>`命令用于执行特定漏洞利用。 8. 退出drozer控制台:当你完成评估和测试后,可以使用`exit`命令退出drozer控制台。 请注意,drozer是一个强大的工具,需要谨慎使用。在使用drozer对任何应用程序进行评估和测试之前,请确保你具有合法的授权,并遵守适用的法律和道德准则。同时,也建议在安全环境中进行测试,以防止对正式环境造成任何损害。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值