没啥背景,老大介绍 + 自己感兴趣,就尝尝鲜呗
官方地址:https://github.com/MobSF/Mobile-Security-Framework-MobSF
Mobile Security Framework (MobSF) is an intelligent, all-in-one open source mobile application (Android/iOS/Windows) automated pen-testing framework capable of performing static and dynamic analysis. It can be used for effective and fast security analysis of Android, iOS and Windows mobile Applications and supports both binaries (APK, IPA & APPX ) and zipped source code. MobSF can also perform Web API Security testing with it's API Fuzzer that can do Information Gathering, analyze Security Headers, identify Mobile API specific vulnerabilities like XXE, SSRF, Path Traversal, IDOR, and other logical issues related to Session and API Rate Limiting.
MobSF 是一个智能的,整合的开源手机应用(Android,iOS,Windows)自动化测试框架,用于静态及动态测试。它可以用来有效和快速地对手机应用进行安全分析,且支持二进制文件(如 apk、ipa 和 appx)及打包好的源码。MobSF 同样可以通过它的 API Fuzzer 工具执行 Web API 安全测试,模拟像 XXE、SSRF、Path Traversal, IDOR 等和会话及调用频率限制有关的、手机 API 相关威胁逻辑问题。
印度出品
截止写下此文时,最近一次提交是一天前,说明作者还是有持续在维护中的。
从它的介绍 ppt 可以大致看出它的功能列表:
核心功能为:
特点也相当明确,那就是本地运行,不用上云。
官方很贴心,提供了 docker 镜像:
$ docker pull opensecurity/mobile-security-framework-mobsf
$ docker run -it -p 8000:8000 opensecurity/mobile-security-framework-mobsf:latest
启动后,访问 http://localhost:8000 即可看到网站。
首页倒也非常简洁,直接上传文件即可自动分析。可惜用 docker 方式启动的话,只能进行 android 的静态分析,其它功能需要遵循安装文档安装到电脑上。其中 iOS 必须装在 OS X 上。
上传文件后,默认进行静态分析。Android 端大致做的事情和用 Drozer 做的分析差不多:扫描四大组件情况(个数、export 情况),反编译源码(java、smali)、mainfest 文件分析等。
主要报告项列举如下:
其中 Code Analysis 比较有意思,会把反编译后的源码中有问题的部分识别成一个个问题,并给出对应反编译源码链接。
iOS 端检查项相对少一些,主要内容列举如下:
还有一些挺实用的功能,如查看所有字符串、生成 classdump:
这方面了解不多,不好评判。不过就内容上说,还是挺丰富的。
通过在 vm 加入 agent 动态获取数据,进行动态分析。同样也可以用于测试是否可以绕过 https 验证。
动态分析支持 4 种部署方式
从官方介绍上看,root 后的 andorid 4.03-4.4 是最佳选择。
具体部署方式可直接参考 官方文档 。主要用到 Xposed 的 Droidmon, JustTrustMe 和 RootCloak 。
方法 1 中的虚拟机镜像下载了一个放到百度网盘,有需要的同学可以自取:https://pan.baidu.com/s/1kV9YSYF
考虑到部署成本比较高,目前暂时未尝试。待后续补充。
从介绍上说,可以自主完成 SSRF & XXE、 Insecure Direct Object Reference (IDOR)、 Session Related Checks、 Rate Limiter、Security Headers and Info Gathering、Directory/ Path Traversal 这几类 api 扫描。
找不到使用方法,官方说在配置好动态分析后就能用了,暂时放弃。。。
摘抄一下源码分析文章的小结
静态分析
静态分析时,MobSF 主要使用了现有的 dex2jar、dex2smali、jar2java、AXMLPrinter、CertPrint 等工具。其主要完成了两项工作:解析 AndroidManifest.xml 得到了应用程序的各类相关信息、对 apk 进行反编译得到 java 代码,而后利用正则匹配找出该 app 包含的 API 函数、URL、邮箱集帐号密码等敏感信息。
动态分析
而动态分析部分,MobSF 主要利用到了 Xposed 框架、Droidmon 实现对应用程序调用 API 的情况进行监控,并且详细列出了需要分析的 API 列表。同时,MobSF 还使用了 ScreenCast 结合 adb shell input 完成对手机的远程控制功能。动态分析主要操作有:
- 利用 webproxy 实现代理进而拦截样本流量。
- 安装证书以便拦截 https 流量。
- 遍历所有 activity,尽量多的获取各 activity 运行得到的日志。
- 利用正则匹配出 API 及参数和返回值。
- 尽可能多的匹配出 URL 信息,对 URL 进行后续分析及恶意 URL 查杀。
API Fuzzer
API Fuzzer 模块针对 Web API 的安全性进行检测,如收集信息,分析安全头部信息,识别 API 的具体漏洞,目前支持 SSRF、XXE、Path Traversal 等漏洞的检测。
作为一个开源、可本地部署的安全扫描平台,mobsf 确实能减轻不少安全扫描和分析的工作量。但它和各类安全测试工具一样,只能提供参考数据,真正的分析还得靠人。
搜索过程中,找到 2 个挺不错的文章,也一并分享下: