SuperAPI AI 工具集

jamboree-android-security-testing

安全与审计

查看项目

更新于 10-15 13:53

技能介绍

用途

JAMBOREE(Java Android Magisk Burp Objection Root Emulator Easy)是一个统一的 Android 安全测试框架,将 Magisk 模块管理、Burp Suite 代理配置、Objection 运行时探索以及已 root 的模拟器环境整合为单一编排工作流,面向移动端渗透测试。该技能由 ara.so 提供,属于 Security Skills 合集,为 AI 编程代理提供指导,帮助开发者搭建并使用该框架。

主要能力

  • 自动化部署 Magisk 模块,用于 systemless root 和 BusyBox。
  • 集成 Burp Suite 代理,并自动安装 CA 证书。
  • 通过 Objection/Frida 运行时钩子实现 SSL pinning 绕过和方法追踪。
  • 提供为安全测试优化的预配置 Android 模拟器环境。
  • 具备自修复配置,可检测并修复损坏的代理链。

安装与环境准备

前置要求(需安装以下工具):

  • Java JDK 11+,使用 java -version 验证。
  • Android SDK 平台工具,使用 adb --version 验证。
  • Python 与 pip,用于 Objection/Frida,使用 python3 --version、pip3 --version 验证。
  • 安装 Frida 与 Objection:pip3 install frida-tools objection。

克隆与初始化:

git clone https://github.com/hero-mike/Android-Mobile-Security-Sandbox-Testing.git
cd Android-Mobile-Security-Sandbox-Testing
./orchestration/validators/check-environment.sh
./orchestration/deployers/install-all.sh

环境变量(在 shell 配置或 .env 文件中设置):

export ANDROID_HOME="$HOME/Android/Sdk"
export PATH="$ANDROID_HOME/platform-tools:$PATH"
export BURP_PROXY_HOST="127.0.0.1"
export BURP_PROXY_PORT="8080"
export BURP_CERT_PATH="$HOME/.jamboree/burp-cert.der"
export FRIDA_SERVER_VERSION="16.1.4"
export OBJECTION_STARTUP_SCRIPT="$HOME/.jamboree/objection-init.js"

关键组件与使用方式

1. 模拟器设置

创建并配置已 root 的 Android 模拟器:

avdmanager create avd -n jamboree-test \
  -k "system-images;android-30;google_apis_playstore;x86_64" \
  -d "pixel_5"
emulator -avd jamboree-test -writable-system -no-snapshot-load &
adb wait-for-device
./modules/magisk/systemless/install-magisk.sh

2. Burp Suite 证书安装

将 Burp CA 证书安装为系统证书:从 Burp Suite 导出 DER 格式证书,放置于 $BURP_CERT_PATH,然后运行 ./modules/burp/certificates/install-burp-cert.sh,并用 adb shell "ls /system/etc/security/cacerts/ | grep burp" 验证。手动安装脚本示例(原文档提供):

#!/bin/bash
# install-burp-cert.sh

CERT_PATH="${BURP_CERT_PATH}"
CERT_HASH=$(openssl x509 -inform DER -in "$CERT_PATH" -subject_hash_old -noout)

adb root
adb remount
adb push "$CERT_PATH" "/system/etc/security/cacerts/${CERT_HASH}.0"
adb shell "chmod 644 /system/etc/security/cacerts/${CERT_HASH}.0"
adb reboot

3. 代理配置

adb shell settings put global http_proxy "${BURP_PROXY_HOST}:${BURP_PROXY_PORT}"
adb shell settings get global http_proxy
adb shell settings put global http_proxy :0

4. Objection 运行时钩子

frida-ps -Ua
objection -g com.example.targetapp explore
objection -g com.example.targetapp explore --startup-script "$OBJECTION_STARTUP_SCRIPT"

常见 Objection 命令(在 REPL 内):android sslpinning disable、android hooking list activities、android hooking watch class_method ... --dump-args --dump-return、android shared_preferences dump、android sqlite execute "..." 等。

5. 自定义 Frida 脚本

可创建如 objection-init.js 的启动脚本,实现 root 检测绕过、加密操作钩子、OkHttp 拦截等。也可直接用 frida -U -f com.example.targetapp -l hooks.js --no-pause 运行。

配置文件

文档给出三类配置示例:Magisk 模块配置(modules/magisk/systemless/module.prop)、Burp Suite 扩展配置(JSON,含 proxy、certificate、logging 段)、编排配置(configurations/security/jamboree-config.yaml,含 environment、proxy、objection、logging 段)。

常见测试工作流

  • 工作流 1:拦截 HTTPS 流量(启动环境 → 安装 APK → 配置代理 → 启动 Objection 并禁用 SSL pinning → 在 Burp 中观察流量)。
  • 工作流 2:绕过证书固定(编写自定义 Frida 脚本替换 TrustManager 并运行)。
  • 工作流 3:提取加密密钥(钩住 SecretKeySpec 构造并保存密钥到文件)。
  • 工作流 4:数据库分析(列出/连接 SQLite 数据库、执行查询、导出数据库离线分析)。

故障排查

文档覆盖证书不受信任、Frida 服务器连接问题、Magisk 模块未加载、代理不工作、应用检测模拟器等场景,并给出对应命令(如重装证书、重启 frida-server、进入安全模式清理模块、验证代理设置与 iptables 规则、修改 AVD 配置与使用 Magisk Hide 等)。

适用场景与限制

适用场景为移动端渗透测试:拦截 HTTPS 流量、绕过证书固定、密钥提取、数据库分析、CI/CD 自动化安全测试(文档提供 GitLab CI 示例)。限制方面:资料未提供关于收费、价格、平台支持范围、性能或效果保证等信息,暂未提供。使用该框架需自行准备 Java、Android SDK、Python 工具链及对应模拟器环境。