MobSF的安装使用及踩坑指南
简介
移动安全框架(MobSF)是一种自动、一体化的移动应用(Android / iOS / Windows)静态和动态分析的测试,恶意软件分析和安全评估框架。
安装
要求
这里只以Windows为例:
- 安装 Git
- 安装 Python 3.7
- 安装 JDK 8+设置
JAVA_HOME
环境变量。 - 安装 Microsoft Visual C++ Build Tools
- 安装 OpenSSL,无需修改默认安装目录。
- 下载和安装 wkhtmltopdf as per the WIKI操作指南
- 将包含 wkhtmltopdf 二进制文件的文件夹添加到环境变量PATH
- 安装
Genymotion
或者Android Studio Emulator
cmd安装
git clone https://github.com/MobSF/Mobile-Security-Framework-MobSF.git
cd Mobile-Security-Framework-MobSF
setup.bat
Windows用户在运行setup.bat之前,请关闭所有MobSF打开过的文件夹和用MobSF打开过的文本编辑器。
这些都会因为引起权限错误造成安装中断。
解决Frida安装失败
ERROR: Command errored out with exit status 1:command: 'd:\python\python37\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\pip-install-gg4uv3gi\\frida\\setup.py'"'"'; __file__='"'"'C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\pip-i
nstall-gg4uv3gi\\frida\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\ADMINI~1\AppData\Local\Temp\p
ip-record-5dksyuij\install-record.txt' --single-version-externally-managed --compilecwd: C:\Users\ADMINI~1\AppData\Local\Temp\pip-install-gg4uv3gi\frida\Complete output (14 lines):running installrunning buildrunning build_pycreating buildcreating build\lib.win32-3.7creating build\lib.win32-3.7\fridacopying frida\core.py -> build\lib.win32-3.7\fridacopying frida\__init__.py -> build\lib.win32-3.7\fridarunning build_exterror: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1076)>querying pypi for available prebuildsnetwork query failedlooking for prebuilt extension in home directory, i.e. C:\Users\Administrator/frida-12.6.11-py3.7-win32.eggno prebuilt extension found in home directory----------------------------------------
ERROR: Command errored out with exit status 1: 'd:\python\python37\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\pip-install-gg4uv3gi\\frida\\setup.py'"'"'; __file__='"'"'C:\\Users\\ADMI
NI~1\\AppData\\Local\\Temp\\pip-install-gg4uv3gi\\frida\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Us
ers\ADMINI~1\AppData\Local\Temp\pip-record-5dksyuij\install-record.txt' --single-version-externally-managed --compile Check the logs for full command output.
按照报错提示,去https://pypi.org/project/frida/#files下载frida-12.10.4-py3.8-win-amd64.egg ,并拷贝到提示的目录(C:\Users\Administrator/frida-12.6.11-py3.7-win32.egg
,注意:文件名不一样,需要改名)下。
找不到指定的模块
from _sqlite3 import * ,debug出错信息: ImportError: DLL load failed: 找不到指定的模块。
这是因为Anaconda缺少sqlite3.dll
。
解决方法就是去官网下载一个:https://sqlite.org/download.html
然后把压缩包里的sqlite3.def
和sqlite3.dll
,解压到Anaconda3.7安装目录下的DLLs
里就可以了。
运行
run.bat
MobSF默认情况下绑定到 0.0.0.0:8000
。 您可以在 run.sh
或 run.bat
中更改IP或端口。 在您的Web浏览器中,跳转到 http://localhost:8000/
以访问 MobSF Web界面。
配置动态分析
可以使用真实的移动设备进行动态分析,但我们不支持。如果您需要动态分析,请不要在Docker或虚拟机中设置MobSF。
Genymotion Android x86_x64
支持 x86_x64 体系架构 Android 4.1 - 9.0, 最高支持 API 28
Genymotion是首选的动态分析环境,你可以以最小的损耗来进行设置。 **在启动MobSF之前运行Genymotion Android VM。**所有内容都会在运行时自动配置。我们建议使用Android 7.0及更高版本。
- Android 5.0-9.0 -这些版本使用
Frida
,开箱即用,无需设置。 - Android 4.1 - 4.4 - 这些版本使用
Xposed Framework
并要求您在首次进行Dynamic Analysis之前先移动运行时。这些版本还要求在安装Xposed模块后重新引导VM。
单击动态分析器页面中的 MobSFy Android Runtime 按钮以分析 Android运行时环境。
HTTPS 代理
对于Android版本 4.4 - 9.0, 全局代理设置自动应用于运行时
对于Android版本 4.1 - 4.3, 设置“动态分析器”页面中显示的Android VM代理。
如果Dynamic Analyzer无法检测到您的android设备,则需要在 MobSF/settings.py 中手动配置 ANALYZER_IDENTIFIER
。
示例: ANALYZER_IDENTIFIER = '192.168.56.101:5555'
. 你可以从Genymotion标题栏中找到Android设备IP,默认端口为5555
。
Android Studio 模拟器
支持arm,arm64和x86架构 Android 5.0 - 9.0, 最高 API 28
带有Google Play商店的Android模拟器映像被视为正式映像,你不能在MobSF中使用它。 在没有Google Play商店的情况下创建一个Android虚拟设备(AVD)。不要从Android Studio启动AVD,而应使用“emulator”命令行选项用以可写入的方式启动。
为此,将您的Android SDK仿真器目录添加到PATH
。
一些示例路径
- Mac -
/Users/<user>/Library/Android/sdk/emulator
- Linux -
/home/<user>/Android/Sdk/emulator
- Windows -
C:\Users\<user>\AppData\Local\Android\Sdk\emulator
列出可用的Android虚拟设备(AVD)
$ emulator -list-avds
Pixel_2_API_29
Pixel_3_API_28
Pixel_XL_API_24
Pixel_XL_API_25
仅支持API 28以下的Android图像!!
设置 ADB_BINARY 路径在 MobSF/settings.py.
确保您使用的是Android Studio附带的adb二进制文件。如果使用其他版本,则可能会导致冲突并在尝试动态分析时引入问题。
一些示例位置
ADB_BINARY = '/Users/<user>/Library/Android/sdk/platform-tools/adb' # Mac
ADB_BINARY = '/home/<user>/Android/Sdk/platform-tools/adb' # Linux
ADB_BINARY = 'C:\\Users\\<user>\\AppData\\Local\\Android\\Sdk\\platform-tools\\adb.exe' # Windows
ADB_BINARY = 'C:/Users/<user>/AppData/Local/Android/sdk/platform-tools/adb.exe' # Windows
执行Android虚拟设备 (AVD)
执行一个 AVD 在启动 MobSF 之前 使用 emulator 命令行参数.
$ emulator -avd <non_production_avd_name> -writable-system -no-snapshot
一切都会在运行时自动配置。 MobSF需要AVD版本5.0到9.0进行动态分析。我们建议使用Android 7.0及更高版本。
HTTPS 代理
对于Android版本5.0-9.0,全局代理设置会在运行时自动应用。
GApps 在 AVD (可选)
如果需要GApp,请从https://opengapps.org/查找合适的软件包
unzip open_gapps-<your-version>.zip 'Core/*'
rm Core/setup*
lzip -d Core/*.lz
for f in $(ls Core/*.tar); dotar -x --strip-components 2 -f $f
done
adb remount
adb push etc /system
adb push framework /system
adb push app /system
adb push priv-app /system
adb shell stop
adb shell start
运行测试
我们使用tox进行测试。 在 virtualenv 外部安装tox。
pip install tox
用于风格检查
tox -e lint
用于运行风格检查和测试
tox -e lint,test
更新MobSF
cd Mobile-Security-Framework-MobSF/
git pull origin master
.\venv\Scripts\activate
pip install --no-cache-dir -r requirements.txt
python manage.py makemigrations
python manage.py makemigrations StaticAnalyzer
python manage.py migrate
deactivate
如果以上更改均无效,则可能必须再次运行setup.sh或setup.bat,这将删除先前的扫描结果。
参考
https://mobsf.github.io/docs/#/zh-cn/
https://www.yuque.com/cryzlasm/auto/zwhrr5
MobSF的安装使用及踩坑指南相关推荐
- openssl开发库安装时的踩坑指南
序 前几天用linux编译一个提权脚本的时候报错 openssl/opensslv.h: 没有那个文件或目录 的问题 无论如何也解决不了,这下我记录一个踩坑指南防止下一个人掉进坑里 操作 总体介绍 首 ...
- 安装 JupyterHub 踩坑指南 —— 如何通过 JupyterHub 实现多用户管理
安装 JupyterHub 踩坑指南 JupyterHub 简介 Jupyter Notebook and JupyterLab Jupyter Notebook 简介 JupyterLab 简介 安 ...
- pytorch .item_从数据到模型,你可能需要1篇详实的pytorch踩坑指南
原创 · 作者 | Giant 学校 | 浙江大学 研究方向 | 对话系统.text2sql 熟悉DL的朋友应该知道Tensorflow.Pytorch.Caffe这些成熟的框架,它们让广大AI爱好者 ...
- Git Commit Message校验踩坑指南
背景 在团队多人开发中,规范的commit message可以快速定位代码提交历史,回溯问题根源,方便组内多人协作,提高团队效率. 本篇文章主要包含以下两方面内容: commitizen/cz-cli ...
- 阿里云天池【Docker练习场】踩坑指南
阿里云天池[Docker练习场]踩坑指南 题目直达 提交环境搭建(基于macOS) Docker的安装与基本功能使用 Docker安装过程遇到的小问题 提交结果注意事项 提交时的镜像配置 项目结构规范 ...
- android手机屏幕共享神器踩坑指南
开源项目地址:https://github.com/Genymobile/scrcpy scrcpy,由 Genymobile 推出的可跨平台的.可自定义码率的.开源的屏幕共享工具.它提供了在 USB ...
- Android applink 踩坑指南
Android applink 踩坑指南 原理 接入步骤 将链接与activity关联起来 加入meta data 生成身份验证JSON 真机测试 结论 官方文档 原理 与url scheme不同的地 ...
- Manjaro KDE 18.1.2踩坑指南(含双显卡黑屏解决方案)
Manjaro KDE 18.1.3踩坑指南(含双显卡黑屏解决方案) 一.前言 用了win10那么久,对于windows环境特别厌恶,处处商业化严重的软件及广告,还有杀不完的病毒,更不完的新,感觉电脑 ...
- windows系统安装docker版本davinci达芬奇踩坑指南
本文讲解windows系统如何安装docker版开源软件davinci(数据可视化web服务),并指出一系列的踩坑指南. 达芬奇github地址 https://github.com/edp963 ...
最新文章
- 滴滴开源在2019:十大重点项目盘点,DoKit客户端研发助手首破1万Star
- python 模板匹配对比
- Debian 光盘安装简易教程
- schema约束文档与xml文件详解
- LeetCode 984. 不含 AAA 或 BBB 的字符串(贪心)
- 他演绎了真正的“寒门逆袭”:从贫苦农村到顶级科学家,如今站在世界之巅,为祖国争光!...
- __name__ == '__main__'
- [原创] ASP.NET 应用程序中使用定时器
- Spring Boot干货系列:数据存储篇-SQL关系型数据库之MyBatis的使用
- C++并发编程 (1) 基本知识
- android新运行时权限
- Spark SQL External DataSource外部数据源
- 中原证券同花顺个股期权全真模拟交易客户端
- Cisco路由器密码重置
- 【观察】并购魔方安全,联软科技再启新征程
- Android 如何OTG 鼠标,otg键盘和鼠标映射软件v5.2.0 Android版
- 决策树ID3简单实现
- HDU 4069 Squiggly Sudoku DLX 精确覆盖
- svg制作动态闪光文字
- C++|作业训练-虚函数