项目简介
移动安全框架 (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。
------------------------------------------------------------------------------------------------------------------------
安装过程
安装centos7虚拟机,选择安装GNOME桌面(MobSF安装完成后需要在浏览器中呈现测试效果),安装完成后重启进入桌面系统。
查看是否安装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
打开http://127.0.0.1:8000端口查看,按Ctrl+C退出程序。
可以上传apk文件进行静态分析,静态分析功能可以正常使用。
此时,默认只能本地访问网站,如果需要其他人也可以访问,需要指定0.0.0.0这个ip,其他人访问的时候就要输入电脑的ip地址加上端口号8000就可以了。(也可以输入其他端口,更改格式 0.0.0.0:8001)
python manager.py runserver 0.0.0.0:8001
------------------------------------------------------------------------------------------------------------------------
后记:本文粗略整理了安装MobSF静态分析器过程中常见问题与解决办法,如有错误或不尽之处请留言,谢谢。
------------------------------------------------------------------------------------------------------------------------