Drozer
一、对drozer的介绍
(1)drozer是一个Android安全评估框架。
(2)drozer能够与Android App进行交互,发现Android App暴露的攻击面
(3)drozer有许多扩展模块,帮助测试以发现漏洞
(4)drozer是一款开源的软件
二、利用drozer收集app信息
首先,安装一个app用来测试,打开模拟器,通过adb命令安装。如果事先将adb配入环境变量,那么可以直接在cmd中通过cd进入到apk的文件目录,然后打开模拟器,adb install xxx.apk即可完成安装。
【注:在安装时出现报错Failure [INSTALL_FAILED_TEST_ONLY],那么需要通过命令adb install -t xxx.apk进行安装,这里是要把该apk所有的信息打包,再安装为app】
其次,在drozer官网下载安装好后,通过以下四步进入drozer:
(1)adb forward tcp:31415 tcp:31415
(2)通过cd命令进入到drozer目录
(3)在模拟器上打开drozer agent
(4)drozer console connect ,即可进入 drozer
进入后可以通过ls查看drozer所有的功能以及对应的命令,这里只列举收集app信息的命令。
run app.package.list -f app名 ------ 作用是查到该app对应的包名(因为后面根据包名查找对应app的信息)
run app.package.info -a 包名
至此就查看到这个APP的所有信息(包括APP版本号、包名、存储路径、UID、GID、权限等信息)
当然,通过drozer还可以查看具体的组件(Activity、Broadcast等)信息以及对应的安全问题,还有整个app与整个模拟器的攻击面等等,其余常用命令补充如下:
-
- adb forward tcp:31415 tcp:31415
- drozer console connect
-
- run app.package.list -f <app name>
- run app.package.info -a <package name>
-
- run app.package.attacksurface <package name>
-
- run app.activity.info -a <package name> -u
- run app.activity.start --component <package name> <component name>
-
- run app.provider.info -a <package name>
- run scanner.provider.finduris -a <package name>
- run app.provider.query <uri>
- run app.provider.update <uri> --selection <conditions> <selection arg> <column> <data>
- run scanner.provider.sqltables -a <package name>
- run scanner.provider.injection -a <package name>
- run scanner.provider.traversal -a <package name>
-
- run app.broadcast.info -a <package name>
- run app.broadcast.send --component <package name> <component name> --extra <type> <key> <value>
- run app.broadcast.sniff --action <action>
-
- run app.service.info -a <package name>
- run app.service.start --action <action> --component <package name> <component name>
- run app.service.send <package name> <component name> --msg <what> <arg1> <arg2> --extra <type> <key> <value> --bundle-as-obj