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
-
首先创建一个模拟器,可以参考创建AVD创建需要注意使用支持x86 cpu的版本,不然会报错不兼容,不要问我怎么知道的,建议使用Nexus5X
-
使用命令启动
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服务器。