MobSF安装搭建及踩坑

Milktea 发布于 2024-12-24 213 次阅读 1699 字 最后更新于 2024-12-24


Mobile Security Framework,是一个自动化的安全测试框架,专门用于检测移动应用程序(包括 Android、iOS 和 Windows 平台)的安全漏洞。它是一个开源工具,旨在帮助安全研究人员和开发人员在应用程序发布之前发现潜在的安全问题。MOBSF 提供了一系列的安全测试功能,包括但不限于:

  1. 静态分析:对应用程序的源代码或编译后的文件进行分析,以发现潜在的安全漏洞,如敏感信息泄露、不安全的存储、不安全的加密实践等。
  2. 动态分析:通过在模拟器或真实设备上运行应用程序,监控其行为,以发现运行时的问题,如数据泄露、不安全的网络通信等。
  3. Web API 安全测试:对应用程序使用的 Web API 进行安全测试,以检查是否存在诸如 SQL 注入、跨站脚本(XSS)等 Web 安全问题。
  4. 第三方库和依赖项分析:检查应用程序使用的第三方库和依赖项是否存在已知的安全漏洞。
  5. 报告生成:生成详细的报告,包括发现的问题、风险评估和修复建议,以便开发人员可以针对性地改进应用程序的安全性。

MOBSF 可以作为独立的应用程序运行,也可以集成到持续集成/持续部署(CI/CD)流程中,以便在应用程序开发的早期阶段自动执行安全测试。由于 MOBSF 是一个开源项目,它不断接受社区的贡献,并随着时间的推移而发展。这使得它能够适应新的安全威胁和移动平台的变化。MOBSF 的目标是提高移动应用程序的安全性,同时简化安全测试的过程,使其对开发团队更加友好和高效。

安装

1.Python

2.Jdk

3.安装Microsoft Visual C++ 构建工具

4.安装OpenSSL

5.安装Git

6.wkhtmltopdf(并且配置环境变量)

以上环境必须满足,版本注意保持一致或者最新,否则后面安装过程会报错 

安装过程

1.前期环境准备好之后,开始安装Mobsf,从GitHub下载,注意选择版本要最新版  

https://github.com/MobSF/Mobile-Security-Framework-MobSF

3.安装过程,setup.bat会运行较长时间,安装依赖较多,如遇报错,可根据实际情况来解决  

4.安装成功后会有提示,然后浏览器打开localhost:8000(默认监听8000端口)来测试,如果需要修改默认口,可以在run.bat中进行修改SETconf="0.0.0.0:8000"中的端口号

run.bat 127.0.0.1:8001

5.在安装完成启动时遇见以下报错,经过分析由于网络问题导致无法访问一些域名如raw.githubusercontent.com这个域名,从而运行界面会出现报错提示,这里通过IPaddress查询到真实IP,修改本地host文件来访问。如网络正常访问没遇见报错,这步可省略  

Traceback (most recent call last):                
  File "C:\Mobile-Security-Framework-MobSF\mobsf\MobSF\utils.py", line 114, in check_update                
    response = requests.get(github_url, timeout=5,                
  File "c:\mobile-security-framework-mobsf\venv\lib\site-packages\requests\api.py", line 76, in get                
    return request('get', url, params=params, **kwargs)                
  File "c:\mobile-security-framework-mobsf\venv\lib\site-packages\requests\api.py", line 61, in request                
    return session.request(method=method, url=url, **kwargs)                
  File "c:\mobile-security-framework-mobsf\venv\lib\site-packages\requests\sessions.py", line 542, in request                
    resp = self.send(prep, **send_kwargs)                
  File "c:\mobile-security-framework-mobsf\venv\lib\site-packages\requests\sessions.py", line 655, in send                
    r = adapter.send(request, **kwargs)                
  File "c:\mobile-security-framework-mobsf\venv\lib\site-packages\requests\adapters.py", line 516, in send                
    raise ConnectionError(e, request=request)                
requests.exceptions.ConnectionError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /MobSF/Mobile-Security-Framework-MobSF/master/mobsf/MobSF/init.py (Caused by NewConnectionError('        <urllib3.connection.HTTPSConnection object at 0x000001cc9e49afd0>         : Failed to establish a new connection: [Errno 11004] getaddrinfo failed'))        </urllib3.connection.HTTPSConnection>

6、遇到下述报错,MobSF 依赖于 Android 模拟器的 /system 分区的写入权限来加载和修改系统组件。如果 /system 分区不可写,会导致动态分析失败。

[ERROR] 23/Dec/2024 22:43:16 - VM's /system is not writable. This VM cannot be used for Dynamic Analysis.

解决方式:此处使用雷电模拟器,将磁盘共享改为可写入

静态分析

静态分析仅需上传响应的APK/ios包即可,上传后需耐心等待

Android扫描内容  

APK基本信息:文件名、文件大小、MD5、SHA-1、SHA-256

APP信息:包名、Main Activity、版本号等

组件:Activity、Service、Broadcast Receiver、Content Provider

证书信息(Signer Certificate)    

权限信息

Android API信息

Androidmanifest分析(标志位、组件配置等)

代码分析、文件分析

url、email、string等

报告查看  

具体分析内容放在之后。

动态分析

动态分析MobSF支持Android(iOS 应用不支持),可以动态调试正在运行的应用。

如果需要动态分析,请不要在Docker或虚拟机中部署MobSF,另外需要下载安装Genymotion模拟器。

部署

1、首先需要准备一个安卓模拟器,这里使用的是雷电模拟器,然后需要使得MobSF跟安卓模拟器的网络能够想通,开启桥接模式

2、开启ROOT权限和远程ADB调试

3、修改配置文件

修改{path}/.MobSF/config.py文件中的ANALYZER_IDENTIFIER参数为雷电模拟器的adb调试端口

4、重启服务端

5、放问管理页面,点击DYNAMIC ANALYZER

进行动态调试

出现的一些其他问题

mobsf frida错误https://github.com/MobSF/Mobile-Security-Framework-MobSF/issues/1828
安装frida-serverhttps://www.jianshu.com/p/15a4bf14d0a5

参考文章:

Mobsf_MAC_AVD_Android动静态环境搭建排坑实战:https://mp.weixin.qq.com/s/-4F5o54Sqo4YL85hzQr_rg

Frida Hook基础介绍及环境搭建:https://mp.weixin.qq.com/s/iCgRw2oopBlcFhQYuXYgfw

移动安全扫描工具MobSF安装及使用教程:https://mp.weixin.qq.com/s/Z85sNIQ44uw8vjDx6zrhZw

文章后续会持续更新出现的一些问题和具体操作细节

此作者没有提供个人介绍
最后更新于 2024-12-24