APP软件漏扫工具-MobSF

admin 2022年11月1日08:13:04评论208 views字数 3352阅读11分10秒阅读模式

MobSF是什么?

移动安全框架(MobSF)是一种自动、一体化的移动应用(Android / iOS / Windows)静态和动态分析的测试,恶意软件分析和安全评估框架。按照中文说明文档就能完成环境搭建,本文记录本地搭建过程及遇到的一下问题。

MobSF是Mobile Security Framework的缩写,是一个移动端应用安全问题检出的框架和工具,它适用于Android/iOS/Windows,能够执行动态和静态的恶意软件的分析和检测。支持Android和iOS以及Windows移动应用,无论是二进制方式还是压缩的源代码都可以进行检测。MobSF将数据保持在本地环境之中,所以可以不必担心应用和相关的数据被送至云端。


mobsf要求kali版本大于3.0.0,先查看自己版本是否适合

uname -a

APP软件漏扫工具-MobSF


然后拉取docker

apt-get install docker docker-compose

APP软件漏扫工具-MobSF


启动docker

service docker start

docker images

APP软件漏扫工具-MobSF


开始下载mobsf

docker pull opensecurity/mobile-security-framework-mobsf

APP软件漏扫工具-MobSF


启动mobsf对应的镜像环境

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

APP软件漏扫工具-MobSF


能访问到这个界面即可

APP软件漏扫工具-MobSF


试试上传一个APP分析看看

APP软件漏扫工具-MobSF


(1)Information:文件名、文件大小、MD5、SHA-1、SHA-256、包名、核心类、版本号等
(2)
Scan Options:扫描选项
(3)
Signer Certificate:证书信息
(4)
Permissions:权限
(5)
Browsable Activities:可浏览活动
(6)
Security Analysis:安全性分析
a)Network Security:网络安全
b)Manifest Analysis:主要是对AndroidManifest.xml进行解析
c)Code Analysis:代码分析
d)Binary Analysis:二元分析
e)NIAP Analysis:是用于分析短读和长读RNA序列数据的通用管道
f)File Analysis:文件分析
(7)
Malware Analysis:恶意软件分析
a)APKiD Analysis:apkid分析
b)Server Location:服务器位置分析
c)Domain Malware Check:域恶意软件检查
(8)
Reconnaissance:侦查
a)URLs:网址
b)Firebase DB:实时数据库
c)Emails:邮件
d)Trackers:追踪系统
d)Strings:字符串
e)Hardcoded Secrets:硬编码的机密
(9)
Components:组件
a)Activities-展示型组件:主要像用户展示一个界面,并且可以接受用户的输入信息从而和用户进行交互。
b)Services-计算型组件:用于在后台执行一系列的计算任务。
c)Receivers-消息型组件:用于在不同组件及不同应用间传递消息。
d)Providers-数据共享型组件:用于向其他组件及其他应用共享数据。
(10)
PDF Report:PDF报告
(11)
Print Report:打印报告
(12)
Start Dynamic Analysis:开始动态分析


静态检测

  1. 基本信息

  • File Information:文件信息,文件信息包括了文件名、文件大小、md5、sha1、sha256

  • App Information:App信息包括了包名、Main Activity等信息

  • 基本信息中还会给出Activities、Services、Receivers、Providers这四大组件的数目,以及可导出组件的数目。(可导出组件是较为严重的安全漏洞,因此这里单独列出了可导出组件的数目)

  1. 代码性质
    在代码性质中,可以查看并下载App的Java代码,或者查看并下载Smali代码,再或者查看Manifest文件。另外,在代码性质中部分中也可以开始动态分析。

  2. Permissions:权限信息
    在权限信息中,罗列了被检测App在Manifest文件中申请的所有权限,并标出了每个权限的危险指数,对于有安全隐患的权限标记为危险。在每个权限后面都加上了该权限的作用简介,并对其功能及安全风险进行了描述。
    以android.permission.ACCESS_COARSE_LOCATION为例:
    被检测App请求了这一权限,这项权限用于获取设备的粗略位置信息,MobSF将其标记为dangerous,即认为这项权限是有安全风险的。在描述中介绍了这一权限的功能,可以通过基站定位等方式获取用户位置,恶意程序可以通过该权限来获取你的大致位置。

  3. Android API:安卓API
    上传为安卓应用时展示,列举了被检测App调用的所有安卓API,并给出了调用API的代码的位置,这一功能在代码研究分析时比较实用,但在安全检测分析中实际作用并不大。

  4. Security Analysis:安全分析
    安全分析是MobSF的最重要部分,安全分析分为三部分,manifest分析、源码分析和文件分析。

  • manifest分析
    1)检查android:debuggable是否为true,如果是true,那么认为此处具有级别为“高”的安全风险,因为此时App可以被调试,攻击者可以获取调试信息,这会泄漏许多关键信息,造成严重的安全风险。
    2)检查android:allowBackup是否为true,如果为true或者未定义android:allowBackup,都认为此处具有级别为“中等”的安全风险,通常认为可以备份应用数据是有安全风险的,如果未定义android:allowBackup,则在某些情况下系统会默认该项为true,同样会造成安全隐患,如果检测出未定义android:allowBackup,那么将会提示需要将其设置为false。
    3)检查android:testOnly是否为true,如果是则具有“高”安全风险,在此情况下程序出于测试状态,会暴露程序本身的功能或数据,这将导致安全漏洞。
    4)检查Activity有没有设置TaskAffinity。MobSF认为,设置了TaskAffinity会让其他应用读取到发送给另一个任务的intents,而这具有“高”安全风险。框架建议这一项使用默认设置。
    5)Activity启动方式不标准,这也具有“高”安全风险,当intent中包含敏感信息时,Activity启动方式应该设置为“standard”,如果设置为"singleTask/singleInstance"则可能导致信息泄漏。
    6)组件导出检测。在之前的报告中已经强调过,组件可导出是很常见的安全风险,任何组件都不应设置为可导出的,否则均认为存在安全隐患。
    7)不适当的Content Provider权限,Content Provider如果设置权限为设备上所有App均可访问则有可能导致其中包含的敏感信息泄露,这具有“高”安全风险。具体包括"android:pathPrefix=/","android:path=/"和"android:pathPattern=*"。
    8)检查android:scheme中是否存在有android_secret_code,如果是,则存在“高”安全风险,将会导致加密内容泄漏。
    9)二进制短信端口处于监听状态。程序应当对接收的短信进行安全性验证,并且应该假定所有接收到的短信都来自不可信任源。如果对二进制短信没有进行适当处理,则程序具有“高”安全风险。

  • 源码分析中的检测项被分为四个级别,分别是“高危”、“信息”、“安全”和“警告”。其中“高危”是最高级别的安全风险,“警告”是次一级的,“信息”则主要是敏感信息、隐私信息保护不当,不属于安全风险,“安全”属于表扬性质,在代码中发现有防止截屏、root检查等功能,则列出标记为安全。日志信息或者敏感信息加密不当属于“信息”。不安全的Web视图实现属于“警告”。其余检测出的项目全部标记为“高危”。


原文始发于微信公众号(黑云信息安全):APP软件漏扫工具-MobSF

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年11月1日08:13:04
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   APP软件漏扫工具-MobSFhttp://cn-sec.com/archives/1382780.html

发表评论

匿名网友 填写信息