freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

利用MobSF自建移动应用APP扫描云平台
2019-11-15 13:46:56

移动互联网统治了我们世界,移动端安全越来越重要。终端安全最重要的原则是"不访问不安全的网站,不下载不明来源的应用,不安装不信任的APP,不给APP不必要的权限"。话虽如此,但是实际上有的时候,还需要安装一些未知的APP,这是后怎么办呢?

这就需要对其先进行一下安全评估,现在有很多在线安全检测平台,比如360捉虫猎手,企鹅家的金刚审计系统等。最近恰好要尝试一个apk扫描的时候发现前些年搞的大量在线评估系统基本上都不能用了(360捉虫猎手还ok)。所以,虫虫今天就给大家介绍下,基于开源的MobSF自建一个应用APP扫描云平台。

1.png

MobSF简介

Mobile Security Framework(MobS,移动安全框架)是一种自动化多平台移动应用程序,支持Android、iOS和Windows应用自动化测试。能够进行静态、动态分析,web API测试,恶意软件分析和安全评估。MobSF支持对移动APP二进制文件,包括APK,IPA和APPX以及对压缩的源代码进行分析,提供Web界面进行任务管理和报告显示,并提供REST API实现CI/CD或DevSecOps管道无缝集成。其中动态分析器可帮助我们执行运行时安全性评估和交互式检测。

2.png

安装部署

安装要求

进行静态分析分析需要安装以下条件:

Git,Python 3.6以上版本,JDK 8以上版本。

Linux下可以通过发行版的包管理软件直接安装,比如Ubuntu下可以用:

苹果Mac OS用户:

Windows用户需要安装Microsoft Visual C ++ Build Tools和OpenSSL

Windows App静态分析需要Mac和Linux的Windows主机或Windows VM(略)。

为了生成PDF报告,需要单独安装wkhtmltopdf二进制文件。在Windows中,需要将包含wkhtmltopdf二进制文件的文件夹添加到环境变量PATH。

安装

安装过程很简单,首先从MobSF仓库clone下载源码:

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

然后,在Linux和Mac OS下执行./setup.sh,Windows下执行setup.bat即可。

docker安装:

MobSF 2.0也新增加了docker方式安装,安装运行非常方便。方便起见可以直接拉取官方镜像:

也可以自己编译镜像或者需要额外功能要求的也必须找自编译镜像:

运行

Linux和Mac下通过:

Windows下运行:

3.png

然后默认会开启一个8080服务器监听,通过浏览器访问localhost:8080就可以访问。

4.png

静态分析

通过浏览器访问localhost:8080,会弹出分析文件上传界面,可以把apk包通过拖放到虚线框里或者通过Upload & Analyze选择文件就可以完成分析任务的设置。

左边栏目各种分析项目,右边窗体是该次分析的终结基本包括了四大组件扫描个数、export 情况),反编译源码(java、smali)、mainfest 文件分析、安全分析等。

本例中我上传了GPS测试仪的apk,结果如下:

5.png

扫描项目设置和设计源码浏览:

6.png

其中一个反编译的About.java源码:

6.png

应用签名分析:

7.png

权限和二进制库分析:

8.png

红色提醒表示需要开放 定位权限,有风险,非法应用可以窃取位置信息,或者用它来消耗电池。

文件清单分析:

9.png

可以被恶意信息拷贝,拖库。

动态分析

MobSF也支持动态分析,但是需要Genymotion模拟平台的支持,通过它来启动安卓虚拟机VM。

10.png

MobSF动态分析需要Genymotion Android x86 VM 4.1至9.0版本。一般建议使用Android 7.0或更高版本。

首次运行时会自动MobSFyed Android 5及更高版本。对于小于5的Android版本,必须在第一次进行Dynamic Analysis之前运行Android运行时。单击"动态分析"页面中的MobSFy Android运行时按钮以MobSFy Android运行时环境。

11.png

如果Dynamic Analyzer无法检测的安卓设备,可通过MobSF/settings.py文件,手动配置ANALYZER_IDENTIFIER。

例如:

可以在Genymotion虚拟机列表中找到安卓设备的IP,默认端口为5555。

12.png

批量分析

除了通过Web界面人工进行单任务分析以外,MobSF支持通过命令行进行批量分析。

批量分析需要用mass_static_analysis.py工具,使用方法是 mass_static_analysis.py [-h] [-d 目录] [-s IP端口]

其中-h表示使用帮助。

-d选项来制定需要扫描APP包和源码压缩包所在的目录。

-s 用来制定MobSF服务器的地址和端口,比如127.0.0.1:8080

例如:

pythonmass_static_analysis.py -s 127.0.0.1:8000 -d /opt/apks/

分析报告

可以以PDF导出该次分析的报告,注意好像默认下对中文支持有问题:

13.png

总结

本文虫虫大家介绍了如何利用开源的MobSF平台自己移动APP自动扫描平台。MobSF功能强大的移动安全测试平台,支持静态,动态分析以Web API Fuzzer测试。MobSF支持docker一键部署,Web界面进行管理、导出PDF分析报告,安装和使用都非常方便友好。

# 移动安全 # 安全扫描 # 应用APK安全 # 自建平台
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者