当前位置:   article > 正文

MobSF的安装使用及踩坑指南_mobsf python

mobsf python

简介

移动安全框架(MobSF)是一种自动、一体化的移动应用(Android / iOS / Windows)静态和动态分析的测试,恶意软件分析和安全评估框架。

安装

要求

这里只以Windows为例:

cmd安装
git clone https://github.com/MobSF/Mobile-Security-Framework-MobSF.git
cd Mobile-Security-Framework-MobSF
setup.bat
  • 1
  • 2
  • 3

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 --compile
         cwd: C:\Users\ADMINI~1\AppData\Local\Temp\pip-install-gg4uv3gi\frida\
    Complete output (14 lines):
    running install
    running build
    running build_py
    creating build
    creating build\lib.win32-3.7
    creating build\lib.win32-3.7\frida
    copying frida\core.py -> build\lib.win32-3.7\frida
    copying frida\__init__.py -> build\lib.win32-3.7\frida
    running build_ext
    error: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1076)>
    querying pypi for available prebuilds
    network query failed
    looking for prebuilt extension in home directory, i.e. C:\Users\Administrator/frida-12.6.11-py3.7-win32.egg
    no 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.
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24

报错
按照报错提示,去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注意:文件名不一样,需要改名)下。
f

找不到指定的模块

from _sqlite3 import * ,debug出错信息: ImportError: DLL load failed: 找不到指定的模块。
  • 1

这是因为Anaconda缺少sqlite3.dll
解决方法就是去官网下载一个:https://sqlite.org/download.html
1
然后把压缩包里的sqlite3.defsqlite3.dll,解压到Anaconda3.7安装目录下的DLLs里就可以了。

运行

run.bat
  • 1

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运行时环境。
    1
    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
1

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
  • 1
  • 2
  • 3
  • 4
  • 5

仅支持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
  • 1
  • 2
  • 3
  • 4

执行Android虚拟设备 (AVD)

执行一个 AVD 在启动 MobSF 之前 使用 emulator 命令行参数.

$ emulator -avd <non_production_avd_name> -writable-system -no-snapshot
  • 1

一切都会在运行时自动配置。 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); do
    tar -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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

运行测试

我们使用tox进行测试。 在 virtualenv 外部安装tox。

pip install tox
  • 1

用于风格检查

tox -e lint
  • 1

用于运行风格检查和测试

tox -e lint,test
  • 1

更新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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

如果以上更改均无效,则可能必须再次运行setup.sh或setup.bat,这将删除先前的扫描结果。

参考

https://mobsf.github.io/docs/#/zh-cn/
https://www.yuque.com/cryzlasm/auto/zwhrr5

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/460898
推荐阅读
相关标签
  

闽ICP备14008679号