赞
踩
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左右
在搭建好运行环境后,从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:下载地址
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/"]
如果上述步骤都顺利正常执行的话,那么我们将会看到以下的输出内容,
打开127.0.0.1:8000 ,显示如下网页:
随便选择一个apk文件上传,
发现错误
进入命令行界面发现报错显示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
,这次终于成功了,界面如下:
此时,默认只能本地访问网站,如果需要其他人也可以访问,需要指定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等
配置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
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。