动态分析 Android 程序—动态分析框架/工具

- 动态分析分为动态跟踪和动态调试;

- 动态跟踪侧重于自动化分析,工具一般是自主研发或第三方提供的分析平台。在软件开发领域编写大型项目安全检测分析报告,以及在软件安全领域进行恶意代码与病毒的分析时,会广泛用到动态分析技术;

- 动态调试需要分析人员参与进来,依靠调试器的能力完成分析工作。在进行动态调试时,除了调试器,还要分析人员自主确定分析点;

- 开发软件时,一般可进行源码级调试,对设置断点的地方可通过阅读源码找到。逆向分析时,通常只能进行反汇编级别的调试,分析人员要通过阅读大量的反汇编代码来寻找突破口;

- 无论是对调试能力的考验,还是对开发人员耐心的考验,逆向分析中的动态调试都比软件开发中的动态调试大得多。

MobSF

  • 强大的跨平台开源分析框架
  • 下载地址:GitHub
  • MobSF 文档:其中包含配置等信息
  • 测试系统: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的数据目录并直接下载文件到本地

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

移动安全星球

您的鼓励将是我创作最大的动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值