其中使用到的内容为adb、drozer夜神模拟器以及测试app(sieve.apk) Android 调试桥 (adb) 是一种功能多样的命令行工具,可让您与设备进行通信。adb 命令便于执行各种设备操作(例如安装和调试应用),并提供对 Unix shell(可用来在设备上运行各种命令)的访问权限。它是一种客户端-服务器程序,包括以下三个组件: 客户端:用于发送命令。客户端在开发计算机上运行。您可以通过发出 adb 命令从命令行终端调用客户端。 守护进程 (adbd):在设备上运行命令。守护进程在每个设备上作为后台进程运行。 服务器:管理客户端和守护进程之间的通信。服务器在开发计算机上作为后台进程运行。 adb 包含在 Android SDK 平台工具软件包中。 Drozer 是Android领先的安全测试框架。 drozer允许您通过假设一个应用程序的作用,并与Dalvik虚拟机,其他应用的IPC端点和底层操作系统进行交互来搜索应用程序和设备的安全漏洞。 该drozer 代理被设计为代表的Android设备上的任意无特权的应用程序运行,正因为如此,只要求一个单一的权限:INTERNET权限。因为代理需要打开套接字连接与控制台或服务器进行交互此权限是必需的。 drozer试图避免外部工具,例如ADB和AAPT,因为这些只会通过USB连接就可以让设备正常工作。 drozer功能全部模块化,即利用该代理的反射,加载功能来执行他们的测试。允许系统进行扩展,而无需过于频繁地更新代理。 首先使用adb进行端口转发: adb.exe connect 127.0.0.1:62001
查看是否已经建立连接: adb.exe devices
开启夜神模拟器的drozer
使用drozer进行连接: drozer.bat console connect 连接成功后会提示:
使用list命令,查看当前可用的所有模块:
列出所有已安装的app包名(其中Windows下的中文乱码问题没有很好的办法解决,Linux可正常显示,有明白的大佬跪求指导):
然后找到测试的app报名: com.android.mms.service 也可以使用: run app.package.list -f (app名称)进行查找
查看app的详细信息(app路径、数据目录等): run app.package.info -a (app包名)
接下来查看app是否存在暴露的组件以及是否可被调试: run app.package.attacksurface (app包名)
查看返回结果,发现其中有两个组件暴露并且可被调试 对暴露的Activity组件进行攻击测试: run app.activity.info -a 包名
返回结果列出了app中暴露的Activity 其中: com.mwr.example.sieve.FileSelectActivity——猜测是文件路径 com.mwr.example.sieve.MainLoginActivity——猜测为app登陆主界面 com.mwr.example.sieve.PWList——猜测为密码列表 然后分别去启动对应模块,看会返回什么样的结果: run app.activity.start --component 包名 对应模块名称 com.mwr.example.sieve.FileSelectActivity
com.mwr.example.sieve.MainLoginActivity
com.mwr.example.sieve.PWList
发现结果与猜测一致,其中com.mwr.example.sieve.FileSelectActivity、com.mwr.example.sieve.PWList模块也直接绕过登陆,登陆到界面内。
关注我们
Tide安全团队正式成立于2019年1月,是新潮信息旗下以互联网攻防技术研究为目标的安全团队,目前聚集了十多位专业的安全攻防技术研究人员,专注于网络攻防、Web安全、移动终端、安全开发、IoT/物联网/工控安全等方向。
想了解更多Tide安全团队,请关注团队官网: http://www.TideSec.com 或长按二维码关注公众号:
来源:freebuf.com 2020-02-25 08:41:11 by: DeceaseWolf
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
喜欢就支持一下吧
请登录后发表评论
注册