一、drozer的安装以及环境的准备
PC上需配置的环境:
JRE或JDK
Android SDK
adb
java
2.手机客户端或者模拟器需要安装:
adb install agent.apk
二、drozer的使用
启动agent,使用drozer连接客户端agent
adb forward tcp:31415 tcp:31415
C:\drozer\drozer.bat console connect
2. 启动成功之后,开始测试应用程序(sieve)
sieve的下载地址:
2.1 找出应用程序的包名:
run app.package.list -f sieve
2.2 列出应用程序基本信息(版本、数据存储目录、用户ID,组ID,是否有共享库、权限信息)
run app.package.info -a com.mwr.example.sieve
2.3确定攻击面(这个测试教程主要关注的是Android 固有的IPC通信机制的脆弱性,这些特点导致了App泄漏敏感信息给同一台设备上的其它App。)
run app.package.attacksurface com.mwr.example.sieve
结果显示了潜在可以利用的组件个数: “exported”表示组件可以被其他App使用。 services is debuggable表示我们可以用adb绑定一个调试器到进程。
2.4、进一步获取Attack surface的信息
run app.activity.info -a com.mwr.example.sieve
MainLoginActivity是程序启动时主界面,必须是exported,其他两个activity是理论上说是不能exported的。
2.5从content provider读取信息
run app.provider.info -a com.mwr.example.sieve
从上图可以看到2.3节中两个exported的content provider的具体信息,包括名字,权限,访问路径等。
2.6 基于数据库的content provider(数据泄露)
run scanner.provider.finduris -a com.mwr.example.sieve
上图中检测出了可以访问content的URI。
3.content provider漏洞检测(检测是否有SQL注入)
run scanner.provider.injection -a com.mwr.example.sieve
检查是否存在遍历文件的漏洞:
run scanner.provider.traversal -a com.mwr.example.sieve
4.与services交互的信息
run app.service.info -a com.mwr.example.sieve
services模块的内容:
(简单写一下,后续补充)