资讯专栏INFORMATION COLUMN

安卓渗透框架-Drozer架构浅析--架构组成和自定义模块

yanbingyun1990 / 1739人阅读

摘要:安卓渗透框架架构浅析架构组成和自定义模块标签空格分隔简介是开发的一款针对系统的安全测试框架。感兴趣的可以阅读的相关源码地址是一个安装在测试安卓机上轻量级,并且只申请一个权限,是为了用来和进行连接的。

安卓渗透框架-Drozer架构浅析--架构组成和自定义模块

标签(空格分隔): Drozer Android Security


1. Drozer 简介

Drozer是MWR Labs开发的一款针对Android系统的安全测试框架。Drozer可以通过与Dalivik 虚拟机,以及其它应用程序的IPC端点以及底层操作系统的交互,避免正处于开发阶段,或者部署于你的组织的android应用程序和设备暴露出不可接受的安全风险。


2. Drozer的使用

网上关于Drozer如何使用的文章很多,这里贴出来一两篇比较好的:
中文版:http://www.freebuf.com/tools/26503.html
英文版:https://www.mwrinfosecurity.com/system/assets/937/original/mwri_drozer-user-guide_2015-03-23.pdf


3. Drozer 组成 Drozer 总共由以下几个部分组成:

Drozer Console ---- Drozer 的pc端用户操作接口

Drozer agent ---- 安装在安卓手机上的Drozer代理应用

Drozer Modules ---- Drozer所包含的可以被利用的模块,Exploit,Payload

Drozer API ---- Drozer提供的 customize module 接口,用来编写自定义module或者exploit,payload

Drozer Common ---- 在console和agent之间传输和共享数据的一些组件

Other: (optional)
----------Rogue agent:提供了远程管理工具的代理
----------JAR agent:对Rogue agent进行了jar打包
----------Weasel: 可以理解为提供的和Rogue agent配套的高级payload


4. Drozer Console

Drozer Console 是用python编写而成的一个命令行工具,使用者可以通过console连接到agent上对Dalvik VM 进行操作。

接口是通过python的官方模块cmdreadline等模块实现,通过shlex解析命令,通过argparse解析参数。感兴趣的可以阅读Drzer Console的相关源码:

github地址:https://github.com/mwrlabs/drozer


5. agent

agent 是一个安装在测试安卓机上轻量级app,并且只申请一个权限,是为了用来和pc进行连接的。这个agent应用要求 Android API leven 7,兼容于Andriod 2.1以及以上的版本

(1) agent和console的连接方式 1. 直连方式(Direct Mode):

这一种链接方式,是需要在pc机上安装adb工具,并且使用数据线将测试机链接在pc机上实现的,agent会在测试机上开启一个服务器,然后通过adb开启一个本地tcp通路:
adb forward tcp:31415 tcp:31415
这样就可以连接上agent的服务器了。具体操作请看使用教程。

2. 网络链接方式(Infrastructure Mode):

这种方式是用过局域网去链接的,pc机开启一个server,然后在agent上配置和server建立tcp链接,再使用终端链接上去。具体请查看使用教程。

(2) 具体连接形式(connections)

drozer 的connections是通过一种通用的二进制消息传输形式(protobuf,具体请查看google的protobuf开源项目)来传输Frame信息,在console端是一个python的线程,在agent端是java的一个线程,他们传输的消息有以下几种:

1. 如果是SYSTEM_REQUEST,就传输的是SystemMessageHandler消息,SYSTEM_REQUEST指的是agent和console之间进行连接,交换状态的消息,她可以分为两种,SystemRequestSystemResponse

2. 如果是REFLECTION_REQUEST,就传输的是 ReflectionRequestHandler消息,REFLECTION_REQUEST指的是用户在使用相关的exploit或者payload命令的时候传输的消息,也有两种:ReflectionRequestReflectionResponse

agent源码:https://github.com/mwrlabs/drozer-agent
传输消息格式和类型:https://github.com/mwrlabs/mercury-common

(3) 消息传输session

和http一样,drozer的console和agent之间的传输也有session,当console和angent链接成功的时候,agent便会生成一个session,它是一个256位的hash字符串,后面的每一次通信都必须带上该session id


Drozer Modules

drozer拥有很多可以直接利用的Module, Exploit, Payload.这些你可以在drozer console中使用list命令查看相关module,也可以在bash下使用drozer exploit list查看相关exploit,也可以使用drozer payload list 来查看相关payload。具体使用方式请查看相关帮助。

所有的module源码可以在这里查看:
https://github.com/mwrlabs/drozer-modules


Drozer API

Drozer 提供了module编写接口,在安装好drozer之后,就可以使用python来用相关的库了.
相关可以查看官方文档和相关博客:

https://github.com/mwrlabs/drozer/wiki/Writing-a-Module

http://appscan.360.cn/blog/?p=45

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/11162.html

相关文章

  • 安卓渗透框架Drozer架构浅析--架构组成和自定义模块

    摘要:安卓渗透框架架构浅析架构组成和自定义模块标签空格分隔简介是开发的一款针对系统的安全测试框架。感兴趣的可以阅读的相关源码地址是一个安装在测试安卓机上轻量级,并且只申请一个权限,是为了用来和进行连接的。 安卓渗透框架-Drozer架构浅析--架构组成和自定义模块 标签(空格分隔): Drozer Android Security 1. Drozer 简介 Drozer是MWR Labs开...

    ccj659 评论0 收藏0
  • 浅析工业云计算在中国工业领域的发展与应用趋势

    摘要:未来,产业中各行业边界将逐渐模糊,全新的工业经济发展模式正在到来,本文主要介绍了工业云计算在中国工业领域的发展与应用趋势。工业云在未来的发展中,需更多地以建设工业云服务平台为主,包  云计算、大数据将成为未来10年乃至更长时间新一代信息技术和产业的关键和核心,其和移动互联网、物联网等其他新一代信息技术一起正驱动互联网向传统工业制造业渗透,推动互联网企业和传统工业企业融合发展。  云计算、大数...

    WalkerXu 评论0 收藏0
  • 浅析工业云计算在中国工业领域的发展与应用趋势

    摘要:未来,产业中各行业边界将逐渐模糊,全新的工业经济发展模式正在到来,本文主要介绍了工业云计算在中国工业领域的发展与应用趋势。  云计算、大数据将成为未来10年乃至更长时间新一代信息技术和产业的关键和核心,其和移动互联网、物联网等其他新一代信息技术一起正驱动互联网向传统工业制造业渗透,推动互联网企业和传统工业企业融合发展。  云计算、大数据将成为未来10年乃至更长时间新一代信息技术和产业的关键和...

    wenhai.he 评论0 收藏0
  • Android敲门砖 - 收藏集 - 掘金

    摘要:自制干货集中营掘金利用干货集中营的免费,自制干货集中营应用。用使用掘金如果你的项目的网络框架是,那么使用还是挺简单的,因为默认支持。 Android - 如何开发一个功能强大的图片选择器 - Android - 掘金图片选择器是Android开发中会经常用到的一个功能,特别对于社交类的应用,比如头像设置,比如发图片。自然ImagePicker的轮子很多,今天介绍一个功能强大的轮子SIm...

    codecraft 评论0 收藏0
  • 浅谈小程序运行机制

    摘要:小程序的基础库不会被打包在某个小程序的代码包里边,它会被提前内置在微信客户端。小程序没有重启的概念当小程序进入后台,客户端会维持一段时间的运行状态,超过一定时间后目前是分钟会被微信主动销毁当短时间内连续收到两次 写作背景 接触小程序有一段时间了,总得来说小程序开发门槛比较低,但其中基本的运行机制和原理还是要懂的。比如我在面试的时候问到一个关于小程序的问题,问小程序有window对象吗?...

    jsliang 评论0 收藏0

发表评论

0条评论

yanbingyun1990

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<