您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码:  验证码,看不清楚?请点击刷新验证码 必填



  求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Model Center   Code  
会员   
   
 
     
   
 订阅
  捐助
利用MobSF自建移动应用APP扫描云平台
 
作者:虫虫搜奇
   次浏览      
 2020-9-28 
 
编辑推荐:
本文主要给大家介绍了如何利用开源的MobSF平台自己移动APP自动扫描平台。包括:基础介绍、安装部署及应用分析。
本文来自于微信虫虫搜奇 ,由火龙果软件Anna编辑、推荐。

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

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

MobSF简介

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

安装部署

安装要求

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

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

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

sudo apt install python3-venv python3-pip python3-dev build-essential libffi-dev libssl-dev libxml2-dev libxslt1-dev libjpeg8-dev zlib1g-dev wkhtmltopdf

苹果Mac OS用户:

sudo installer -pkg

/Library/ Developer/CommandLineTools/ Packages/macOS_SDK_headers_ for_macOS_10.14.pkg -targe /

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

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

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

安装

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

git clone github /MobSF/Mobile-Security-Framework-MobSF.git

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

docker安装:

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

docker pull opensecurity/mobile -security-framework-mobsf

docker run -it --name mobsf -p 8000:8000 opensecurity/mobile-security -framework-mobsf:latest

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

git clone github /MobSF/Mobile-Security -Framework-MobSF.git

cd Mobile-Security-Framework-MobSF

docker build -t mobsf .

docker run -it -p 8000:8000 mobsf

运行

Linux和Mac下通过:

./ run.sh

Windows下运行:

run.bat

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

静态分析

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

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

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

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

应用签名分析:

权限和二进制库分析:

需要定位权限,有一定的风险,非法应用可以窃取位置信息,或者用它来消耗电池。

文件清单分析:

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

动态分析

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

MobSF动态分析需要Genymotion Android x86 VM 4.1至9.0版本。一般建议使用Android 7.0及更高版本。首次运行时会自动MobSFyed Android 5及更高版本。对于小于5的Android版本,必须在第一次进行Dynamic Analysis之前先运行安卓运行时。单击"动态分析"页面中的MobSFy Android运行时按钮以MobSFy Android运行时环境。

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

例如:

ANALYZER_IDENTIFIER = '192.168.56.126:5555'。

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

批量分析

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

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

其中-h表示使用帮助。

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

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

例如:

python mass_static_analysis.py -s 127.0.0.1:8000 -d /opt/apks/

分析报告

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

总结

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

   
次浏览       
相关文章

云计算的架构
对云计算服务模型
云计算核心技术剖析
了解云计算的漏洞
相关文档

云计算简介
云计算简介与云安全
下一代网络计算--云计算
软浅析云计算
相关课程

云计算原理与应用
云计算应用与开发
CMMI体系与实践
基于CMMI标准的软件质量保证
最新活动计划
LLM大模型应用与项目构建 12-26[特惠]
QT应用开发 11-21[线上]
C++高级编程 11-27[北京]
业务建模&领域驱动设计 11-15[北京]
用户研究与用户建模 11-21[北京]
SysML和EA进行系统设计建模 11-28[北京]
 
最新文章
云原生架构概述
K8S高可用集群架构实现
容器云管理之K8S集群概述
k8s-整体概述和架构
十分钟学会用docker部署微服务
最新课程
云计算、微服务与分布式架构
企业私有云原理与构建
基于Kubernetes的DevOps实践
云平台架构与应用(阿里云)
Docker部署被测系统与自动化框架实践
更多...   
成功案例
北京 云平台与微服务架构设计
通用公司GE Docker原理与实践培训
某军工研究单位 MDA(模型驱动架构)
知名消费金融公司 领域驱动设计
深圳某汽车企业 模型驱动的分析设计
更多...