简介

移动安全框架(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.defsqlite3.dll,解压到Anaconda3.7安装目录下的DLLs里就可以了。

运行

run.bat

MobSF默认情况下绑定到 0.0.0.0:8000。 您可以在 run.shrun.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的安装使用及踩坑指南相关推荐

  1. openssl开发库安装时的踩坑指南

    序 前几天用linux编译一个提权脚本的时候报错 openssl/opensslv.h: 没有那个文件或目录 的问题 无论如何也解决不了,这下我记录一个踩坑指南防止下一个人掉进坑里 操作 总体介绍 首 ...

  2. 安装 JupyterHub 踩坑指南 —— 如何通过 JupyterHub 实现多用户管理

    安装 JupyterHub 踩坑指南 JupyterHub 简介 Jupyter Notebook and JupyterLab Jupyter Notebook 简介 JupyterLab 简介 安 ...

  3. pytorch .item_从数据到模型,你可能需要1篇详实的pytorch踩坑指南

    原创 · 作者 | Giant 学校 | 浙江大学 研究方向 | 对话系统.text2sql 熟悉DL的朋友应该知道Tensorflow.Pytorch.Caffe这些成熟的框架,它们让广大AI爱好者 ...

  4. Git Commit Message校验踩坑指南

    背景 在团队多人开发中,规范的commit message可以快速定位代码提交历史,回溯问题根源,方便组内多人协作,提高团队效率. 本篇文章主要包含以下两方面内容: commitizen/cz-cli ...

  5. 阿里云天池【Docker练习场】踩坑指南

    阿里云天池[Docker练习场]踩坑指南 题目直达 提交环境搭建(基于macOS) Docker的安装与基本功能使用 Docker安装过程遇到的小问题 提交结果注意事项 提交时的镜像配置 项目结构规范 ...

  6. android手机屏幕共享神器踩坑指南

    开源项目地址:https://github.com/Genymobile/scrcpy scrcpy,由 Genymobile 推出的可跨平台的.可自定义码率的.开源的屏幕共享工具.它提供了在 USB ...

  7. Android applink 踩坑指南

    Android applink 踩坑指南 原理 接入步骤 将链接与activity关联起来 加入meta data 生成身份验证JSON 真机测试 结论 官方文档 原理 与url scheme不同的地 ...

  8. Manjaro KDE 18.1.2踩坑指南(含双显卡黑屏解决方案)

    Manjaro KDE 18.1.3踩坑指南(含双显卡黑屏解决方案) 一.前言 用了win10那么久,对于windows环境特别厌恶,处处商业化严重的软件及广告,还有杀不完的病毒,更不完的新,感觉电脑 ...

  9. windows系统安装docker版本davinci达芬奇踩坑指南

    本文讲解windows系统如何安装docker版开源软件davinci(数据可视化web服务),并指出一系列的踩坑指南. 达芬奇github地址   https://github.com/edp963 ...

最新文章

  1. 滴滴开源在2019:十大重点项目盘点,DoKit客户端研发助手首破1万Star
  2. python 模板匹配对比
  3. Debian 光盘安装简易教程
  4. schema约束文档与xml文件详解
  5. LeetCode 984. 不含 AAA 或 BBB 的字符串(贪心)
  6. 他演绎了真正的“寒门逆袭”:从贫苦农村到顶级科学家,如今站在世界之巅,为祖国争光!...
  7. __name__ == '__main__'
  8. [原创] ASP.NET 应用程序中使用定时器
  9. Spring Boot干货系列:数据存储篇-SQL关系型数据库之MyBatis的使用
  10. C++并发编程 (1) 基本知识
  11. android新运行时权限
  12. Spark SQL External DataSource外部数据源
  13. 中原证券同花顺个股期权全真模拟交易客户端
  14. Cisco路由器密码重置
  15. 【观察】并购魔方安全,联软科技再启新征程
  16. Android 如何OTG 鼠标,otg键盘和鼠标映射软件v5.2.0 Android版
  17. 决策树ID3简单实现
  18. HDU 4069 Squiggly Sudoku DLX 精确覆盖
  19. svg制作动态闪光文字
  20. C++|作业训练-虚函数

热门文章

  1. 谷歌浏览器chrome怎么设置成中文
  2. .net 连接ORACLE中文显示乱码解决方案
  3. 用JS描述的数据结构及算法表示——栈和队列(基础版)
  4. oracle 使用 mybatis select in 10000问题怎么解决
  5. Spark RDD算子(八)mapPartitions, mapPartitionsWithIndex
  6. 什么!?改BUG最牛的人竟然是一位皇帝!!集合前来觐见!
  7. Google Maps API –地图类型示例
  8. Android 反编译apk文件
  9. android多点触控的使用
  10. 前进永无止境!Pipeline更新又双叒叕来了!