更新于 

Mac配置MobSF

0x01 环境配置

安装步骤

1. 使用Docker容器(推荐)

MobSF官方提供了Docker镜像,这是最简单且易于管理的启动方式。如果您已经安装了Docker,可以按照以下步骤操作:
Bash

# 拉取最新的MobSF Docker镜像
docker pull opensecurity/mobile-security-framework-mobsf:latest
# 启动MobSF容器,将主机的8000端口映射到容器内的同端口
docker run -it --rm -p 8000:8000 opensecurity/mobile-security-framework-mobsf:latest
docker run -d -p 8000:8000 -e MOBSF_ANALYZER_IDENTIFIER=emulator-5554 opensecurity/mobile-security-framework-mobsf
# 如果需要持久化数据,可以挂载本地目录到容器内指定位置(例如:-v /path/to/local/data:/root/.mobsf)

启动完成后,您可以通过访问http://localhost:8000(如果是在本地运行)或相应服务器的IP地址(如http://<server_ip>:8000)来访问MobSF的Web界面。

2. 本地手动安装(适用于有一定经验的用户)

如果您选择在本地系统上直接安装MobSF,通常包括以下步骤:

  • 环境准备: 确保您的系统已安装Python 3.x(推荐3.8及以上版本)以及其他依赖项。根据官方文档,可能还需要安装特定版本的Node.js和npm。

  • 下载源代码: 从GitHub克隆MobSF的最新代码库:

    Bash

    git clone https://github.com/MobSF/Mobile-Security-Framework-MobSF.git
    cd Mobile-Security-Framework-MobSF
  • 安装依赖: 在项目根目录下,根据README或INSTALLATION文档中的指引,使用pip安装Python依赖包:

    Bash

    pip install -r requirements.txt
  • 配置与启动: 根据项目文档,可能需要进行一些基本配置。然后启动MobSF服务:

    Bash

    python manage.py runserver 0.0.0.0:8000

    如果一切顺利,MobSF服务现在应该已经在本地的8000端口运行,可以通过http://localhost:8000访问。

0x02 功能测试

静态分析


服务启动正常!

测试访问正常,上传apk进行测试


可以查看这些信息,功能还是比较强大的!

动态分析(如果您使用MobSF docker容器或在虚拟机中设置MobSF,动态分析将无法工作。)

动态分析需要用到模拟器,这里获取模拟器有三种方式,其中Genymotion Android 和
Genymotion Cloud Android 需要收费,就先研究一下 Android Studio Emulator

Android Studio Emulator

  1. 首先创建一个模拟器,可以参考创建AVD创建需要注意使用支持x86 cpu的版本,不然会报错不兼容,不要问我怎么知道的,建议使用Nexus5X

  2. 使用命令启动

emulator -list-avds
   emulator -avd <non_production_avd_name> -writable-system -no-snapshot
   emulator -avd Pixel_4_API_28 -netdelay none -netspeed full

如果正常启跳过以下部分,没有的话请看:

报错提示:

    [140704405821056]:ERROR:android/android-emu/android/qt/qt_setup.cpp:28:Qt library not found at ../emulator/lib64/qt/lib
Could not launch '/Users/spider/../emulator/qemu/darwin-x86_64/qemu-system-i386': No such file or directory

1) .这是因为我们用的emulator是系统提供的,而不是AndroidSdk中的需要替换为SDK中的就可以了
2) .在Android官网上不是用的-writable-system -no-snapshot,而是-netdelay none -netspeed full ,启动正常

mac下为了方便,需要修改环境变量,添加

export PATH=$PATH:$ANDROID_HOME/emulator

接着在运行

emulator -avd Pixel_4_API_28 -netdelay none -netspeed full

应该就把Android模拟器配置好了!

emulator -avd Nexus_5X_API_27 -netdelay none -netspeed full

配置好了之后,点击

Start Dynamic Analysis

发现启动失败了

查看MobSF提示

MobSFying Android Runtime
Command '['/usr/local/Caskroom/android-platform-tools/34.0.0/platform-tools/adb', '-s', 'emulator-5554', 'root']' returned non-zero exit status 1.

按照官网文档修改 root/.MobSF/config.py 文件,添加adb 路径 之后进行重启测试

发现失败了并且报错

接下来分析错误信息,可以看到无法获取root权限,查看官网

其中又说到 如果您需要使用提升权限 (root) 来帮助您排查应用问题,您可以使用不包含 Google 应用或服务的 Android 开源项目 (AOSP) 系统映像。然后,您可以使用 adb root 和 adb unroot 命令在普通权限和提升权限之间切换,那么我们重新创建一个不包含googlePlay的服务就可以root了

安装后 使用adb root
需要注意的是获取root权限可能会导致系统的不稳定或者安全性问题,因此在使用AVD设备进行动态分析时,建议仅在必要时获取root权限,并在操作完成后立即撤销root权限

发现没有报错了,正常下载frida-server
提示成功地创建了MobSF动态分析环境。安装了MobSF代理和Frida服务器。

0x03 QA总结

0x04 参考link

官方文档
AVD