Android安全测试框架drozer

drozer功能简介


一、drozer工具


drozer是一款针对Android系统的安全测试框架,可以分成两个部分:其一是“console”,它运行在本地计算机上;其二是“server”,它是一个安装在目标Android设备上的app,当使用console与Android设备交互时,就是把Java代码输入到运行在实际设备上的drozer代理(agent)中


【1】更快的Android安全评估

drozer可以大大缩减Android安全评估的耗时,通过攻击测试暴露Android APP的漏洞


【2】基于真机的测试

drozer运行在Android模拟器和真实设备上,它只需要USB调试即可使用


二、下载安装


【1】github地址:https://github.com/mwrlabs/drozer


【2】下载及drozer用户手册:https://labs.mwrinfosecurity.com/tools/drozer/


【3】安装完需要的依赖,最后安装drozer,MAC系统安装python.egg文件



###Note###


>  MAC安装依赖过程中可能会因为pyOpenSSL造成失败,参考如下链接:

 https://blog.ropnop.com/installing-drozer-on-os-x-el-capitan/


>  依赖的JDK版本必须为1.6


【4】使用adb命令,在目标设备上安装drozer Agent(apk程序)



【5】运行drozer会话


>  第一步,使用adb命令,进行端口转发


>  启动drozer agent,界面上“Embedded Server”滑块拖到“Enable”


>  连接drozer console,运行成功进入console模式,就可以使用drozer的命令和模块




三、基本功能


【1】查询已安装的包信息


>  run app.package.list   列出设备中所有已安装的包


>  run app.package.list -f [app名]   列出特定的app或包的名称


>  run app.package.info -a [包名]   列出具体包的相关信息,包括:名称、版本、路径、UID、GID、权限列表等


>  run app.package.info -p [权限标识]   根据包的权限去查找包,哪些APP拥有某一组权限


【2】确定APP的受攻击面(attack surface)


>  run app.package.attacksurface [包名]   列出暴露的组件信息,以及debuggable调试和Shared UID等



【3】查询组件的信息


>  run app.activity.info   列出设备中所有导出的activity


>  run app.provider.info   列出设备中所有content provider的信息,包括读写权限等


>  run app.service.info   列出设备中所有service的信息


>  run app.broadcast.info --help   列出broadcast receiver组件可用的命令


此外,


>  -h 表示help

>  -a [包名] 表示查找具体包中的组件

>  -f [过滤字符串] 表示根据组件名去查找

>  -p [权限标识] 表示根据权限查找组件

>  -u 表示查找未导出的组件

>  -i 表示在输出信息中包含“intent filter”


【4】启动组件(以Activity为例)


>  run app.activity.start --component [package name] [component name]


【5】从Content Provider中获取信息


>  run scanner.provider.finduris -a [包名]   查找可以访问Content Provider的URI(数据泄露)



>  run app.provider.query [URI] --vertical   根据可调用的URI,从content中提取信息



>  run app.provider.query [URI] --selection " ' "   使用selection参数传递简单的SQL注入语句到Provider



>  run app.provider.finduri [package]   列出所有的URI


>  run app.provider.columns [URI]   列出provider数据结构及各列名称等信息


>  run app.provider.insert [URI]   向provider插入数据


>  run app.provider.read [URI]   查看某个文件


>  run app.provider.download [URI]   下载文件


【6】检查Content Provider的脆弱性


>  run scanner.provider.injection -a [包名]  检查是否有SQL注入


>  run scanner.provider.traversal -a [包名]   检查是否存在遍历文件的漏洞


【7】drozer中所有的模块汇总,如下所示




另外,也可以编写自定义的模块加载在drozer工具中,以实现功能的扩展


四、参考资料


【1】http://blog.0kami.cn/2016/08/20/how-to-install-drozer-on-mac/


【2】《Android安全攻防实战》,电子工业出版社,第3章&第4章


  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值