在群晖上搭建MobSF静态分析器

简介

移动 APP 提交到应用商店之前,开发者可以使用 MobSF 进行自测,确保应用符合安全标准,从而减少被拒绝上架的风险。

什么是 MobSF ?

移动安全框架 (MobSF) 是一个针对 AndroidiOSWindows Mobile 移动应用程序的安全研究平台。MobSF 可用于各种用例,例如移动应用程序安全、渗透测试、恶意软件分析和隐私分析。静态分析器支持流行的移动应用程序二进制文件,如 APKIPAAPPX 和源代码。同时,动态分析器支持 AndroidiOS 应用程序,并提供一个用于交互式仪表测试、运行时数据和网络流量分析的平台。MobSF 与您的 DevSecOpsCI/CD 管道无缝集成,由 REST APICLI 工具提供支持,轻松增强您的安全工作流程。

MobSF 主要用于:

  1. 渗透测试:帮助安全专家测试移动应用的安全性。
  2. 恶意软件分析:分析移动应用中可能存在的恶意代码。
  3. 隐私风险管理:分析应用收集的数据、权限请求和敏感数据泄露,帮助开发者管理隐私风险。
  4. 安全评估:评估应用的安全性,识别潜在漏洞。

主要功能:

  • 静态分析:支持 APKIPAAPPX 等二进制文件的静态分析。
  • 动态分析:提供对 AndroidiOS 应用的动态测试环境,支持运行时数据和网络流量分析。
  • 集成:可以与 DevSecOpsCI/CD 流程无缝集成,支持 REST API 和命令行工具。

MobSF 是开源的,使用者可以通过 Docker 等方式快速设置和使用。

安装

在群晖上以 Docker 方式安装。

动态分析和静态分析在参数设置上存在差异,本文为静态分析方式,如果你想搭建动态分析,请参考官方文档自行搭建

在注册表中搜索 mobile-security-framework-mobsf ,选择第一个 opensecurity/mobile-security-framework-mobsf,版本选择 latest

本文写作时, latest 版本对应为 v4.1.3

docker 文件夹中,创建一个新文件夹 mobsf,并在其中建一个子文件夹 data,并需要给 data 目录赋予  Everyone  读写权限

文件夹 装载路径 说明
docker/mobsf/data /home/mobsf/.MobSF 存放数据库、日志等

端口

本地端口不冲突就行,不确定的话可以用命令查一下

1
2
# 查看端口占用
netstat -tunlp | grep 端口号
本地端口 容器端口
8037 8000

默认暴露了 2 个端口

其中 1337 好像是动态分析才有用,所以可以删了

环境

可变
MOBSF_DISABLE_AUTHENTICATION 设为 1,禁用 MobSF 中的身份验证和授权

这个参数不是必须的,设置了就不需要登录验证了

命令行安装

如果你熟悉命令行,可能用 docker cli 更快捷

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# 下载镜像最新镜像(v4.1.3)
docker pull opensecurity/mobile-security-framework-mobsf:latest

# 新建文件夹 mobsf 和 子目录
mkdir -p /volume1/docker/mobsf/data

# 进入 mobsf 目录
cd /volume1/docker/mobsf

# 修改目录权限
chmod a+rw data

# 运行容器(静态分析)
docker run -d \
--restart unless-stopped \
--name mobsf \
-p 8037:8000 \
-v $(pwd)/data:/home/mobsf/.MobSF \
-e MOBSF_DISABLE_AUTHENTICATION=1 \
opensecurity/mobile-security-framework-mobsf:latest

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

1
2
3
4
5
6
7
8
9
10
11
12
13
version: '3'

services:
mobsf:
image: opensecurity/mobile-security-framework-mobsf:latest
container_name: mobsf
restart: unless-stopped
ports:
- "8037:8000"
volumes:
- ./data:/home/mobsf/.MobSF
environment:
- MOBSF_DISABLE_AUTHENTICATION=1

然后执行下面的命令

1
2
3
4
5
6
7
8
9
10
11
12
13
# 新建文件夹 mobsf 和 子目录
mkdir -p /volume1/docker/mobsf/data

# 进入 mobsf 目录
cd /volume1/docker/mobsf

# 修改目录权限
chmod a+rw data

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:8037 ,如果没有设置 OBSF_DISABLE_AUTHENTICATION=1,应该会看到登录界面

默认的账号/密码:mobsf/mobsf

登录成功后的主界面

点中间的 Upload & Analyze 上传 apk 或者 ipa 文件,上传完成后会自动开始分析

分析完成后,会跳转到详细的分析页面

左侧菜单 PDF Report 能下载 pdf 版的测试报告

参考文档

MobSF/Mobile-Security-Framework-MobSF: Mobile Security Framework (MobSF) is an automated, all-in-one mobile application (Android/iOS/Windows) pen-testing, malware analysis and security assessment framework capable of performing static and dynamic analysis.
地址:https://github.com/MobSF/Mobile-Security-Framework-MobSF

OpenSecurity - Application Security, Security Engineering, Pentest, Code Review, Security Training, and Research | Bangalore, Vancouver
地址:https://opensecurity.in/

Getting Started
地址:https://mobsf.github.io/docs/#/