MobSF,一款开源移动安全测试框架

来源:互联网 发布:阿里巴巴待遇知乎 编辑:程序博客网 时间:2024/04/30 10:40

转载网址(中文):http://www.freebuf.com/sectool/99475.html

转载网址(英文):https://github.com/ajinabraham/Mobile-Security-Framework-MobSF

在此感谢作者:寰者 


移动安全框架 (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硬盘空间。

下载

MobSF最新发布版下载地址:MobSF;

MobSF VM 0.2 ova 文件下载地址:MobSF.VM 。

安装

该框架目前暂时只于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

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

3.png

配置动态分析器

配置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,配置如下图;

5.png

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

6.png

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

7.png

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

8.png

7、获取 主机/代理 IP

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

9.png

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

10.png

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

11.png

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

12.png

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

13.png

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

14.png


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

(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

以下为配置样本,

15.png

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

静态分析

Android APK

16.png

17.png

iOS IPA

18.png

动态分析

Android APK

19.png

20.png

21.png22.png

Web API Fuzzer

23.png

24.png


0 0
原创粉丝点击