用于Android App安全检测Drozer工具安装使用教程

最近接到任务,让了解一下几款Android安全测试相关的软件,首先是Drozer。Drozer是一款综合的安全评估和攻击的android框架,据 产品介绍 里说,Drozer可以全面评估app的安全性,并帮助团队把app的安全风险保持在可控范围内。
使用方法

1、在 mwrinfosecurity 公司的这个网页上,提供了社区版本的下载(没错,还有收费的高级版),下载并安装之。并保证android的adb环境已经配置好,即cmd中输入adb devices不会报错。并在手机端安装下载包中的Agent.apk的包。

2、在PC端开启转发

adb forward tcp:31415 tcp:31415

adb forward tcp:31415 tcp:31415

3、在手机端打开安装好的apk程序。

4、在PC上开启Drozer console

drozer console connect

drozer console connect

这样,就进入了 dz> 的console界面,后面就参照说明书一步一步进行测试。
功能介绍

dz> run app.package.list -f example

dz> run app.package.list -f example
 

list命令用以列出所有包含“example”的手机中已安装package名称,记住目标应用的完整名称。

dz> run app.package.info -a com.example

dz> run app.package.info -a com.example
 
info命令用以通过完整名称,获取该package的详细信息,比如data路径、apk路径、声明的权限等等。

dz> run app.package.attacksurface com.example

dz> run app.package.attacksurface com.example

attacksurface即攻击面分析,分析Activity/Broadcast Receiver/Content Provider/Service的权限,即是否能被其他的的应用程序调用。会像下列示例一样列出数量:

    Attack Surface:
    3 activities exported
    0 broadcast receivers exported
    2 content providers exported
    2 services exported
    is debuggable

dz> run app.provider.info -a com.example

dz> run app.provider.info -a com.example
 

获取provider的信息,比如是否需要额外权限来读写app的数据库,等等。如果找到相关漏洞,就可以通过

dz> run scanner.provider.finduris -a com.example

dz> run scanner.provider.finduris -a com.example
 

来扫描一些可用的uri,比如userName、password、ID之类的,甚至可以修改值(如SQL注入什么的):

dz> run app.provider.query content://xxxxxx --preinjection "xxx"

dz> run app.provider.query content://xxxxxx --preinjection "xxx"
 

dz> run scanner.provider.injection -a com.example

dz> run scanner.provider.injection -a com.example

进行简单的SQL注入检查、文件遍历检查之类的。

其他:

service相关

查询service

dz> run app.service.info -a com.example

dz> run app.service.info -a com.example

shell.start

在设备上启动一个可交互的linux shell

tools.file.upload / tools.file.download

在android设备上上传/下载文件

tools.setup.busybox / tools.setup.minimalsu

往设备上安装busybox和minimalsu

其他功能

在收费版本中,Drozer还提供了攻击面的可视化界面,并在多设备支持、模拟传感器输入等方面进行了探索,但是介于收费功能,没有继续看下去。

总结

在测试app的安全性上,Drozer确实可以发挥一些作用,不过关键问题还是要了解Android app的整体结构和安全策略,才能游刃有余,而不是见招拆招,被动的很。

时间: 2024-08-02 08:13:45

用于Android App安全检测Drozer工具安装使用教程的相关文章

谷歌发布基于机器学习的Android APP安全检测系统:Google Play Protect

Google Play作为众所周知的在线应用市场,因为审查制度的松散,经常会有一些恶意软件伪装成其他应用混入其中.此前阿里聚安全小编就报道了2例关于恶意软件伪装在Google Play上的事件:<Google Play商店的"系统更新"隐藏间谍软件,数百万用户中招>和<打开手机电筒就泄露了银行卡密码?>.一旦用户从应用市场下载APP到手机上后,谷歌便无法监视和检测应用程序的恶意行为. 近日,谷歌为Android用户带来了一个好消息.在Google I/O2017

Android app 用appBase快速开发购物车实例教程

appBase基础介绍 appBase是什么? appBase是一个Android app开发的基础集合,目的是任何应用都可以在这个基础之上开发app,省去了搭建框架的时间. appBase=xutils+fastjson+avlib     xutils使用了其中HttpUtils.BitmapUtils.DbUtils    fastjson使用了json解析    avlib大家比较陌生,这个库是我另外一个简单的工具库.主要功能是View的自动绑定.View的常用数据自动绑定.万能Adap

Android Studio3.0新特性及安装图文教程

Android Studio是Android的官方IDE.它是专为Android而打造,可以加快您的开发速度,帮助您为每款Android设备构建最优应用. 它提供专为Android开发者量身定制的工具,其中包括丰富的代码编辑.调试.测试和性能分析工具. 一.Android Studio3.0新特性 (1).核心IDE更改 我们将基础IDE从IntelliJ 2016.2升级到2017.1.2,在2016.3和 2017.1中增加了许多新功能, 包括参数提示,语义突出显示,搜索中的即时结果等等.

Android app开发中的Fragment入门学习教程_Android

在Android3.0上开始引入了一个新概念叫Fragment.它有自己的布局文件,可以作为组件排布,也可以相互组合去实现不同的布局显示.使用Fragment可以重复利用代码,并且可以满足不同设备尺寸的需求.Fragment不能单独存在,只能存在于Activity中,而一个Activity可以拥有多个Fragment.很重要的一点是,Fragment可以和Activity中的其它组件一起使用,无需重写所有Activity的接口.所以使用Fragment就可以这样来完成上例中"主界面-详细界面&q

Android app开发中的Fragment入门学习教程

在Android3.0上开始引入了一个新概念叫Fragment.它有自己的布局文件,可以作为组件排布,也可以相互组合去实现不同的布局显示.使用Fragment可以重复利用代码,并且可以满足不同设备尺寸的需求.Fragment不能单独存在,只能存在于Activity中,而一个Activity可以拥有多个Fragment.很重要的一点是,Fragment可以和Activity中的其它组件一起使用,无需重写所有Activity的接口.所以使用Fragment就可以这样来完成上例中"主界面-详细界面&q

Android App开发中创建Fragment组件的教程_Android

你可以认为Fragment作为Activity的一个模块部分,有它自己的生命周期,获取它自己的事件,并且你可以在Activity运行的时候添加或者移除它(有点像你可以在不同的Activity中重用的一个"子Activity").这节课程讲述如何使用Support Library继承Fragment类,所以你的应用程序仍然是兼容运行的系统版本低于Android1.6的设备. 注意:如果你决定你的应用要求的最低的API级别是11或者更高,你不需要使用Support Library,反而能使

Android App开发中创建Fragment组件的教程

你可以认为Fragment作为Activity的一个模块部分,有它自己的生命周期,获取它自己的事件,并且你可以在Activity运行的时候添加或者移除它(有点像你可以在不同的Activity中重用的一个"子Activity").这节课程讲述如何使用Support Library继承Fragment类,所以你的应用程序仍然是兼容运行的系统版本低于Android1.6的设备. 注意:如果你决定你的应用要求的最低的API级别是11或者更高,你不需要使用Support Library,反而能使

Android App中自定义View视图的实例教程_Android

一.基础很多的Android入门程序猿来说对于Android自定义View,可能都是比较恐惧的,但是这又是高手进阶的必经之路,所有准备在自定义View上面花一些功夫,多写一些文章.先总结下自定义View的步骤: 1.自定义View的属性 2.在View的构造方法中获得我们自定义的属性 3.重写onMesure 4.重写onDraw 我把3用[]标出了,所以说3不一定是必须的,当然了大部分情况下还是需要重写的. 1.自定义View的属性,首先在res/values/  下建立一个attrs.xml

小米盒子怎么安装?小米盒子无须工具安装APK教程(远程安装)

小米盒子用U盘就可以安装第三方软件,但对于没U盘的朋友该如何呢?下面教你直接用电脑远程给小米盒子及小米盒子增强版安装第三方软件看电视直播,不用U盘,不用OTG,也不用安卓手机数据线哦! 具体步骤如下: 1.下载需要的APK软件到电脑.(看电视直播的一般都安装泰捷视频TV版).将小米盒子连接好电视,接通网线联网:(注意:盒子的网络与电脑的网络必须在同一个WIFI的局域网下) 2.启动小米盒子与电视,在电视上依次打开"应用"-"应用商店"-"应用管理"