【安装体验】MobSF,一款开源移动安全测试框架

前言

本系列前面的文章说过,为了某信息安全比赛,我选了一个APK行为分析的题目。之前一直在研究安卓的编程,然后看了一下关于apk分析方面的书,觉得完全没有目标,不知道如何下手,偶然间在freebuf闲逛的时候,随手搜了一下这方面的资料,还真找到了两篇文章:

第一篇文章介绍的就是我选择的一个C/S架构的工具MobSF,用django+python写的。作者是Ajin Abraham,这个项目他发布在了github上面https://github.com/ajinabraham/Mobile-Security-Framework-MobSF,一直在更新,所以如果提交issue的话他很快就会回。

自己看书完全不知道如何做,所以我决定用C++/Qt重写这个项目。后续的文章会同步开发过程。

安装MobSF

怎么安装MobSF在FreeBuf的文章中已经说的很清楚了,将源码、虚拟机、java、依赖项下载安装好后,应该是这样:

进入终端输入

python manage.py runserver

显然,错误是不可避免的:

直接根据错误提示打开java.py,解决第一个错误(应该是java路径的问题)

问题出在第65行:

proc = subprocess.Popen(args,stdout=subprocess.PIPE,stderr=subprocess.STDOUT,)

subprocess.Popen函数的详细用法与作用可百度,这里以args为参数打开了一个新的进程,既然问题出在这里,而且args参数是传递进来的,回溯到调用RunProcess(args)的地方:

可以看到:

MAC_LINUX_JAVA="/usr/bin/"
args=[MAC_LINUX_JAVA+"java"]

也就是说,subprocess.Popen()在这里实际上执行了一个命令:/usr/bin/java

和我们在命令行下输入这条命令是一样的。那么我们尝试在命令行下输入这条命令:

显然,路径是错误的。我的java 并没有直接装在/usr/bin目录下:

而是在/usr/bin/jdk1.8.0_91下。

找到可执行文件java,在/usr/bin/jdk1.8.0_91/bin/下:

在命令行下输入

/usr/bin/jdk1.8.0_91/bin/java

看完终端的输出结果,就可以明白作者在java.py中这一段代码的含义:

就是检测在运行java可执行文件后,检测终端的输出中有没有“oracle”字段,从而判断有没有安装java。

既然如此,我们就有两个选择:

1. 修改源码

2. 修改java安装地址

显然,修改源码更方便:

修改java.py第43行为:

MAC_LINUX_JAVA="/usr/bin/jdk1.8.0_91/bin/"

再次运行manage.py:

OK.

打开网站127.0.0.1:8000

随便上传一个apk进行分析,结果又有报错:

第一个错误应该是python的一个第三方包xhtml2pdf安装出了问题导致无法导入,这个问题在ubuntu16.04LTS上没有得到解决,忽略不计,关注第二个错误。应该是编码错误,将源码的文件夹复制到home中,使得文件夹路径中不包含中文,再次执行,ok了:

其他

关于MobSF的使用方法就需要自己研究了,下一节将从MobSF的静态分析部分的源码分析开始,并开始第一步:使用zlib解压apk文件夹。

时间: 2024-08-02 09:49:17

【安装体验】MobSF,一款开源移动安全测试框架的相关文章

开源移动安全测试框架MobSF安装过程踩过的那些坑(一)

项目简介 移动安全框架 (MobSF) 是一个智能化.一体化的开源移动应用(Android / iOS)自动测试框架,能够对以上两种移动应用进行静态和动态分析(动态分析目前暂时只支持Android). 它可以有效.快速地对应用APK 和IPA文件 及压缩的源代码进行审计分析.同时,MobSF 也能够通过其API Fuzzer功能模块,对 Web API 的安全性进行检测,如收集信息,分析安全头部信息,识别移动API 的具体漏洞,如XXE.SSRF.路径遍历,IDOR以及其他的与会话和API调用速

Ubuntu 上安装 ArtiPub:一款开源的一文多发平台

ArtiPub(Article Publisher 的简称,意为"文章发布者")是一款开源的一文多发平台,可以帮助文章作者将编写好的文章自动发布到掘金.SegmentFault.CSDN.知乎.开源中国等技术媒体平台. 项目地址:GitHub / Gitee 为什么创建 ArtiPub? 程序员和技术人员常常会写技术文章和博客,用作技术分享.产品分享或提供咨询等等.技术博主通常需要在多个媒体渠道发布文章,例如掘金.SegmentFault.CSDN.知乎.简书.微信公众号等等,以求最大

消灭Bug!十款免费移动应用测试框架推荐

对于移动应用开发者而言,Bug往往是最让人头疼的一大问题.不同于时时刻刻可以修补的Web App,移动App中的Bug往往隐藏得很深,甚至有时候等到用户使用才显现出来,这么一来开发者搞不好就会赔了名声又折钱.所以在应用发行之前,对其进行严格的测试是非常必要的.而移动应用测试框架可以帮助开发者简化测试流程,从而很好地解决这一问题.今天,给大家详细介绍当下最受开发者欢迎的十大免费移动应用测试框架,一起来看看吧. 1. Appium(iOS/Android) Appium是一个开源的.跨平台的自动化测

Linux下四款Web服务器压力测试工具(http_load、webbench、ab、siege)介绍

一.http_load程序非常小,解压后也不到100Khttp_load以并行复用的方式运行,用以测试web服务器的吞吐量与负载.但是它不同于大多数压力测试工具,它可以以一个单一的进程运行,一般不会把客户机搞死.还可以测试HTTPS类的网站请求. 下载地址:http://soft.vpser.net/test/http_load/http_load-12mar2006.tar.gz 安装#tar zxvf http_load-12mar2006.tar.gz#cd http_load-12mar

Gatling:开源压力测试框架之入门

Gatling是一款开源的压力测试工具,基于Scala, Akka and Netty. 可录制测试脚本,也可以手动编写脚本,适合有编程经验的测试人员使用: 支持测试用例的参数化,可以使用csv.json.jdbc.redis等多样的数据源: 能够模拟各种并发场景: 能够生成比较详细的测试报表. 示例脚本: import scala.concurrent.duration._ import io.gatling.core.Predef._ import io.gatling.http.Prede

阿里巴巴73款开源产品列表,值得收藏

一.框架 react-web:ReadtWeb 是为那些使用 React Native 兼容的 API 构建的 Web 应用而提供的一个框架.React Web的目的及意义非常明确: 让 React Native 代码跑在 Web上让一套代码运行在各个移动终端,对前端及业务来说,这是开发效率中一个质的提升. Jstrom:"JStorm是参考 storm 的实时流式计算框架,在网络 IO.线程模型.资源调度.可用性及稳定性上做了持续改进,已被越来越多企业使用.经过 4年发展,阿里巴巴 JStor

71款开源项目

71款开源项目 百度,一家让人既爱又恨的企业,血友吧贴吧被卖,魏则西事件的持续发酵,一时间将百度推到了舆论的风口浪尖上.是非对错,我们在这里也不多做评判,本文呢为大家整理了百度开源的70+项目,看看有没有感兴趣的.本文内容综合整理自oschina.github. 1. JavaScript图表库 ECharts ECharts开源来自百度商业前端数据可视化团队,基于html5 Canvas,是一个纯Javascript图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表.创新的拖拽重计算

2016阿里巴巴73款开源产品全向图

摘要: 受益开源,就当回馈.面对阿里头顶上“贡献开源软件数目第一”的光环,我们清醒地认知阿里开源的目的:阿里开源不是到业内“秀肌肉”,更不是自卖自夸:阿里之所以选择开源是因为开源是孵化新技术领域的容器,更是技术演进的最大推动力. 阿里巴巴集团已经开源 115 个项目,加入 FSF 基金会.Apache 基金会.Linux 基金会和 Xen 的顾问团队,并在云栖大会北京峰会宣布 AliSQL 开源. 为了让大家能更好,更全面的了解和应用上阿里开源项目, 云栖社区特别制作了一张“2016 阿里开源全

大公司青睐的50款开源工具

过去十年间,许多科技公司已开始畅怀拥抱开源.许多公司使用开源工具来运行自己的IT基础设施和网站,一些提供与开源工具相关的产品和服务,或基于开源工具而建的产品和服务,还有一些在为开源代码贡献代码或支持开源项目. Black Duck在2015年的一项调查发现,78%的企业组织使用开源软件,这个比例几乎是2010年时候的两倍.此外,88%的企业表示,它们预计在今后几年,会加大为开源项目贡献代码的力度,66%表示在考虑专有软件之前先考虑开源软件. 这回,我们介绍了最受科技公司青睐的一些开源项目.这些主