MobSF安装使用及过程中遇到的错误

一、概述

MobSF(Mobile-Security-Framework,移动安全测试框架)是一款智能化、自动化的开源移动应用(Android/iOS/Windows)测试框架,可以对应用进行静态分析和动态分析(动态分析目前暂时只支持Android)。支持对APK文件、IPA文件以及源码压缩包进行审计分析,可以对Android和iOS的应用进行高效快速的安全分析。MobSF框架还可以通过其API Fuzzer功能模块,对Web API的安全性进行检测,包括收集信息、分析安全头部信息、识别移动API的具体漏洞,如XXE、SSRF、路径遍历,IDOR以及其他的与会话和API调用速率限制有关的逻辑问题等。
运行环境
Python 2.7
Oracle JDK 1.7或以上版本
Oracle VirtualBox
iOS IPA分析(需在 Mac系统上执行)所需命令行工具( Mac系统)Conmand-line tool;
硬件配置:4GB 或以上内存,5G硬盘空间。

最新框架和虚拟机下载地址(2018.7.18)
MobSF最新发布版Github下载地址:MobSF;
MobSF VM 0.2 ova 文件百度网盘可以搜到,1.2G左右


二、MobSF使用

1 配置静态分析器

1.1 解压安装

在搭建好运行环境后,从github上下载最新版MobSF并解压,在解压的文件夹路径下打开命令行,通过pip安装MobSF Python 依赖包,本人为windows系统,命令执行操作如下:

pip install -r requirements.txt

本人电脑python有2.7和3.5两个版本,如果显示The script django-admin.exe is installed in 'e:\python35\Scripts' which is not on PATH. 则说明装到了3.5上,按要求应该装到2.7上,于是输入如下命令:

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

如果pip.exe在脚本目录中不可用,下载及重新安装最新版本的Python2.7。
装完可能会显示newspaper 0.0.9.8 has requirement lxml==3.3.5, but you'll have lxml 4.1.1 which is incompatible. 等,没关系,说明以前装的库所需的库和现在需要的不兼容,以后用到的时候再装就行了。

生成pdf报告

  • 需要单独安装安装wkhtmltopdf二进制文件
  • 在Windows中,需要将包含wkhtmltopdf二进制文件的文件夹添加到环境变量路径中

wkhtmltopdf:下载地址

1.2 运行MobSF

python manage.py runserver

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

python manage.py runserver port_number

如果显示[ERROR] Oracle Java (JDK >=1.7) is not found! (F:\广科院\mobsf\Mobile-Security-Framework-MobSF-0.9.5.5\MobSF\utils.py, LINE 214 "for dirname in os.listdir(WIN_JAVA_BASE):"): [Error 3] : 'C:/Program Files/Java/*.*' ,则说明在该路径下未找到JDK,因为本人将java安装在了E盘而非C盘下。于是进入utils.py中查看214行附近,修改代码如下:

WIN_JAVA_LIST = ["C:/Program Files/Java/",
                             "C:/Program Files (x86)/Java/",
                             "E:/Program Files/Java/"]

如果上述步骤都顺利正常执行的话,那么我们将会看到以下的输出内容,
MobSF安装使用及过程中遇到的错误_第1张图片

1.3 静态分析

打开127.0.0.1:8000 ,显示如下网页:
MobSF安装使用及过程中遇到的错误_第2张图片

随便选择一个apk文件上传,
发现错误
MobSF安装使用及过程中遇到的错误_第3张图片
进入命令行界面发现报错显示You have 16 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): APITester, MobSF, StaticAnalyzer, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.

原因是没有对数据库进行初始化,Django中的数据库未完成迁移。所以,我们要执行如下两条命令完成数据库初始化工作(本人只执行了migrate,也ok):

python manage.py makemigrations 
python manage.py migrate

然后再运行python manage.py runserver,这次终于成功了,界面如下:
MobSF安装使用及过程中遇到的错误_第4张图片
此时,默认只能本地访问网站,如果需要其他人也可以访问,需要指定0.0.0.0这个ip,其他人访问的时候就要输入电脑的ip地址加上端口号8000就可以了。(也可以输入其他端口,更改格式 0.0.0.0:8001)

python manager.py runserver  0.0.0.0:8001

此外,也可以根据MD5查找对应的结果页面,也可以查看最近的扫描结果(Recent Scans)。
静态分析获取的信息

APK基本信息:文件名、文件大小、MD5、SHA-1、SHA-256
APP信息:包名、Main Activity、版本号等
组件:Activity、Service、Broadcast Receiver、Content Provider
证书信息(Signer Certificate)
权限信息
Android API信息
manifest分析(标志位、组件配置等)、代码分析、文件分析
url、email、string等

2 配置动态分析器

配置MobSF VM

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

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

(2)快照 UUID

(3)主机/代理 IP

(4)VM/设备 IP

操作步骤参考官方wiki:
https://github.com/MobSF/Mobile-Security-Framework-MobSF/wiki/1.-Documentation

你可能感兴趣的:(其他)