MobSF移动安全扫描平台本地化部署「本地部署方案」

背景:

最近,在我们的Android应用上线Google Play Store过程中,我们遭遇了一个棘手的问题:Google的检测系统发现了一个安全警告。这个突如其来的问题使我们的整个项目组投入了两天时间来紧急排查,期间我们经历了错综复杂的调试和验证过程。此次经历促使我们决定,在测试阶段就要更加仔细地检测潜在的安全问题,以确保此类事件不再发生。

书接上文

上文描述中,写到docker安装无法进行动态扫描的体验。因此在第二篇文章中也会实时记录我在进行本地部署时遇到的一系列问题。

本地化部署

clone项目

执行命令将代码clone到本地

bash 复制代码
git clone https://github.com/MobSF/Mobile-Security-Framework-MobSF.git

遇到的问题:

频繁报错以下内容

vbnet 复制代码
MacBook-Pro% git clone https://github.com/MobSF/Mobile-Security-Framework-MobSF.git

Cloning into 'Mobile-Security-Framework-MobSF'...

remote: Enumerating objects: 20994, done.

remote: Counting objects: 100% (15/15), done.

remote: Compressing objects: 100% (15/15), done.

error: RPC failed; curl 92 HTTP/2 stream 5 was not closed cleanly: CANCEL (err 8)

error: 4891 bytes of body are still expected

fetch-pack: unexpected disconnect while reading sideband packet

fatal: early EOF

fatal: fetch-pack: invalid index-pack output

查询报错内容后得出几个解决方案,我采用的是逐步获取更改,也就是方案六解决的,大伙更熟悉的可以采用自己的解决方案:

  1. 更换网络协议: 如果你使用的是HTTPS来克隆或获取,尝试切换到SSH(或相反)。有些时候,网络设置对不同的协议影响不同。
  2. 增大Git的HTTP缓存早前的HTTP缓存扩展建议也适用于此问题。
  3. 升级Git和Curl: 如果你使用的是较旧版本的Git或Curl,尝试升级到最新版本。某些问题可能是因为旧版本的软件缺陷导致的。
  4. 减少克隆深度: 尝试使用带--depth参数的浅克隆,这会减少你需要下载的数据量:
bash 复制代码
git clone --depth 1 https://github.com/MobSF/Mobile-Security-Framework-MobSF.git
  1. 逐步获取更改: 如果遇到问题的仓库特别大,可以分步来获取更新:
sql 复制代码
git fetch --depth 10

安装依赖

执行命令

arduino 复制代码
sh setup.sh

成功截图如下:

启动服务

windowns环境

arduino 复制代码
run.bat 127.0.0.1:8001

Linux&MacOS环境

arduino 复制代码
sh run.sh 127.0.0.1:8001

成功运行的截图如下:

访问服务

打开浏览器访问http://localhost:8001/可以看到如下页面:

体验动态扫描

在我尝试用我的真机进入服务准备体验时,发现平台报错:

发现服务报错

排查错误

进入Issues中查看同样错误描述

如同样问题链接的:github.com/MobSF/Mobil...

但是多个方向均指向,要我去使用 Slack 频道获取支持

好我先抛出问题看看有没有热心肠能回我一句

  • 怀疑可能是因为设备没有Root导致

因为我以前听说过他们做安全测试的,大多数都会用Root设备或者模拟器来高一些动态测试。因此,我先是尝试了我手里可以真正连接的一批真实手机,无果。因此采用Mumu模拟器「别问,问就是只有他支持Mac」,但是模拟器因为它的API太高,也不会手动设置Mumu的API,因此卸载掉。之后想起来AndroidStudio可以有模拟器,好进行尝试。

  • 模拟器的尝试

在这里最开始采用的是API=28的一些手机,如下图:

但是我在使用模拟器的时候仍然遇到了新的报错:

好吧,看到报错大概能分析出来这个手机的系统的AVD不支持,然后他让我去阅读MobSF的文档,咱也不继续犟嘴了,不行就是不行,这就去看文档。 文档地址:mobsf.github.io/docs/#/mobs...

拆解文档内容

好吧,在文档中描述,确实是可以看到人家开发者在文档里明确说明了这句话 在运行 MobSF 之前,您必须运行任何[受支持的]VM/Android Studio 模拟器。在继续之前请阅读[本文]。

文档地址:mobsf.github.io/docs/#/mobs...

下载文档推荐的模拟器

在这里我下载的是跟文档描述一致的Nexus_One_API_28

使用模拟器从命令行运行 AVD

将 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)

erlang 复制代码
MacBook-Pro emulator % emulator -list-avds

Nexus_One_API_28

Pixel_API_28

运行 Android 虚拟设备 (AVD)

在使用命令行选项启动 MobSF 之前运行 AVD 。

perl 复制代码
emulator -avd Nexus_One_API_28 -writable-system -no-snapshot

大功告成!

相关推荐
夜月yeyue17 分钟前
SOME/IP 服务模型
linux·服务器·单片机·安全·车载系统
夜月yeyue24 分钟前
SOME/IP-SD 服务发现故障
网络·单片机·网络协议·tcp/ip·安全·服务发现
txg66638 分钟前
LLM 驱动漏洞传播验证:TransferFuzz-Pro 如何自动调试“继承“来的安全债
人工智能·深度学习·安全
戴西软件1 小时前
国内有哪些数据轻量化格式转换软件?
数据库·算法·安全·信息可视化·自动化·rpa
数字护盾(和中)1 小时前
和中科技剖析 EDR 绕过全链路,AMSI、ETW 规避技术与防御对策
运维·网络·人工智能·科技·安全·web安全
灰灰20262 小时前
GitHub 国内下载加速工具合集
github·github下载加速
m4Rk_2 小时前
【论文阅读】Agent 记忆机制(50):PACE——按下一步预测价值动态分配历史记忆粒度
论文阅读·人工智能·学习·开源·github
网安蟹佬霸3 小时前
区块链与智能合约安全实战:从Solidity审计到DeFi漏洞深度剖析
运维·前端·网络·安全·自动化·区块链·智能合约
中科三方5 小时前
DNS解析中的“委派“是什么意思?如何正确配置NS记录?
git·github·dns解析
sungtv5 小时前
电力变电站项目安全生产动画怎么做更贴合现场
安全·安全生产动画