wKiom1jAvgywIKigAABvPkBboKk823.png-wh_50

项目简介

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

       它可以有效、快速地对应用APK 和IPA文件 及压缩的源代码进行审计分析。同时,MobSF 也能够通过其API Fuzzer功能模块,对 Web API 的安全性进行检测,如收集信息,分析安全头部信息,识别移动API 的具体漏洞,如XXE、×××F、路径遍历,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硬盘空间。

------------------------------------------------------------------------------------------------------------------------

最新框架和虚拟机下载地址(2017.3.9)

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

MobSF VM 0.3 ova 文件百度网盘下载地址:MobSF.VM 。

------------------------------------------------------------------------------------------------------------------------

安装

该框架目前暂时只于Windows 7, 8, 8.1, 10, Ubuntu(14.04),Kali(2016.2) OSX(Mavericks, Yosemite, El Capitan, Sierra)等系统平台上进行测试。(本文在基于64位的Centos7虚拟机上进行安装,也可以根据实际情况在实体机上安装。)

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

------------------------------------------------------------------------------------------------------------------------

安装过程

  1. 安装centos7虚拟机,选择安装GNOME桌面(MobSF安装完成后需要在浏览器中呈现测试效果),安装完成后重启进入桌面系统。

  2. 查看是否安装Python2.7和JDK1.7或以上版本,若位安装则从上边的地址下载响应版本进行安装。

配置静态分析器

      进入MobSF解压后的文件夹,默认放在了/home/[username]/MobSF(不然会提示找不到requirements.txt文件)通过pip安装MobSF Python 依赖包,执行

pip install -r requirements.txt

------------------------------------------------------------------------------------------------------------------------

问题来了:

坑NO.1:提示缺少/找不到pip命令。

现在如果直接用yum安装pip,可能会出现一下错误,说没有python-pip软件包可以安装。

No package python-pip available.
Error: Nothing to do

这是因为像centos这类衍生出来的发行版,他们的源有时候内容更新的比较滞后,或者说有时候一些扩展的源根本就没有。所以在使用yum来search  python-pip的时候,会说没有找到该软件包。因此为了能够安装这些包,需要先安装扩展源EPEL。

sudo yum -y install epel-release

然后再安装pip

sudo yum -y install python-pip

坑No.2:超时错误

再次执行 pip install -r requirements.txt ,提示超时

ReadTimeoutError: HTTPSConnectionPool(host='pypi.python.org', port=443): Read timed out.

设置超时时间

pip --default-timeout=100 install -U Pillow

更改python  pip默认镜像源(本文中改为中国科学技术大学源,也可以自行搜索一下其他的源进行更改)。直接跟上pypi.mirrors.ustc.edu.cn源地址后提示源不可信,无法执行命令。所以要设置--trusted-host参数,设置为可信源。最终执行的命令如下:


pip install -r requirements.txt   --trusted-host pypi.mirrors.ustc.edu.cn

 坑No.3:GCC命令执行失败

error: command 'gcc' failed with exit status 1

  安装 yum install gcc 还不不得行,发现已经安装了gcc的,提示是failed而不是not found,这说明这个错误应该是缺少某些功能模块。

执行

yum install python-devel  openssl-devel

然后再次执行

pip install -r requirements.txt   --trusted-host pypi.mirrors.ustc.edu.cn

终于提示Successfully,至此静态分析器已经配置完成

Successfully installed configparser-3.5.0 cryptography-1.7.2 pdfkit-0.6.1 pyOpenSSL-16.2.0 rsa-3.4.2

------------------------------------------------------------------------------------------------------------------------

运行MobSF

 在本地运行程序,默认访问端口是8000

python manage.py runserver

wKiom1jAvcjxL6wyAAB4yDmBCsk293.png-wh_50

打开http://127.0.0.1:8000端口查看,按Ctrl+C退出程序。

wKiom1jAvq6SileBAAGWX6t9DEI673.png-wh_50

可以上传apk文件进行静态分析,静态分析功能可以正常使用。

wKiom1jAvxjSGmBIAAGvFN4bpCs468.png-wh_50

此时,默认只能本地访问网站,如果需要其他人也可以访问,需要指定0.0.0.0这个ip,其他人访问的时候就要输入电脑的ip地址加上端口号8000就可以了。(也可以输入其他端口,更改格式 0.0.0.0:8001)

python manager.py runserver  0.0.0.0:8001

------------------------------------------------------------------------------------------------------------------------

后记:本文粗略整理了安装MobSF静态分析器过程中常见问题与解决办法,如有错误或不尽之处请留言,谢谢。

------------------------------------------------------------------------------------------------------------------------