赞
踩
移动安全框架(MobSF)是一种自动、一体化的移动应用(Android / iOS / Windows)静态和动态分析的测试,恶意软件分析和安全评估框架。
这里只以Windows为例:
JAVA_HOME
环境变量。Genymotion
或者 Android Studio Emulator
git clone https://github.com/MobSF/Mobile-Security-Framework-MobSF.git
cd Mobile-Security-Framework-MobSF
setup.bat
Windows用户在运行setup.bat之前,请关闭所有MobSF打开过的文件夹和用MobSF打开过的文本编辑器。
这些都会因为引起权限错误造成安装中断。
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.
按照报错提示,去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。
支持 x86_x64 体系架构 Android 4.1 - 9.0, 最高支持 API 28
Genymotion是首选的动态分析环境,你可以以最小的损耗来进行设置。 **在启动MobSF之前运行Genymotion Android VM。**所有内容都会在运行时自动配置。我们建议使用Android 7.0及更高版本。
Frida
,开箱即用,无需设置。Xposed Framework
并要求您在首次进行Dynamic Analysis之前先移动运行时。这些版本还要求在安装Xposed模块后重新引导VM。对于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
。
支持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
。
一些示例路径
/Users/<user>/Library/Android/sdk/emulator
/home/<user>/Android/Sdk/emulator
C:\Users\<user>\AppData\Local\Android\Sdk\emulator
$ 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); 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
我们使用tox进行测试。 在 virtualenv 外部安装tox。
pip install tox
用于风格检查
tox -e lint
用于运行风格检查和测试
tox -e lint,test
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
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。