U盘PE| w764位旗舰版下载 | U盘装win7系统 | U盘启动 |win7pe | win10下载 |加入收藏土豆PE官网U盘PE,U盘装win7系统,win7pe,U盘启动,U盘装系统,w764位旗舰版下载站!
当前位置:主页 > 帮助中心 > 常见问题解答 >

[IOV安全入门] 十七.Drozer安全测试详细使用教程

来源:http://www.tudoupe.com时间:2022-02-05

欢迎新同学的光临
… …
人若无名,便可专心练剑

我不是一条咸鱼,而是一条死鱼啊!

0x01 前言

Drozer是MWR Labs开发的一款Android安全测试框架。是目前最好的Android安全测试工具之一

Drozer官方文档说道:“Drozer允许你一一个普通android应用的身份与其他应用和操作系统交互。”在Web世界已经有了许多安全测试工具了,我们只需要给出一个目标,这些工具就会自动为我们安全测试报告。但Drozer与这样的自动化扫描器不同,Drozer是一种交互式的安全测试工具。使用Drozer进行安全测试,用户在自己的工作站上输入命令,Drozer会将命令发送到Android设备上的代理程序执行。其官方文档说道:“Drozer允许你一一个普通android应用的身份与其他应用和操作系统交互。

0x02 Drozer下载与环境配置

Drozer下载地址:

  • https://labs.f-secure.com/tools/drozer/

需要下载一个Windows客户端和一个安卓客户端:

  • 【windows客户端】下载drozer (msi)安装包,或者下载python的whl格式安装包drozer (Python.whl)

在这里插入图片描述

  • 【安卓客户端】drozer (Agent .apk only)

https://github.com/FSecureLABS/drozer/releases/download/2.3.4/drozer-agent-2.3.4.apk

在这里插入图片描述

  • drozer使用指南

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

在这里插入图片描述

0x03 Python环境安装

https://www.python.org/downloads/release/python-2718

在这里插入图片描述
在这里插入图片描述

因为Drozer 需要Python环境,但只能选择Python2.7或Python3.6

在这里插入图片描述

PS:注意,要把Python的PYTHON_HOME和PYTHON_HOMEScripts加入到环境变量,如下:

在这里插入图片描述

0x04 模拟器安装drozer Agent App

有夜神、网易MuMu等Android模拟器,依据个人情况自主选择,此处选择网易MuMu模拟器

https://mumu.163.com/

在这里插入图片描述

在逍遥安卓模拟器中安装运行drozer Agent App,并打开Embbdded Server:

在这里插入图片描述

PS:安装好后打开 drozerAgent应用,点击右下角的开启按钮

打开命令行工具,并cd切换到安卓模拟器的安装路径,运行adb devices命令,查看是否能看到模拟器。如果看不到,重启模拟器试试

在这里插入图片描述

切换到drozer安装目录,其实也可以不用切入,因为我们已经加入了环境变量

在这里插入图片描述

使用 adb 进行端口转发,转发到上边Drozer使用的端口 31415,并进入Drozer 控制台:

在这里插入图片描述

用list命令列出Drozer所有功能模块,如能正常显示,则说明Drozer已正确安装

在这里插入图片描述

4.1 Drozer启动报错解决方法

执行报错解决方案:

0x05 检测Android四大组件

Activity(界面):通常展现为一个可视化的用户界面,是负责与用户交互的组件。常见的漏洞包括Activity劫持漏洞、越权漏洞等

Service(服务):无用户界面,是运行于后台的服务,但是及其重要,经常在后台执行一些敏感的操作。常见的漏洞包括权限提升,拒绝服务攻击等

Broadcase receiver(广播接收器):无用户界面,能够启动一个 activity 或 serice来响应它们收到的信息,或者用 NotificationManager 来通知用户。当应用广播接收器默认设置exported=‘true’,导致应用可能接收到第三方恶意应用伪造的广播,利用这一漏洞,攻击者可以在用户手机通知栏上推送任意消息,通过配合其它漏洞盗取本地隐私文件和执行任意代码

Content provider(内容提供者):为存储和获取数据提供统一的接口,可以在不同的应用程序之间共享数据。常见的漏洞包括读写权限漏洞、SQL注入漏洞、文件遍历漏洞等

  • 通过输入安装包的部分关键字查找包全称()
  • 查看apk基本信息
  • 查看sieve的可攻击点

5.1 Activity组件测试

应用程序中,一个Activity通常就是一个单独的屏幕,它上面可以显示一些控件也可以监听并处理用户的事件做出响应。 Activity之间通过Intent进行通信。在Intent的描述结构中,有两个最重要的部分:动作和动作对应的数据
  1. 查看activity组件信息
  1. 调用暴露的activity组件

5.2 Broadcast组件测试

BroadcastReceive广播接收器应用可以使用它对外部事件进行过滤只对感兴趣的外部事件(如当电话呼入时,或者数据网络可用时)进行接收并做出响应。广播接收器没有用户界面。然而,它们可以启动一个activity或serice 来响应它们收到的信息,或者用NotificationManager来通知用户。通知可以用很多种方式来吸引用户的注意力──闪动背灯、震动、播放声音等。一般来说是在状态栏上放一个持久的图标,用户可以打开它并获取消息。
  1. 查看Broadcast组件信息
  1. 发送恶意广播

反编译apk,查看AndroidManifest.xml 文件,获取广播名

在这里插入图片描述

  1. 拒绝服务攻击

尝试拒绝服务攻击检测,向广播组件发送不完整intent使用空extras

5.3 content provider组件测试

  1. 查看content provider组件信息

执行后,可以看到对DBContentProvider 内容提供器的访问,除了/Keys路径需要权限,其他都不需要权限;而对 FileBackupProvider 内容提供器的访问则不需要任何权限,那么就可以从中获取敏感数据

5.3.1 service组件测试

一个Service 是一段长生命周期的,没有用户界面的程序,可以用来开发如监控类程序。较好的一个例子就是一个正在从播放列表中播放歌曲的媒体播放器。在一个媒体播放器的应用中,应该会有多个activity,让使用者可以选择歌曲并播放歌曲。

然而,音乐重放这个功能并没有对应的activity,因为使用者当然会认为在导航到其它屏幕时音乐应该还在播放的。在这个例子中,媒体播放器这个activity 会使用Context.startService()来启动一个service,从而可以在后台保持音乐的播放。同时,系统也将保持这个service 一直执行,直到这个service 运行结束。

另外,还可以通过使用Context.bindService()方法,连接到一个service 上(如果这个service 还没有运行将启动它)。当连接到一个service 之后,我们还可以service 提供的接口与它进行通讯。拿媒体播放器这个例子来说,我们还可以进行暂停、重播等操作。 intent-filter未将exported设置为false,默认是可以导出的。
  1. 查看service组件信息
  1. 调用服务组件

5.3.2 检测URI数据泄露风险

Android平台提供了Content Provider使一个应用程序的指定数据集提供给其他应用程序。这些数据可以存储在文件系统中、在一个SQLite数据库、或以任何其他合理的方式。其他应用可以通过ContentResolver类从该内容提供者中获取或存入数据。只有需要在多个应用程序间共享数据是才需要内容提供者。
  1. 获取内容提供器的 URIS 资源访问路径
  1. 敏感数据读取
  • 检测文件遍历漏洞
  1. 读取系统文件
  1. 下载系统文件
  • 检测是否存在本地sql注入
  1. 扫描注入位置
  1. 列出该app的表信息
  1. 手工注入

执行以下命令,发现返回了报错信息,接着构造sql获取敏感数据

0x06 Drozer常用命令汇总

  • 开始一个会话

    • adb forward tcp:31415 tcp:31415
    • drozer console connect
  • 检索包信息

    • run app.package.list -f <app name>
    • run app.package.info -a <package name>
  • 识别攻击面

  • 开发活动

    • run app.activity.info -a <package name> -u
    • run app.activity.start --component <package name> <component name>
  • 利用内容提供商

    • run app.provider.info -a <package name>
    • run scanner.provider.finduris -a <package name>
    • run app.provider.query <uri>
    • run app.provider.update <uri> --selection <conditions> <selection arg> <column> <data>
    • run scanner.provider.sqltables -a <package name>
    • run scanner.provider.injection -a <package name>
    • run scanner.provider.traversal -a <package name>
  • 利用广播接收器

    • run app.broadcast.info -a <package name>
    • run app.broadcast.send --component <package name> <component name> --extra <type> <key> <value>
    • run app.broadcast.sniff --action <action>
  • 开发服务

    • run app.service.info -a <package name>
    • 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

参考链接:
https://yunye.blog.csdn.net/article/details/108931814

https://www.jianshu.com/p/8f9d7dc5a8bb

https://www.jianshu.com/p/4ef5b26dd3fb

我自横刀向天笑,去留肝胆两昆仑

Copyright © 2012-2014 Www.tudoupe.Com. 土豆启动 版权所有 意见建议:tdsky@tudoupe.com

土豆系统,土豆PE,win7系统下载,win7 64位旗舰版下载,u盘启动,u盘装系统,win10下载,win10正式版下载,win10 RTM正式版下载,win8下载,电脑蓝屏,IE11修复,网络受限,4K对齐,双系统,隐藏分区,系统安装不了,U盘装系统,笔记本装系统,台式机装系统,diskgenius运用,GHSOT装系统,U盘修复,U盘技巧,U盘速度,U盘不能格式化,U盘复制发生错误,U盘加密,U盘选购,开机黑屏,蓝屏,进不了系统,上不了网,打不开程序,点击无反应,系统设置,PE个性化,PE添加网络,PE维护系统

点击这里给我发消息