安全框架Drozer安装和简单使用

说明:

drozer(即以前的Mercury)是一个开源的Android安全测试框架

drozer不是什么新工具,但确实很实用,网上的资料教程都很多了,最近自己项目涉及一些移动端安全,所以就把自己的安装过程记录下来

一、安装(win10)

  • 工具准备

    1. python2.7(Drozer基于2.7开发的,3.0不支持的) 点击下载
    2. drozer-2.4.4
    3. drozer-agent-2.3.4.apk(手机安装) 点击下载
    4. ADB 点击下载
    5. JDK1.8
  • Drozer安装

    • drozer不支持python3.x,需提前安装python2.7(配置好环境变量),安装时选中安装在python2.7的目录里

    • 成功安装后Scripts文件夹内容

  • 环境配置

    1. 在测试手机或虚拟机上安装代理应用drozer-agent-2.3.4.apk并启动服务,如下图

    2. 手机连接电脑,提前打开usb调试,命令行进入python2.7的安装目录下/Scripts/文件夹,执行启动命令:

      adb devices					#查看当前连接的手机
      drozer.bat console connect #启动drozer并连接手机

      首次使用drozer会缺失运行所需的依赖,因此需一步步添加依赖库,如果能成功直接连接手机可忽略以下排错内容

      • 更新pip

        首次启动drozer,会提示“No module named google.protobuf”,提示使用pip进行下载该依赖,但再次报错,pip版本需更新(当前最新版为20.2.2)

        以管理员身份在命令行执行(右键桌面开始进入)

        python -m pip install –upgrade pip –i https://pupi.douban.com/simple	#使用国内的源更新pip

      • 添加google.protobuf依赖

        执行以下命令:

        pip install protobuf		#添加protobuf库

        继续添加依赖库,执行:

        pip install pyopenssl		#添加py	openssl库
        pip install pyyaml #添加pyyaml库
      • 添加twisted依赖库

        再次启动drozer,仍报错提示需要安装twisted库

        执行命令:

        pip install Twisted			#添加Twisted库

        部分机器可能会报错,提示需要C++运行环境,则需下载安装Micorsoft Visual C++ Compiler for Python 2.7 环境包,点击下载

      • 添加service_identity库

        再次启动drozer,部分机器可能仍会报错,缺少service_identity部分库,如下:

        部分机器可能已有service_identity库,仅缺失其中的依赖模块,可参考以下链接:https://service-identity.readthedocs.io/en/stable/installation.html

        将缺失的依赖模块逐个安装即可

  • 连接手机

    Drozer连接手机执行以下命令:

    adb forward tcp:31415 tcp:31415		#31415为dozer占用的端口号,可在app上设置
    drozer.bat console connect #启动drozer并连接手机

    至此,我们基本将所需要的库全部添加,并成功连接手机

二、Drozer简单使用

  • 查看包信息

    命令:

    run app.package.info -a <package name>
    run app.package.list -f <app name>
  • 扫描可攻击面

    命令:

     run app.package.attacksurface <package name>

    分析四大组价是否能被其他的的应用程序调用,以最近测试的一个通信APP和行业标杆微信作对比,暴露的activity组件比微信多36个,安全风险更高,我的理解一般尽量减少非必要对外暴露的组件以提高app安全

  • 四大组件安全

    1. activity:
    run app.activity.info -a <package name> -u		#查看暴露的activity
    run app.activity.start --component <package name> <component name> #启动暴露的activity
    1. provider:
    run a	pp.provider.info -a <package name>		#查看对外暴露的provider
    run scanner.provider.finduris -a <package name> #获取所有可访问的uri
    run app.provider.query <uri> #查询暴露的uri
    run app.provider.update <uri> --selection <conditions> <selection arg> <column> <data>
    run scanner.provider.sqltables -a <package name> #列出该app的表名
    run scanner.provider.injection -a <package name> #provider的可sql注入点扫描
    run scanner.provider.traversal -a <package name> #provider目录遍历
    1. broadcast:
    run app.broadcast.info -a <package name>	#查询对外暴露的broadcast
    run app.broadcast.send --component <package name> <component name> --extra <type> <key> <value> #尝试发送恶意广播
    run app.broadcast.sniff --action <action> #嗅探广播中intent的数据
    1. service:
    run app.service.info -a <package name>	#查询对外暴露的service
    run app.service.start --action <action> --component <package name> <component name> #用命令调用调用服务组件
    run app.service.send <package name> <component name> --msg <what> <arg1> <arg2> --extra <type> <key> <value> --bundle-as-obj #使用 Message攻击暴露的service

安全框架Drozer安装和简单使用的更多相关文章

  1. Python爬虫框架--Scrapy安装以及简单实用

    scrapy框架 框架 ​ -具有很多功能且具有很强通用性的一个项目模板 环境安装: Linux: ​        pip3 install scrapy ​ ​ ​  Windows: ​     ...

  2. python--flask框架的安装和简单使用(转)

    原文地址:http://blog.csdn.net/xiaowu8858892520/article/details/54428196

  3. Thrift的安装和简单演示样例

    本文仅仅是简单的解说Thrift开源框架的安装和简单使用演示样例.对于具体的解说,后面在进行阐述. Thrift简述                                           ...

  4. php框架中的phalcon框架的安装,及初步认识,从表单提交简单的数据到数据库中

    php框架中的phalcon框架的安装,及初步认识,从表单提交简单的数据到数据库中 1.phalcon框架的安装: phalcon框架在windows本地安装可以利用wamp软件,安装之后可以查看对应 ...

  5. asp.Net Core免费开源分布式异常日志收集框架Exceptionless安装配置以及简单使用图文教程

    最近在学习张善友老师的NanoFabric 框架的时了解到Exceptionless : https://exceptionless.com/ !因此学习了一下这个开源框架!下面对Exceptionl ...

  6. 一、restful规范 二、CBV(View)源代码执行流程 三、drf框架安装和简单使用

    一.restful规范 ''' 它是一个规范,面向资源架构 十条规范 1.API与用户的通讯协议,总是使用HTTPs协议,确保了网络传输的安全性 2.域名 --https://api.example. ...

  7. C#实现多级子目录Zip压缩解压实例 NET4.6下的UTC时间转换 [译]ASP.NET Core Web API 中使用Oracle数据库和Dapper看这篇就够了 asp.Net Core免费开源分布式异常日志收集框架Exceptionless安装配置以及简单使用图文教程 asp.net core异步进行新增操作并且需要判断某些字段是否重复的三种解决方案 .NET Core开发日志

    C#实现多级子目录Zip压缩解压实例 参考 https://blog.csdn.net/lki_suidongdong/article/details/20942977 重点: 实现多级子目录的压缩, ...

  8. 【转】asp.Net Core免费开源分布式异常日志收集框架Exceptionless安装配置以及简单使用图文教程

    最近在学习张善友老师的NanoFabric 框架的时了解到Exceptionless : https://exceptionless.com/ !因此学习了一下这个开源框架!下面对Exceptionl ...

  9. python爬虫中scrapy框架是否安装成功及简单创建

    判断框架是否安装成功,在新建的爬虫文件夹下打开盘符中框输入cmd,在命令中输入scrapy,若显示如下图所示,则说明成功安装爬虫框架: 查看当前版本:在刚刚打开的命令框内输入scrapy versio ...

随机推荐

  1. VS2010的单元测试(一)

    在VS2010中,单元测试的功能很强大,使得建立单元测试和编写单元测试代码,以及管理和运行单元测试都变得简单起来,通过私有访问器可以对私有方法也能进行单元测试,并且支持数据驱动的单元测试. 一.创建单 ...

  2. linux多线程模拟银行家算法

    题外话: 这应该是最近有点难度的作业了,起码比之前的理发师,读写,哲学家问题要难. 但是做好程序的结构,自顶向下,就还是不难的. 银行家算法简介:                 代码: init() ...

  3. 九种姿势运行Mimikatz

    https://www.freebuf.com/articles/web/176796.html

  4. Github markdown页面内跳转

    基本操作: 请看这里 最典型的就是[alt_content](#jump) 但有时, jump是不太好直接看出来的, 比如下面这个标题, 格式复杂, 那如何获取相应的jump呢? 在Github中, ...

  5. jira 优先级过滤

    jira 优先级过滤 priority project = DAP AND issuetype = 故障 AND priority = high AND resolution = Unresolved ...

  6. web online code editor All In One

    web online code editor All In One 在线代码编辑器 Monaco Editor 摩纳哥编辑器 ️ 22.1k The Monaco Editor is the code ...

  7. React useEffect in depth

    React useEffect in depth useEffect class DogInfo extends React.Component { controller = null state = ...

  8. how to using js to realize notes feature on the website

    how to using js to realize notes feature on the website js & notes demos https://medium.com/brow ...

  9. ServerLess & MongoDB Atlas & REST API

    ServerLess & MongoDB Atlas & REST API ServerLess, Nodejs, MongoDB Atlas cloud 构建 REST API ht ...

  10. auto embedded component in an online code editor

    auto embedded component in an online code editor how to auto open a component in the third parts onl ...