Android 动态分析框架(1)

移动安全 2年前 (2022) admin
880 0 0

动态分析框架/工具

-   动态分析分为动态跟踪和动态调试;
-   动态跟踪侧重于自动化分析,工具一般是自主研发或第三方提供的分析平台。在软件开发领域编写大型项目安全检测分析报告,以及在软件安全领域进行恶意代码与病毒的分析时,会广泛用到动态分析技术;
-   动态调试需要分析人员参与进来,依靠调试器的能力完成分析工作。在进行动态调试时,除了调试器,还要分析人员自主确定分析点;
-   开发软件时,一般可进行源码级调试,对设置断点的地方可通过阅读源码找到。逆向分析时,通常只能进行反汇编级别的调试,分析人员要通过阅读大量的反汇编代码来寻找突破口;
-   无论是对调试能力的考验,还是对开发人员耐心的考验,逆向分析中的动态调试都比软件开发中的动态调试大得多。

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

Android 动态分析框架(1)

直接在浏览器中访问上图地址:http://0.0.0.0:8000

上传分析

Android 动态分析框架(1)

在打开的页面上,可上传要分析的 APK(MobSF 会对其进行自动化处理) !

Android 动态分析框架(1)

签名信息

Android 动态分析框架(1)

权限

Android 动态分析框架(1)

API

Android 动态分析框架(1)

安全性分析

Android 动态分析框架(1)

  • • 清单文件分析 主要查看四大组件是否存在安全问题,例如可导出、隐式启动等。

  • • 代码分析 会将代码中常见的问题分类,例如弱加密、硬编码、不安全随机数、不正确的默认权限、不安全的数据存储等。

  • • 二进制文件分析 主要检测so文件是否做了强化处理。

  • • 其他文件分析 主要看本地是否有保存证书、密钥等文件

Inspeckage

Inspeckage是一个用来动态分析安卓app的xposed模块。Inspeckage对动态分析很多常用的功能进行了汇总并且内建一个webserver。整个分析操作可以在友好的界面环境中进行。

下载地址

安装Xposed后,下载以下插件.

 http://repo.xposed.info/module/mobi.acpm.inspeckage

运行

• Inspeckage运行后,界面如下。Module disable表示没有安装xposed模块,在choose target下拉列表中选择要分析的app

Android 动态分析框架(1)

• 在电脑终端执行如下命令,转发手机的8008端口到本地 

adb forward tcp:8008 tcp:8008

• 电脑上访问 http://127.0.0.1:8008 就可以看到Inspeckage的web界面。(如果web还没有输出结果,查看APP is running是否为true,Logcat左边分那个自动刷新按钮是否开启)

Android 动态分析框架(1)


  •    功能介绍

    获取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输出 

Android 动态分析框架(1)

自定义Hook

Android 动态分析框架(1)

其他操作

  • • 开启任意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)

随手分享、点赞、在看是对我们最大的支持Android 动态分析框架(1)

原文始发于微信公众号(移动安全星球):Android 动态分析框架(1)

版权声明:admin 发表于 2022年6月27日 上午8:01。
转载请注明:Android 动态分析框架(1) | CTF导航

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...