MobSF移动安全测试框架

联合创作 · 2023-10-01 17:25

移动安全框架 (MobSF) 是一个智能化、一体化的开源移动应用(Android / iOS)自动测试框架,能够对以上两种移动应用进行静态和动态分析(动态分析目前暂时只支持Android)。

它可以有效、快速地对应用APK 和IPA文件 及压缩的源代码进行审计分析。同时,MobSF 也能够通过其API Fuzzer功能模块,对 Web API 的安全性进行检测,如收集信息,分析安全头部信息,识别移动API 的具体漏洞,如XXE、SSRF、路径遍历,IDOR以及其他的与会话和API调用速率限制有关的逻辑问题。

运行环境

• Python 2.7,下载请点击:Python 2.7

• Oracle JDK 1.7或以上版本,下载请点击:Oracle JDK;

• Oracle VirtualBox 下载请点击: VirtualBox;

• iOS IPA分析(需在 Mac系统上执行)所需命令行工具( Mac系统)下载请点击:Conmand-line tool;

• 硬件配置:4GB 或以上内存,5G硬盘空间。

安装

该框架目前暂时只于Windows 7, 8, 8.1, 10, Ubuntu, OSX Mavericks等系统平台上进行测试。

• Windows:解压MobSF压缩文件到C:\MobSF;

• Mac:压MobSF压缩文件到/Users/[username]/MobSF;

• Linux:压MobSF压缩文件到/home/[username]/MobSF。

配置静态分析器

通过pip安装MobSF Python 依赖包,以下为不同系统的命令执行操作,

Windows

C:\Python27\Scripts\pip.exe install -r requirements.txt

如果pip.exe在脚本目录中不可用,下载及重新安装最新版本的Python2.7。

Unix

pip install -r requirements.txt

运行MobSF

python manage.py runserver

如果需要在具体端口上运行,可以通过以下指令进行,

python manage.py runserver port_number

如果上述步骤都顺利正常执行的话,那么我们将会看到以下的输出内容,

配置动态分析器

配置MobSF VM 

动态分析器目前只支持针对 Android APK文件进行分析,硬件环境要求为需要计算机拥有4GB 内存和支持完全虚拟化

首先,配置动态分析器我们需要获取以下4个方面的信息,
(1)VM UUID

(2)快照 UUID

(3)主机/代理 IP

(4)VM/设备 IP

操作步骤

1、打开VirtualBox(本文主要以VirtualBox为样例),选择文件->导入应用,并选中MobSF_VM_X.X.ova 文件(下载地址可于前文查看);

4.png

2、在进行导入过程中,请勿更改任意配置,一切按照默认设置进入下一步;

3、一旦OVA文件导入成功,我们将在VirtualBox上看到一个以MobSF_VM_X.X命名的新的条目;

4、接下来右击MobSF VM,并选择设置一项,选中到网络选项卡,这里我们需要配置两个网络适配器;

(1)适配器1 启用并于attached to 中,选择Host-only Adapter模式,重命名适配器名称,因为我们需要通过该名称来识别主机/代理 IP,配置如下图;

(2)适配器2 启用并于attached to中,选择NAT模式,配置如下图。


5、保存上述设置,便可启动MobSF VM。当该VM启动的时候,记下VM的 IP地址;

6、一旦该虚机启动后,它会停留在一个锁屏状态上,而解锁密码默认为1234;


7、获取 主机/代理 IP

(1)Windows :在命令提示符中输入ipconfig,记下与适配器1 相同名称的适配器IP地址;

(2)Unix :在命令提示符中输入ifconfig,记下与适配器1 相同名称的适配器IP地址;

8、接着在MobSF 虚机中选中Wi-Fi设置,设置代理IP(上一步获取到的IP)和端口(1337);

11.png

9、保存设置,并回到MobSF虚机的Home界面上,等待大约30秒的时间,之后保存好 MobSF虚机的快照;

10、一旦快照保存好,右击MobSF虚机,选择“在Explorer中显示”或者“在 Finder中显示”;

11、在任意编辑器中打开MobSF_VM_X.X.vbox文件(这里使用的是sublime),记下 VM UUID以及快照UUID;


接下来,到了此时,我们已经有了如前文提到的,配置动态分析器所需要的信息,

(1)VM UUID

(2)快照 UUID

(3)主机/代理 IP

(4)VM/设备 IP

12、接下来我们打开MobSF/settings.py文件,并将其中参数的值设置如下,

(1)UUID = VM UUID

(2) SUUID = Snapshot UUID

(3)VM_IP = VM IP

(4)PROXY_IP = Host/Proxy IP

以下为配置样本,

最后,我们重新再打开服务器即可运行。部分功能如下图

静态分析

Android APK

iOS IPA

动态分析

Android APK

22.png

Web API Fuzzer

介绍内容来自 FreeBuf黑客与极客

浏览 12
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报