资讯专栏INFORMATION COLUMN

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

yanbingyun1990 / 1835人阅读

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

安卓渗透框架-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

相关文章

  • 浅析工业云计算在中国工业领域的发展与应用趋势

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

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

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

    wenhai.he 评论0 收藏0

发表评论

0条评论

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