CVE漏洞中文网

0DayBank一个专门收集整理全球互联网漏洞的公开发布网站
  1. 首页
  2. 百科
  3. 正文

mob

2017年5月23日 1257点热度 0人点赞 0条评论

mob

  • 首页
  • 分类阅读
  • 文库
  • 专栏
  • 公开课
  • 商城
  • 漏洞盒子
注册 | 登录
投稿

工具推荐:MobSF,一款开源移动安全测试框架

寰者2016-03-19+8共1024754人围观 ,发现 27 个不明物体工具系统安全

android_fixed_apple_wallpaper_by_anubis4rus-d4c7dwy.jpg

移动安全框架 (MobSF) 是一个智能化、一体化的开源移动应用(Android / iOS)自动测试框架,能够对以上两种移动应用进行静态和动态分析(动态分析目前暂时只支持Android)。

它可以有效、快速地对应用APK 和IPA文件 及压缩的源代码进行审计分析。同时,MobSF 也能够通过其API Fuzzer功能模块,对 Web API 的安全性进行检测,如收集信息,分析安全头部信息,识别移动API 的具体漏洞,如XXE、SSRF、路径遍历,IDOR以及其他的与会话和API调用速率限制有关的逻辑问题。

运行环境

• Python 2.7,下载请点击:Python 2.7

• Oracle JDK 1.7或以上版本,下载请点击:Oracle JDK;

• Oracle VirtualBox 下载请点击: VirtualBox;

• iOS IPA分析(需在 Mac系统上执行)所需命令行工具( Mac系统)下载请点击:Conmand-line tool;

• 硬件配置:4GB 或以上内存,5G硬盘空间。

下载

MobSF最新发布版下载地址:MobSF;

MobSF VM 0.2 ova 文件下载地址:MobSF.VM 。

安装

该框架目前暂时只于Windows 7, 8, 8.1, 10, Ubuntu, OSX Mavericks等系统平台上进行测试。

• Windows:解压MobSF压缩文件到C:\MobSF;

• Mac:解压MobSF压缩文件到/Users/[username]/MobSF;

• Linux:解压MobSF压缩文件到/home/[username]/MobSF。

配置静态分析器

通过pip安装MobSF Python 依赖包,以下为不同系统的命令执行操作,

Windows

C:\Python27\Scripts\pip.exe install -r requirements.txt

如果pip.exe在脚本目录中不可用,下载及重新安装最新版本的Python2.7。

Unix

pip install -r requirements.txt

运行MobSF

python manage.py runserver

如果需要在具体端口上运行,可以通过以下指令进行,

python manage.py runserver port_number

如果上述步骤都顺利正常执行的话,那么我们将会看到以下的输出内容,

3.png

配置动态分析器

配置MobSF VM 

动态分析器目前只支持针对 Android APK文件进行分析,硬件环境要求为需要计算机拥有4GB 内存和支持完全虚拟化。

首先,配置动态分析器我们需要获取以下4个方面的信息,
(1)VM UUID

(2)快照 UUID

(3)主机/代理 IP

(4)VM/设备 IP

操作步骤

1、打开VirtualBox(本文主要以VirtualBox为样例),选择文件->导入应用,并选中MobSF_VM_X.X.ova 文件(下载地址可于前文查看);

4.png

2、在进行导入过程中,请勿更改任意配置,一切按照默认设置进入下一步;

3、一旦OVA文件导入成功,我们将在VirtualBox上看到一个以MobSF_VM_X.X命名的新的条目;

4、接下来右击MobSF VM,并选择设置一项,选中到网络选项卡,这里我们需要配置两个网络适配器;

(1)适配器1 启用并于attached to 中,选择Host-only Adapter模式,重命名适配器名称,因为我们需要通过该名称来识别主机/代理 IP,配置如下图;

5.png

(2)适配器2 启用并于attached to中,选择NAT模式,配置如下图。

6.png

5、保存上述设置,便可启动MobSF VM。当该VM启动的时候,记下VM的 IP地址;

7.png

6、一旦该虚机启动后,它会停留在一个锁屏状态上,而解锁密码默认为1234;

8.png

7、获取 主机/代理 IP

(1)Windows :在命令提示符中输入ipconfig,记下与适配器1 相同名称的适配器IP地址;

9.png

(2)Unix :在命令提示符中输入ifconfig,记下与适配器1 相同名称的适配器IP地址;

10.png

8、接着在MobSF 虚机中选中Wi-Fi设置,设置代理IP(上一步获取到的IP)和端口(1337);

11.png

9、保存设置,并回到MobSF虚机的Home界面上,等待大约30秒的时间,之后保存好 MobSF虚机的快照;

12.png

10、一旦快照保存好,右击MobSF虚机,选择“在Explorer中显示”或者“在 Finder中显示”;

13.png

11、在任意编辑器中打开MobSF_VM_X.X.vbox文件(这里使用的是sublime),记下 VM UUID以及快照UUID;

14.png


接下来,到了此时,我们已经有了如前文提到的,配置动态分析器所需要的信息,

(1)VM UUID

(2)快照 UUID

(3)主机/代理 IP

(4)VM/设备 IP

12、接下来我们打开MobSF/settings.py文件,并将其中参数的值设置如下,

(1)UUID = VM UUID

(2) SUUID = Snapshot UUID

(3)VM_IP = VM IP

(4)PROXY_IP = Host/Proxy IP

以下为配置样本,

15.png

最后,我们重新再打开服务器即可运行。部分功能如下图

静态分析

Android APK

16.png

17.png

iOS IPA

18.png

动态分析

Android APK

19.png

20.png

21.png22.png

Web API Fuzzer

23.png

24.png

*参考来源:GitHub、Docunmentation,FB小编troy编译,转载请注明来自FreeBuf黑客与极客(FreeBuf.COM)

寰者

寰者75 篇文章等级: 7级
|
|
  • 上一篇:工具推荐:Appie,轻便的Android集成渗透测试环境
  • 下一篇:工具推荐:Cknife,跨平台版中国菜刀正式开源

这些评论亮了

  • heheda回复
    在很久很久以前,他们还没被发到FB的时候,国内很多商业产品就是这套东西改的~
    )12(亮了
  • andro回复
    话说如何把这个ova的文件导入Vmware呢? :cool:
    )8(亮了
  • 寰者(7级)回复
    @ 我是SB 哈喽,虚机镜像下载链接为: http://pan.baidu.com/s/1hqNhtZY 密码: 2mcf,请收好哈! :mrgreen:
    )7(亮了
  • taylorwin(5级)回复
    mark 一下
    )7(亮了
  • Fiend520(7级)回复
    谢谢分享呀
    )7(亮了
发表评论

已有 27 条评论

  • Jayker (1级) 2016-03-19回复1楼

    这个不错啊

    亮了(6)
  • heheda 2016-03-19回复2楼

    在很久很久以前,他们还没被发到FB的时候,国内很多商业产品就是这套东西改的~

    亮了(12)
  • Andy曉明 2016-03-19回复3楼

    别的都小事,赶紧把安卓的关联唤醒解决了吧,太烦人

    亮了(7)
  • 我是SB 2016-03-21回复4楼

    镜像下载不了啊,无法找到drive.google.com 的服务器 DNS address,已经科学上网了额

    亮了(7)
    • 寰者 (7级) 2016-03-21回复

      @ 我是SB 请稍等片刻,正在将镜像上传到百度云盘,稍后会共享出来呢,希望能多多交流哈,谢谢!

      亮了(7)
    • 寰者 (7级) 2016-03-21回复

      @ 我是SB 哈喽,虚机镜像下载链接为: http://pan.baidu.com/s/1hqNhtZY 密码: 2mcf,请收好哈! :mrgreen:

      亮了(7)
  • taylorwin (5级) 2016-03-21回复5楼

    mark 一下

    亮了(7)
  • andro 2016-03-21回复6楼

    话说如何把这个ova的文件导入Vmware呢? :cool:

    亮了(8)
    • littleRich 2017-02-26回复

      @ andro 用VirtualBox就可以噻

      亮了(0)
  • Fiend520 (7级) 2016-03-22回复7楼

    谢谢分享呀

    亮了(7)
  • chunkou (1级) 2016-03-30回复8楼

    @ andro 我试了 要解决vmare提示硬盘容量不符的问题

    亮了(3)
  • tq107191614 2016-04-01回复9楼

    运行后报错 是几个意思啊 求助
    [2016-04-01 13:37:29]
    [ERROR] Finding Java path – Cannot Run Process (/home/tang/Mobile-Security-Framework-MobSF-0.9.1/MobSF/java.py, LINE 65 "proc = subprocess.Popen(args,stdout=subprocess.PIPE,stderr=subprocess.STDOUT,)"): [Errno 2] No such file or directory

    [2016-04-01 13:37:29]
    [ERROR] Oracle Java (JDK >=1.7) is not found! (/home/tang/Mobile-Security-Framework-MobSF-0.9.1/MobSF/java.py, LINE 45 "dat=RunProcess(args)"): [Errno 13] Permission denied: ‘/home/tang/Mobile-Security-Framework-MobSF-0.9.1/logs/MobSF.log’
    Traceback (most recent call last):
    File "manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
    File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 338, in execute_from_command_line
    utility.execute()
    File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 303, in execute
    settings.INSTALLED_APPS
    File "/usr/local/lib/python2.7/dist-packages/django/conf/__init__.py", line 48, in __getattr__
    self._setup(name)
    File "/usr/local/lib/python2.7/dist-packages/django/conf/__init__.py", line 44, in _setup
    self._wrapped = Settings(settings_module)
    File "/usr/local/lib/python2.7/dist-packages/django/conf/__init__.py", line 92, in __init__
    mod = importlib.import_module(self.SETTINGS_MODULE)
    File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
    __import__(name)
    File "/home/tang/Mobile-Security-Framework-MobSF-0.9.1/MobSF/settings.py", line 143, in <module>
    JAVA_PATH=java.FindJava()
    File "/home/tang/Mobile-Security-Framework-MobSF-0.9.1/MobSF/java.py", line 61, in FindJava
    PrintException("[ERROR] Oracle Java (JDK >=1.7) is not found!")
    File "/home/tang/Mobile-Security-Framework-MobSF-0.9.1/MobSF/exception_printer.py", line 29, in PrintException
    with open(LOGPATH + ‘MobSF.log’,'a’) as f:

    亮了(1)
    • calisto 2016-05-05回复

      @ tq107191614 上面不是说你没安装JAVA?

      亮了(1)
    • 答案对方 2016-07-11回复

      @ tq107191614 请问一下,你解决了吗?我也发现这个问题

      亮了(3)
  • poipoi (1级) 2016-05-16回复10楼

    Web API Fuzzer怎么打开啊 没有找到

    亮了(2)
  • zt 2016-08-22回复11楼

    我连静态都没弄好,能不能指导一下

    亮了(0)
  • zt 2016-08-22回复12楼

    为什么我敲这个命令符没有用?

    亮了(2)
    • van 2016-09-27回复

      @ zt 你要在MobSF解压的文件夹里运行

      亮了(0)
  • 求解 2016-08-22回复13楼

    怎么办?

    亮了(0)
  • van 2016-09-27回复14楼

    在windows上装这个好虐心 各种报错,各种缺少依赖。。。

    亮了(0)
  • van 2016-09-27回复15楼

    谁知道怎么显示中文?

    亮了(0)
  • 雪煮咖啡 2016-11-09回复16楼

    @ 寰者 pin是多少啊

    亮了(0)
  • 密斯特张 (1级) 2016-11-17回复17楼

    我想问一下,如何进入apk的动态分析界面,现在静态分析可以使用,哪位大神帮帮忙

    亮了(0)
  • xzhdream (1级) 2016-12-01回复18楼

    亮了(0)
  • xzhdream (1级) 2016-12-01回复19楼

    现在只部署好静态的,动态的在调整中。。。

    亮了(0)
  • kingjohn (1级) 2017-02-13回复20楼

    C:\MobSF>python manage.py runserver
    [INFO] Running first time setup for windows.
    [*] Reading config file..
    [*] Downloading nuget..
    [*] Saving to File nuget.exe
    [*] Downloading and installing Binskim…

    Unhandled Exception: System.NotSupportedException: The requested security protoc
    ol is not supported.
    at System.Net.ServicePointManager.ValidateSecurityProtocol(SecurityProtocolTy
    pe value)
    at NuGet.CommandLine.Program.MainCore(String workingDirectory, String[] args)

    at NuGet.CommandLine.Program.Main(String[] args)
    Traceback (most recent call last):
    File "manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
    File "C:\Python27\lib\site-packages\django\core\management\__init__.py", line
    367, in execute_from_command_line
    utility.execute()
    File "C:\Python27\lib\site-packages\django\core\management\__init__.py", line
    316, in execute
    settings.INSTALLED_APPS
    File "C:\Python27\lib\site-packages\django\conf\__init__.py", line 53, in __ge
    tattr__
    self._setup(name)
    File "C:\Python27\lib\site-packages\django\conf\__init__.py", line 41, in _set
    up
    self._wrapped = Settings(settings_module)
    File "C:\Python27\lib\site-packages\django\conf\__init__.py", line 97, in __in
    it__
    mod = importlib.import_module(self.SETTINGS_MODULE)
    File "C:\Python27\lib\importlib\__init__.py", line 37, in import_module
    __import__(name)
    File "C:\MobSF\MobSF\settings.py", line 381, in <module>
    windows_setup.install_locally(MobSF_HOME)
    File "C:\MobSF\install\windows\setup.py", line 370, in install_locally
    tools_binskim()
    File "C:\MobSF\install\windows\setup.py", line 148, in tools_binskim
    ‘-o’, mobsf_subdir_tools
    File "C:\Python27\lib\subprocess.py", line 219, in check_output
    raise CalledProcessError(retcode, cmd, output=output)
    subprocess.CalledProcessError: Command ‘[u'C:\\MobSF\\StaticAnalyzer\\tools\\win
    dows\\nuget.exe', 'install', u'Microsoft.CodeAnalysis.BinSkim', '-Pre', '-o', u'
    C:\\MobSF\\StaticAnalyzer\\tools\\windows\\']‘ returned non-zero exit status -53
    2462766

    C:\MobSF>
    到这一步就卡出了,老是提示NuGet Command Line 已停止工作,如图。

    ,弄了好久都没解决,特来教各位大佬呀

    亮了(1)
    • kingjohn (1级) 2017-02-14回复

      @ kingjohn  是请教,,打错字了

      亮了(0)

必须您当前尚未登录。登陆?注册

必须(保密)

表情插图

取消

寰者

寰者

这家伙太懒,还未填写个人描述!

75 篇文章33 条评论

相关阅读

  • iOS“远程越狱”间谍软件Pegasus技术分析
  • Hacking Team安卓浏览器攻击过程中的漏洞分析 Stage 2
  • 小心!国内的恶意软件正在用伪基站传播Android恶意软件
  • 如何正确地在Android手机上安装国产软件?
  • iOSSecAudit:一个iOS APP安全审计工具

特别推荐

关注我们 分享每日精选文章

不容错过

  • 看黑客如何分分钟“插队”预约一加手机Sphinx2015-08-14
  • FreeBuf成为中国互联网安全大会(ISC 2014)战略合作媒体FB独家2014-09-09
  • Bash漏洞引发僵尸网络狂欢cindy2014-09-28
  • 一周海外安全事件回顾:混乱的中东网络战blackscreen2014-12-03

FREEBUF

  • 免责声明
  • 关于我们
  • 加入我们

广告及服务

  • 寻求报道
  • 广告合作
  • 联系我们
  • 友情链接

关注我们

  • 官方微信
  • 新浪微博
  • 腾讯微博
  • Twitter

赞助商

Copyright © 2013 WWW.FREEBUF.COM All Rights Reserved 沪ICP备13033796号

css.php

正在加载中...

0daybank

标签: 暂无
最后更新:2017年5月23日

小助手

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

文章评论

您需要 登录 之后才可以评论

COPYRIGHT © 2024 www.pdr.cn CVE漏洞中文网. ALL RIGHTS RESERVED.

鲁ICP备2022031030号

联系邮箱:wpbgssyubnmsxxxkkk@proton.me