动态分析框架/工具
- 动态分析分为动态跟踪和动态调试;
- 动态跟踪侧重于自动化分析,工具一般是自主研发或第三方提供的分析平台。在软件开发领域编写大型项目安全检测分析报告,以及在软件安全领域进行恶意代码与病毒的分析时,会广泛用到动态分析技术;
- 动态调试需要分析人员参与进来,依靠调试器的能力完成分析工作。在进行动态调试时,除了调试器,还要分析人员自主确定分析点;
- 开发软件时,一般可进行源码级调试,对设置断点的地方可通过阅读源码找到。逆向分析时,通常只能进行反汇编级别的调试,分析人员要通过阅读大量的反汇编代码来寻找突破口;
- 无论是对调试能力的考验,还是对开发人员耐心的考验,逆向分析中的动态调试都比软件开发中的动态调试大得多。
MobSF
• 强大的跨平台开源分析框架
• 下载地址:GitHub[1]
• MobSF 文档:其中包含配置等信息[2]
• 测试系统:Windows 10, Ubuntu (18.04, 19.04) , macOS Catalina
• 按照 MobSF 文档即可成功安装,安装完成后,启动 MobSF 服务器 ⚠️ 仅限未加固包分析
macOS为例
下载安装
git clone https://github.com/MobSF/Mobile-Security-Framework-MobSF.git
cd Mobile-Security-Framework-MobSF ./setup.sh
-
⚠️ 不要放在中文目录下,可能出现未知错误
运行
./run.sh
直接在浏览器中访问上图地址:http://0.0.0.0:8000
上传分析
在打开的页面上,可上传要分析的 APK(MobSF 会对其进行自动化处理) !
签名信息
权限
API
安全性分析
-
• 清单文件分析 主要查看四大组件是否存在安全问题,例如可导出、隐式启动等。
-
• 代码分析 会将代码中常见的问题分类,例如弱加密、硬编码、不安全随机数、不正确的默认权限、不安全的数据存储等。
-
• 二进制文件分析 主要检测so文件是否做了强化处理。
-
• 其他文件分析 主要看本地是否有保存证书、密钥等文件
Inspeckage
Inspeckage是一个用来动态分析安卓app的xposed模块。Inspeckage对动态分析很多常用的功能进行了汇总并且内建一个webserver。整个分析操作可以在友好的界面环境中进行。
下载地址
安装Xposed后,下载以下插件.
http://repo.xposed.info/module/mobi.acpm.inspeckage
运行
• Inspeckage运行后,界面如下。Module disable表示没有安装xposed模块,在choose target下拉列表中选择要分析的app
• 在电脑终端执行如下命令,转发手机的8008端口到本地
adb forward tcp:8008 tcp:8008
• 电脑上访问 http://127.0.0.1:8008 就可以看到Inspeckage的web界面。(如果web还没有输出结果,查看APP is running是否为true,Logcat左边分那个自动刷新按钮是否开启)
-
功能介绍
获取APP基本信息
-
• 权限:请求权限(Requested Permissions)、自定义权限(APP Permissions)
-
• 组件:导出和非导出的组件(Activity、Service、Broadcast Receiver、Content Provider)
-
• 共享库(Shared Libraries)
-
• 标志位:Debuggable,Allow Backup
-
• 其他:UID,GIDs,Package等
实时查看应用程序的行为
-
• Shared Preferences(日志和文件)
-
• Serialization(序列化)
-
• Crypto(加密)、Hash
-
• SQLite数据库
-
• HTTP、WebView、IPC等
-
• Hooks(自定义HOOK)
使用Logcat查看日志
需要先转发8887端口到本地
adb forward tcp:8887 tcp:8887
点击Start,再点connect就可以在网页中实时查看app的logcat输出
自定义Hook
其他操作
-
• 开启任意Activity组件(导出和非导出)
-
• 调用Provider组件(导出和非导出)
-
• 开启、停止、重启应用程序
-
• Tree view按钮可以实时浏览app的数据目录并直接下载文件到本地 ![[Pasted image 20210923143559.png]]
参考书籍:
《Android 软件安全权威指南》
引用链接
[1]
GitHub: https://github.com/MobSF/Mobile-Security-Framework-MobSF[2]
其中包含配置等信息: https://mobsf.github.io/docs/#/
星球体验券
随手分享、点赞、在看是对我们最大的支持
原文始发于微信公众号(移动安全星球):Android 动态分析框架(1)