freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

RMS-Runtime-Mobile-Security:一款针对Android Java类和方法的运...
2020-05-22 15:00:58

a.png

RMS-Runtime-Mobile-Security

Runtime Mobile Security (RMS)是一款功能强大的Web接口,在它的帮助下,研究人员可以在运行时对Android Java类和方法进行分析和修改。

Runtime Mobile Security (RMS) 由Frida驱动,并且提供了功能强大且简单易用的Web接口,我们可以使用RMS在程序运行时轻松导出所有加载的类已经相对应的方法,并对函数设置钩子,追踪方法参数和返回值,加载自定义脚本以及其他各种实用功能。

工具信息

Runtime Mobile Security (RMS)当前仅支持Android设备,并在macOS平台上进行过测试,目前支持下列运行设备:

1、AVD模拟器;

2、Genymotion模拟器;

3、Amazon Fire Stick 4K;

理论上该工具也能够在Windows以及Linux平台上运行,但还需要配置一些其他的依赖组件。

工具依赖

Runtime Mobile Security (RMS)的正常使用要求在目标设备上开启和运行Frida服务器。

关于Frida服务器的安装和配置,请参考Frida官方文档:【传送门】。

工具安装

1、(可选)创建一个Python虚拟环境。

2、然后运行下列命令将项目源码克隆至本地:

git clone https://github.com/m0bilesecurity/RMS-Runtime-Mobile-Security.git

3、然后运行下列代码安装工具依赖组件:

pip3 install -r requirements.txt

4、使用下列命令运行Runtime Mobile Security (RMS):

python3 mobilesecurity.py

工具使用

第一步:通过输入应用包名来运行你的目标App。

请注意,RMS会绑定一个名叫com.android.systemui的持久化进程来获取已加载进内存中的所有类(在运行目标App之前)。当然了,你也可以通过Config标签页或编辑config.json文件来设置其他的默认包。

Image

第二步:检测已加载进内存中的类和方法。

Image

第三步:实施挂钩类/方法,并追踪相应参数以及返回值。 

Image

第四步:搜索堆中特定的类实例以及调用的方法。 

Image

第五步:选择一个类,并针对所有的方法动态生成钩子模板。

Image

第六步:检测已加载进内存的新增类。

Image

第七步:动态注入Frida自定义脚本。

Image

你可以选择在custom_script文件夹中添加自定义的.js文件,这些脚本将会自动加载进Web接口中并随时可以执行。

Demo应用

RootBeer Sample是一个能够演示RMS工作机制的样例App。RootBeer是一款root检测库,我打算将其作为一个样例应用来演示RMS,它可以作为客户端检测实例,其root检测逻辑的绕过可以在不需要服务器端验证的情况下实现。

项目地址

Runtime Mobile Security (RMS):【GitHub传送门

*参考来源:m0bilesecurity,FB小编Alpha_h4ck编译,转载请注明来自FreeBuf.COM

# java # Android # RMS
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者