首页 > 移动平台 > 详细

移动安全测试框架MobSF(二):动态分析

时间:2021-01-28 18:11:03      阅读:288      评论:0      收藏:0      [点我收藏+]

功能简介

MobSF支持Android应用动态分析(iOS 应用不支持),可以动态调试正在运行的应用。

环境要求

如果需要动态分析,请不要在Docker或虚拟机中部署MobSF,另外需要下载安装Genymotion模拟器。

设备系统版本

在启动MobSF之前,请运行Genymotion模拟器 。一切都会在运行时自动配置。建议使用Android 7.0及更高版本。

  • Android 5.0-9.0-这些版本使用Frida(一款基于python + java 的hook框架),开箱即用。

  • Android 4.1-4.4- 这些版本使用Xposed Framework

HTTPS代理

  • 对于Android的版本4.4 - 9.0,全局代理设置在运行时自动应用。

  • 对于Android版本4.1-4.3,需要设置Dynamic Analyzer页面中显示的Android VM代理。

ARM转换

Genymotion是基于X86的,不支持ARM架构。所以有些应用是基于ARM架构编译的就无法安装,出现如下提示

[INFO] 22/Sep/2020 08:51:01 - Getting screen resolution
[INFO] 22/Sep/2020 08:51:02 - Installing APK
adb: failed to install C:/Users/Shuqing/Desktop/MobSF/uploads/b011baaa8aac34fbdf68691e63a96a08/b011baaa8aac34fbdf68691e63a96a08.apk: Failure [INSTALL_FAILED_NO_MATCHING_ABIS: Failed to extract native libraries, res=-113]
[INFO] 22/Sep/2020 08:51:07 - Removing Global Proxy for Android VM
[ERROR] 22/Sep/2020 08:51:09 - This APK cannot be installed. Is this APK compatible the Android VM/Emulator?
[ERROR] 22/Sep/2020 08:51:09 - Internal Server Error: /android_dynamic/

解决方案

下载安装转换工具Genymotion_ARM_Translation 根据自己的模拟器系统版本下载对应的zip包,然后将包直接拖入到模拟器安装,安装完成后重启模拟器即可。

搭建步骤

  1. 启动Genymotion模拟器并在开发者模式内设置USB debugging 。查看模拟器的设备地址。

  2. 在settings.py内将 ANALYZER_IDENTIFIER = ‘127.0.0.1:7555‘  内字符串换成模拟器的设备地址
  3. 在主界面点击左上角菜单DYNAMIC ANALYZER

  4. 进入动态分析引导页面,可以右侧看到设备的地址和模拟器界面顶部标题显示的地址是一致的。

动态分析执行


引导页面在历史静态扫描记录上点击【Start Dynamic Analysis】 按钮进入动态分析界面,运行成功之后可以进入动态分析页面如下图所示: 

技术分享图片

 

 观察run运行命令界面可以看到日志信息

 

动态分析功能主要如下:

功能菜单说明
Show/Stop Screen 开启/关闭屏幕
Install/Remove MobSF RootCA 安装卸载MobSF证书
Start Exported Activity Tester 测试导出类型的Activity
Start Activity Tester 测试Activity
Take a Screenshot 截屏
Logcat Stream 日志流信息
Generate Report 生成报告

Show/Stop Screen

  1.点击Show Screen 可以实时同步设备屏幕,方便测试执行查看。在Dynamic Analyzer菜单可以查看实时动态分析日志,Errors菜单可以查看错误日志。

 

  1. Frida Scripts 栏设置是设置Frida相关选项,Frida是个轻量级别的hook框架,核心是用C编写的,并将GoogleV8引擎注入到目标进程中,在这些进程中,JS可以完全访问内存,Hook函数甚至调用进程内的本机函数来执行。

  2. 一般使用默认的配置选项即可,如果想进阶测试,可以勾选Auxiliary中的选项,甚至右侧Frida Code Editor编辑窗口,可以直接编写脚本进行调试。Fira使用教程请参考官方文档:https://frida.re/docs/home/

Install/Remove MobSF RootCA

Install/Remove MobSF RootCA用来安装卸载MobSF CA证书,方便对样本中HTTPS流量进行截获。

Start Exported Activity Tester

遍历获取AndroidManifest.xml文件中的所有Exported Activity 测试流程如下:

  1. 依次启动activityadb -s IP:PORT shell am start -n PACKAGE/ACTIVITY

  2. 获取当前activity运行时的屏幕截图,并保存截屏

  3. 强制关闭应用:adb -s IP:PORT shell am force-stop PACKAGE

Start Activity Tester

  • 遍历AndroidManifest.xml文件中的所有Activity,而不单单是Exported

  • 处理流程与Exported Activity一致。

Take a Screenshot

截屏并保存到本地。

Logcat Stream

输出logcat日志信息,如下所示:

09-21 22:15:31.252 573 573 D ConditionProviders.SCP: onReceive android.intent.action.TIME_SET
09-21 22:15:31.252 573 573 D ConditionProviders.SCP: notifyCondition condition://android/schedule?days=6.7&start=23.30&end=10.0&exitAtAlarm=false STATE_FALSE reason=!meetsSchedule
09-21 22:15:31.252 573 573 D ConditionProviders.SCP: notifyCondition condition://android/schedule?days=1.2.3.4.5&start=22.0&end=7.0&exitAtAlarm=false STATE_TRUE reason=meetsSchedule
09-21 22:15:31.252 573 573 D ConditionProviders.SCP: Scheduling evaluate for Mon Sep 21 23:30:00 EDT 2020 (1600745400000), in +1h14m28s748ms, now=Mon Sep 21 22:15:31 EDT 2020 (1600740931252)

Generate Report

生成动态分析报告

 

 

 

移动安全测试框架MobSF(二):动态分析

原文:https://www.cnblogs.com/qtp-1/p/14340041.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!