一. drozer简介

drozer(以前称为Mercury)是一款Android安全测试框架。

drozer允许您通过承担应用程序的角色并与Dalvik VM,其他应用程序的IPC端点和底层操作系统进行交互来搜索应用程序和设备中的安全漏洞。

drozer提供工具来帮助您使用,共享和理解公共Android漏洞。它可以帮助您通过开发或社会工程将drozer Agent部署到设备。使用weasel(MWR的高级开发负载)drozer能够通过安装完整代理,将有限代理注入正在运行的进程或连接反向shell以充当远程访问工具(RAT)来最大化其可用权限。

项目地址:https://github.com/mwrlabs/drozer

Mac 安装drozer

1. 安装Python 2.7(系统自带)

2. 安装Protobuf 2.6 or greater

sudo pip install protobuf

3. 安装Pyopenssl 16.2 or greater

sudo pip install pyopenssl

4. 安装Twisted 10.2 or greater

sudo pip install twisted

5. 安装JDK 1.7

这里我安装的是JDK 1.8,最后也安装成功了。

6. 安装Python的service_identity模块(不安装的话后面运行drozer时总会显示警告)

sudo pip install service_identity

7. 安装 adb(Android Debug Bridge)

可以去 https://developer.android.com/studio/releases/platform-tools下载相应平台上的安装包,解压后配置下环境变量即可,这里仅演示Mac下的安装方式

安装homebrew(已安装的话可跳过)

ruby -e “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)”

安装adb

brew install android-platform-tools

测试是否安装成功

adb devices

如果不报错就说明安装成功啦。

8. 安装drozer

https://labs.mwrinfosecurity.com/tools/drozer/ 下载相应平台的安装包:

这里我下载的是drozer(Python .whl)

然后进入文件所在目录,执行以下命令:

sudo pip install drozer-2.x.x-py2-none-any.whl

注意:这里的2.x.x要替换成自己下载的版本,比如这里下载的是2.4.4,就替换成2.4.4

安装成功后,执行drozer命令后输出如下:

Windows和Linux平台上的安装大体上类似,就不一一测试了。

客户端安装

同样到:https://labs.mwrinfosecurity.com/tools/drozer/ 下载客户端,也就是drozer(Agent .apk only),然后安装到手机或者模拟器上就好

使用Android模拟器:

如果使用Android模拟器,则需要设置合适的端口,以便PC可以连接到模拟器内部或设备上的代理打开的TCP套接字。默认情况下,drozer使用端口31415:

列出所有设备:

adb devices

接着执行:

╰─ adb forward tcp:31415 tcp:31415

启动移动设备中的drozer agent,将右下角的关闭置为打开状态:

然后,使用drozer控制台进行连接,在PC终端中执行以下命令:

╰─ drozer console connect

如果连接成功,PC终端效果如下:

常用命令:

dz> run app.package.list #列出设备中安装的包

dz> run app.package.list -f nfc #列出模糊的包名匹配

dz> run app.package.info #获取安装包的详细信息

dz> run app.package.info -a io.silvrr.installment #列举指定包的信息

dz> run app.package.info -p android.permission.RECEIVE_SMS #列出具有相应权限的包

dz> run app.activity.info #列出设备上所有包的activity

dz> run app.activity.info  -f io.silvrr.installment #搜索包的activity

dz> run app.provider.info #列出设备上所有的provider

dz> run app.service.info #列出去设备上所有的service

dz> run app.package.attacksurface io.silvrr.installment #查看此包的攻击面

6个可导出的activities

5个可导出的broadcast

2个可导出的providers

10个可导出的services

列出包的activity

dz> run app.activity.info -a io.silvrr.installment

io.silvrr.installment.module.startup.SplashActivity 这个activity应该是启动的,我们尝试启动它

run app.activity.start  --component 【包名】 【组件名】

dz> run app.activity.start  --component io.silvrr.installment  io.silvrr.installment.module.startup.SplashActivity

其他用法如下:

Dex是Android系统中可以在Dalvik虚拟机上直接运行的文件格式。java源代码经过ADT的复杂编译后转换成Dex文件,这是一个逐步优化的过程。Dex文件的指令码就是Dalvik虚拟机专有的一套指令集,专门为嵌入式系统优化过,相比标准java的.class文件,它体积小,运行效率高

二. Androguard

Androguard简介:

Androguard是一款使用Python编写的跨平台的Android逆向工具,它可以在 Linux/Windows/OSX上运行。使用它可以反编译android应用,也可以用来做android app的静态分析(static analysis)。

安装Androguard:

sudo pip install -U androguard

Androguard的使用:

主要文件:

使用方法:

实例:

执行完该命令后,所有输出均在crackme0502中

更详细的使用方法请参考:

https://media.readthedocs.org/pdf/androguard/latest/androguard.pdf

常用的Android 渗透测试框架除了文章中提到的,还有好几个,不过这里限于篇幅原因就先写这么多吧!

参考文章:

http://blog.orleven.com/2017/06/22/android-base/

三. Qark

https://github.com/linkedin/qark

输入y提取manifest文件

对manifest 文件进行了安全评估结果

开始静态反编译分析

代码静态分析的结果:

Android App渗透测试工具drozer,Qark,Androguard的更多相关文章

  1. Android App渗透测试工具汇总

    网上搜集了一些App安全学习教程及工具,项目地址:https://github.com/Brucetg/App_Security 一. drozer简介 drozer(以前称为Mercury)是一款A ...

  2. Monkey Android app稳定性测试工具之Monkey使用教程

    Monkey Android app稳定性测试工具之Monkey使用教程 by:授客 QQ:1033553122 由于篇幅问题,仅提供百度网盘下载链接: Android app稳定性测试工具之Monk ...

  3. 安卓渗透测试工具——Drozer(安装和使用)

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

  4. android app 压力测试工具-monkey tool

    一.什么是Monkey? Monkey测试是Android自动化测试的一种手段,Monkey测试本身非常简单,就是模拟用户的按键输入,触摸屏输入,手势输入等,看设备多长时间会出异常. Monkey是A ...

  5. 安卓渗透测试工具Drozer学习笔记

    下载,并安装. pip安装即可,安装完成后可能会出现缺少twisted依赖库的问题 ➜ vul git:(master) ✗ drozer console connect drozer Server ...

  6. Android平台下渗透测试工具大集合

    Android平台下渗透测试工具大集合 分享一个google的项目,各种Android下的渗透测试工具. Ad Network Detector (1.2): http://market.androi ...

  7. Android APP压力测试(一)之Monkey工具介绍

    Android APP压力测试(一) 之Monkey工具介绍 前言 本文主要介绍Monkey工具.Monkey测试是Android平台自动化测试的一种手段,通过Monkey程序模拟用户触摸屏幕.滑动. ...

  8. Android APP压力测试(三)之Monkey日志自动分析脚本

    Android APP压力测试(三) 之Monkey日志自动分析脚本 前言 上次说要分享Monkey日志的分析脚本,这次贴出来分享一下,废话不多说,请看正文. [目录] 1.Monkey日志分析脚本 ...

  9. Android App 压力测试 monkeyrunner

    Android App 压力测试 第一部分 背景 1. 为什么要开展压力测试? 2. 什么时候开展压力测试?第二部分 理论 1. 手工测试场景 2. 自动测试创建 3. Monkey工具 4. ADB ...

随机推荐

  1. 关于Linux虚拟化技术KVM的科普 科普四(From humjb_1983)

    另一组关于KVM的分析文档,虚拟化相关概念.KVM基本原理和架构一-概念和术语.KVM基本原理和架构二-基本原理.KVM基本原理及架构三-CPU虚拟化.KVM基本原理及架构四-内存虚拟化.KVM基本原 ...

  2. Heroku创始人Adam Wiggins发布十二要素应用宣言

    Heroku是业内知名的云应用平台,从对外提供服务以来,他们已经有上百万应用的托管和运营经验.前不久,创始人Adam Wiggins根据这些经验,发布了一个“十二要素应用宣言(The Twelve-F ...

  3. Spring+SpringMVC+MyBatis+easyUI整合进阶篇(十五)阶段总结

    作者:13 GitHub:https://github.com/ZHENFENG13 版权声明:本文为原创文章,未经允许不得转载. 一 每个阶段在结尾时都会有一个阶段总结,在<SSM整合基础篇& ...

  4. python爬虫的重定向问题

    重定向问题 在使用python爬虫的过程中难免会遇到很多301,302的问题.他们出现时,很大程度的影响到我们的爬虫速度和信息的准确性.下面针对不同的模块给出不同的解决方案. 使用requests模块 ...

  5. selenium测试(Java)-- 显式等待(九)

    转自:https://www.cnblogs.com/moonpool/p/5668571.html 显式等待可以使用selenium预置的判断方法,也可以使用自定义的方法. package com. ...

  6. Firefox Profile (2)

    一些关于selenium copy Firefox profile to a temp directory的讨论 https://stackoverflow.com/questions/6787095 ...

  7. 测试APPEND INSERT是否产生UNDO信息的过程

    D:\>sqlplus test/testSQL*Plus: Release 11.1.0.6.0 - Production on 星期三 06月 29 19:46:41 2016Copyrig ...

  8. CAD中用户选择实体

    在CAD的很多操作中都会有需要用户选择实体的时候,这里将我最近项目中用到的方法分享一下,程序原意是希望用户选择一个单行文本或者多行文本,并返回所选文本的内容,直接上代码: CString CPaint ...

  9. BZOJ_1923_[Sdoi2010]外星千足虫_高斯消元+bitset

    BZOJ_1923_[Sdoi2010]外星千足虫_高斯消元 Description Input 第一行是两个正整数 N, M. 接下来 M行,按顺序给出 Charles 这M次使用“点足机”的统计结 ...

  10. oracle服务的一些问题,先发2个,以后慢慢添加~~

    OracleOraDb11g_home1TNSLister服务启动后停止 解决办法: 1. 修改文件C:\app\zhuwei\product\11.1.0\db_1\NETWORK\ADMIN\li ...