学习使用drozer审计安卓app | 申博官网
登录
  • 欢迎进入申博官网!
  • 如果您觉得申博官网对你有帮助,那么赶紧使用Ctrl+D 收藏申博官网并分享出去吧
  • 这里是申博官方网!
  • 申博官网是菲律宾sunbet官网品牌平台!
  • 申博开户专业品牌平台!

学习使用drozer审计安卓app

申博_安全防护 申博 41次浏览 已收录 0个评论

drozer是一个用来审计安卓四大主件的漏洞检测框架,笔者最近也利用该框架对一些app进行了安全检测,取得了一些成果,觉得这个框架比较好用,于是想记录一下自己的实践经历。
1.运行环境是python2.7,也需要安装JDK。首先需要到官网下载相关软件:https://labs.f-secure.com/tools/drozer/,需要下载msi和apk分别部署在电脑和手机上,apk用来做端口转发:
学习使用drozer审计安卓app

但我从官网下载的msi运行不了,这里提供一个网盘链接,东西都打包好了:http://pan.baidu.com/s/1gfI0hLT 密码:c78h
其中 setup.exe 是安装在电脑上,安装也是一路next往下装就行, agent.apk 安装在手机或模拟器,我这里用了雷电模拟器,安装完毕之后,在模拟器运行drozer agent,然后点击右下角的“关闭”按钮开启agent,启动服务
学习使用drozer审计安卓app

接着在C:\Users\用户名下新建一个.drozer_config文件,文件中添加如下内容:
[executables]
java=C:\Java\jdk1.8.0\bin\java.exe
javac=C:\Java\jdk1.8.0\bin\javac.exe
java和javac的路径按照自己的配置来更改就行。

在出现的“开启”按钮左边点击一下,出现如下画面就说明安装好了:
学习使用drozer审计安卓app
(如果是用真机话,需要用数据线连接电脑,并开启usb调试模式)

使用adb来操作drozer,为了方便可以将adb所在目录加入环境变量,手机端开启drozer agent后,打开cmd命令行,切换到drozer的安装目录,输入adb forward tcp:31415 tcp:31415 进行端口转发,然后执行drozer console connect,出现下面的画面就说明环境搭建好了:
学习使用drozer审计安卓app

2.接下来介绍drozer的常用命令和笔者的实践案例:
查找攻击面: run app.package.attacksurface 包名

查看activity组件: run app.activity.info -a 包名

调用activity组件: run app.activity.start –component 包名 组件名,可以用来检测登陆绕过漏洞

查看Broadcast组件: run app.broadcast.info -a 包名

检测有没有拒绝服务漏洞:
发送空action: run app.broadcast.send –component 包名 广播名
发送空extras: run app.broadcast.send –action 广播名

查看Services组件: run app.service.info -a 包名

maccms v8 80w 字符的 RCE 分析

0x01 写在前面 偶然间看到了这个漏洞,利用 80w 长度的垃圾字符填充,使正则回溯次数超过一定限度,导致绕过了360 模块的防御,本文主要介绍了正则回溯以及maccms v8 80w 字符RCE的详细分析。 0x02 正则回溯 1、正则引擎 “正则回溯”中的“正则”我们都很熟悉,但是什么是回溯呢? 说回溯前,要先谈一谈正则表达式的引擎,正则引擎主要可以分为基本不同的两大类:一种是DFA(确定型有穷自动机),另一种是NFA(不确定型有穷自动机),NFA 对应的是正则表达式主导的匹配,而 DFA 对应的是文本主导的匹配。 目前使用DFA引擎的程序主要有:awk,egrep,flex,lex,MySQL,Procmail等; 使用传统型NFA引擎的程序主要有:GNU Emacs,Java,ergp,less,more,.NET,,PCRE library,Perl,PHP,Python,Ruby,sed,vi; DFA在线性时状态下执行,不要求

调用服务组件: run app.service.start –action 服务名 –component 包名 服务

检测可以访问的URL: run scanner.provider.finduris -a 包名

查询URL的数据: run app.provider.query url

查找存在注入的点:run scanner.provider.injection -a 包名

检测目录遍历漏洞: run scanner.provider.traversal -a 包名

3.实践案例:
案例一:利用暴露的activity实现登陆绕过
首先使用drozdr检测app中暴露的activity,查看activity的命令见上文,这里可以看到暴露的主件还是有不少:
学习使用drozer审计安卓app

接着使用drozer命令调用这些暴露的activity,调用activity的命令见上文,根据笔者的测试,其中的一个activity存在登陆绕过缺陷,调用该activity后实现的效果如下:
学习使用drozer审计安卓app
在不需要账号密码的情况下即可登陆app:
学习使用drozer审计安卓app

案例二:主件拒绝服务漏洞
首先使用drozer检测app中暴露的广播主件,接着向暴露的主件发送空action检测拒绝服务是否存在 ,结果其中一个广播接到空action后就奔溃了:
学习使用drozer审计安卓app

4.对这些问题的一些修复建议:
1 将不必要导出的组件设置为不导出
2 在AndroidManifest.xml中,将activity的”android:exported”属性设置为”false”

这两个案例是笔者在对一些app进行安全测试的时候发现的问题,更多的知识我也还没接触到,哈哈。


申博|网络安全巴士站声明:该文看法仅代表作者自己,与本平台无关。版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明学习使用drozer审计安卓app
喜欢 (0)
[]
分享 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址