jojin1709/BUG-HUNTER-S-HANDBOOK

GitHub: jojin1709/BUG-HUNTER-S-HANDBOOK

一个面向 Android 移动安全测试的交互式综合指南,整合了工具索引、审计清单、CVSS 估算器及自动化侦察脚本,帮助安全人员系统化执行漏洞挖掘。

Stars: 1 | Forks: 0

# ⚡ Android Bug Hunter 手册 ![Android Security](https://img.shields.io/badge/Platform-Android_13%2B_%2F_14-emerald?style=for-the-badge&logo=android) ![Tailwind CSS](https://img.shields.io/badge/Styling-Tailwind_CSS-38bdf8?style=for-the-badge&logo=tailwindcss) ![License](https://img.shields.io/badge/License-MIT-emerald?style=for-the-badge) 为 Android 安全研究员、Bug Bounty 猎手和渗透测试人员打造的一份交互式、现代化且全面的实战指南与安全门户。
它涵盖了逆向工程、动态插桩、IPC 组件攻击以及结合实战工具的 API 漏洞利用。 **由 [JOJIN JOHN](https://github.com/jojin1709) 开发** GitHub Repository Live Portal
## 目录 - [概述](#overview) - [核心功能与模块](#key-capabilities--modules) - [公开的 HackerOne 报告与漏洞分析](#disclosed-hackerone-reports--writeups) - [22+ 工具仓库](#22-tool-repository) - [逐步测试方法论路线图](#step-by-step-methodology-roadmap) - [框架专项测试](#framework-specific-testing) - [交互式审计清单与 CVSS 估算器](#interactive-audit-checklist--cvss-estimator) - [快速上手与本地运行](#quick-start--local-usage) - [PC 硬件与 AVD 建议](#pc-hardware--avd-recommendations) - [安全、测试范围与边界](#safety-scope-and-boundaries) - [许可协议与作者](#license-and-author) ## 概述 **Android Bug Hunter 手册**是一个用于移动安全评估的自动化、综合性参考门户。它将反编译工作流、动态 hook、组件攻击向量和 API 评估指南汇聚于一个统一且优质的暗色主题界面中。 ### 本手册的初衷 Android 应用安全需要在不同执行环境中掌握多种工具(JADX、APKTool、Frida、Objection、Drozer、Burp Suite)。本手册通过提供结构化的逐步方法论、可复制的终端代码片段、实时计算器以及针对特定框架的 pipeline,简化了这一工作流。 ## 公开的 HackerOne 报告与漏洞分析 精心挑选的已公开真实漏洞分析与研究博客,帮助建立漏洞利用思维: ### 硬编码凭证 - [通过硬编码 API secret 泄露所有上传文件](https://hackerone.com/reports/351555) ### WebView 与 Deep Links - [Android 安全清单:WebView (Oversecured)](https://blog.oversecured.com/Android-security-checklist-webview/) - [Deeplink 查询参数中的路径遍历 (#2553411)](https://hackerone.com/reports/2553411) - [通过 DeepLink 实现账户接管 (#855618)](https://hackerone.com/reports/855618) - [敏感信息泄露 (#401793)](https://hackerone.com/reports/401793) ### RCE / ACE 与代码执行 - [为什么动态代码加载对你的应用很危险 (Oversecured)](https://blog.oversecured.com/Why-dynamic-code-loading-could-be-dangerous-for-your-apps-a-Google-example/) - [CVE-2020-8913:Google Play Core 库中的持久性任意代码执行](https://blog.oversecured.com/Oversecured-automatically-discovers-persistent-code-execution-in-the-Google-Play-Core-Library/) - [TikTok:三个持久性任意代码执行漏洞](https://blog.oversecured.com/Oversecured-detects-dangerous-vulnerabilities-in-the-TikTok-Android-app/) ### 文件窃取与 Content Provider - [Content Provider 中的 SQL 注入 (#291764)](https://hackerone.com/reports/291764) - [Android 安全清单:任意文件窃取](https://blog.oversecured.com/Android-security-checklist-theft-of-arbitrary-files/) - [易受本地文件窃取、JavaScript 注入和开放重定向攻击 (#499348)](https://hackerone.com/reports/499348) - [通过未受保护的 Activity 窃取文件导致的 Token 泄露 (#288955)](https://hackerone.com/reports/288955) ### 认证与绕过 - [一次意外的价值 7 万美元的 Google Pixel 锁屏绕过](https://bugs.xdavidhu.me/google/2022/11/10/accidental-70k-google-pixel-lock-screen-bypass/) - [生物识别安全功能绕过 (#637194)](https://hackerone.com/reports/637194) - [由于漏洞 endpoint 导致的双因素认证绕过 (#202425)](https://hackerone.com/reports/202425) ### 会议演讲与课程 - [Android 应用逆向工程 101 (Maddie Stone)](https://maddiestone.github.io/AndroidAppRE/) - [大规模攻破 Android 应用 (DEF CON)](https://www.youtube.com/watch?v=24MwHjqMjRk) - [使用 Frida 黑客攻击移动应用 (David Coursey)](https://www.youtube.com/watch?v=xwyXgykedzk) - [反调试与防篡改保护的采用 (论文)](https://stefanoberlato.it/publications/pdf/JISA20.pdf) ### 在线 APK 扫描器与反编译器 - [Guardsquare AppSweep 移动安全扫描器](https://www.guardsquare.com/appsweep-mobile-application-security-testing) - [在线 Java APK 反编译器](http://www.javadecompilers.com/apk) - [BeVigil 移动应用安全 OSINT 扫描器](https://bevigil.com/osint-api) - [BlackDex - DEX 转储解包工具](https://github.com/CodingGay/BlackDex) ## 核心功能与模块 - **漏洞利用证明命令**:提供可直接执行的 `adb`、`objection`、`frida` 和 `drozer` 命令参数。 - **交互式 CVSS v3.1 与赏金估算器**:实时计算评分、向量字符串,并估算赏金范围($500 — $15,000+)。 - **自动化侦察 pipeline (`recon.sh`)**:提供可下载的 bash 脚本,集成了 `apkid`、`apktool`、`apkleaks` 和 `jadx`。 - **针对特定框架的 pipeline**:为 React Native(Hermes bundle 提取)、Flutter(`blutter` & `reFlutter`)和 Cordova 应用提供专属工作流。 - **交互式审计清单**:包含 12 个漏洞类别,带有 OWASP MASVS 标签,并支持通过 `localStorage` 进行进度追踪。 - **精选视频教程**:提供关于 Frida SSL pinning 绕过、JADX 反编译、Burp CA 证书安装和 Drozer 漏洞利用的 YouTube 实操视频。 ## 22+ 工具仓库 | 工具类别 | 收录工具 | 直接操作 | | --- | --- | --- | | **静态分析** | JADX, APKTool, MobSF, apkleaks, TruffleHog, QARK | 一键复制安装与运行命令 | | **动态分析与 Frida** | Frida, Objection, PlayIntegrityFix (Magisk) | Hook 脚本模板与命令 | | **网络流量** | Burp Suite, mitmproxy | CA 证书安装工作流 | | **IPC 与组件** | Drozer, ADB | 组件查询与路径遍历 | | **逆向工程** | Ghidra, radare2/r2frida, blutter, reFlutter | Native ARM64 `.so` 逆向 | | **实用工具与修补** | scrcpy, apksigner, zipalign, Waydroid, Corellium | 设备控制与 APK 签名 | ## 🛠️ Drozer 高级命令参考 | 命令 | 描述 | 示例 / 备注 | | --- | --- | --- | | `help` / `list` | 显示帮助菜单或列出可用模块 | `dz> list` | | `run app.package.list` | 列出已安装的包 | `run app.package.list` | | `run app.package.attacksurface -a ` | 显示攻击面(导出的组件) | `run app.package.attacksurface -a com.example.app` | | `run app.package.info -a ` | 显示包的详细信息 | `run app.package.info -a com.example.app` | | `run app.activity.info -a ` | 列出应用的 Activity | `run app.activity.info -a com.example.app` | | `run app.provider.info -a ` | 列出 Content Provider | `run app.provider.info -a com.example.app` | | `run app.service.info -a ` | 列出服务 | `run app.service.info -a com.example.app` | | `run app.broadcast.info -a ` | 列出广播接收器 | `run app.broadcast.info -a com.example.app` | | `run app.activity.start -a -n ` | 启动特定的 Activity | `run app.activity.start -a com.example.app -n MainActivity` | | `run scanner.provider.injection -a ` | 检查 Content Provider 中的 SQL 注入 | `run scanner.provider.injection -a com.example.app` | | `run scanner.provider.access -a ` | 检查 Content Provider 的访问问题 | `run scanner.provider.access -a com.example.app` | | `run scanner.misc.debuggable -a ` | 检查应用是否可调试 | `run scanner.misc.debuggable -a com.example.app` | | `run scanner.misc.exportedcomponents -a ` | 检查导出的组件 | `run scanner.misc.exportedcomponents -a com.example.app` | | `run scanner.permissions.findleaks -a ` | 查找权限泄露 | `run scanner.permissions.findleaks -a com.example.app` | | `run exploit.reinvokeactivity -a -n ` | 利用 Activity 的重新调用 | `run exploit.reinvokeactivity -a com.example.app -n MainActivity` | | `run exploit.sharedprefs.read -a -p ` | 读取共享偏好设置文件 | `run exploit.sharedprefs.read -a com.example.app -p /data/.../config.xml` | | `run exploit.sharedprefs.write -a -p ` | 修改共享偏好设置 | `run exploit.sharedprefs.write -a com.example.app -p /data/.../config.xml -k isAdmin -v true` | | `run file.download -p ` | 从设备下载文件 | `run file.download -p /data/data/com.example.app/databases/db.sqlite` | | `run scanner.webview.javascript` | 检测存在漏洞的 WebView JavaScript 接口 | `run scanner.webview.javascript` | ## 🔒 Burp Suite 系统 CA 证书与 ADB 命令 ### 转换并将 Burp 证书安装到系统证书库 (`/system/etc/security/cacerts/`) ``` # 将 .der 转换为 .pem openssl x509 -inform DER -in burp.der -out burp.pem # 获取 subject hash(示例:abcd1234) openssl x509 -inform PEM -subject_hash_old -in burp.pem | head -1 # 重命名并推送到 system trust store mv burp.pem abcd1234.0 adb root && adb remount adb push abcd1234.0 /system/etc/security/cacerts/ adb shell chmod 644 /system/etc/security/cacerts/abcd1234.0 adb reboot ``` ### 快速命令参考 | 类别 | 命令 | 描述 | | --- | --- | --- | | **Emulator** | `emulator -list-avds` | 列出可用的 Android 虚拟设备 | | **Emulator** | `emulator -avd Pixel4_API33 -writable-system -no-snapshot` | 启动带有可写系统权限的 emulator | | **MobSF** | `docker run -it --rm -p 8000:8000 opensecurity/mobile-security-framework-mobsf:latest` | 启动 MobSF 容器 | | **ADB** | `adb shell pm list packages -3` | 列出第三方包 | | **ADB** | `adb shell getprop ro.product.cpu.abi` | 获取设备 CPU 架构 | | **Frida** | `frida-ps -Uia` | 列出 USB 设备上正在运行的应用 | | **Frida** | `frida --codeshare masbog/frida-android-unpinning-ssl -f -U` | 注入 SSL unpinning 脚本 | | **Objection** | `objection -g explore` | 探索目标应用 | | **Objection** | `android sslpinning disable` | 禁用 SSL 证书 pinning | | **Objection** | `android root disable` | 禁用 root 检测 | ## ⚡ 自动化 Grep 敏感词脚本 (`Grep-Sensitive-Words.sh`) 递归搜索反编译后的 APK 源代码,查找 secret key、token、AES 加密配置和硬编码的 URL,并将结果输出到独立的文件中: ``` #!/usr/bin/env bash # Grep-Sensitive-Words.sh - 自动化密钥提取 if [ -z "$1" ]; then echo "Usage: ./Grep-Sensitive-Words.sh "; exit 1; fi SEARCH_DIR="$1" mkdir -p grep_results KEYWORDS=("accesskey" "admin" "aes" "api_key" "apikey" "checkClientTrusted" "crypt" "http:" "https:" "password" "pinning" "secret" "SHA256" "SharedPreferences" "superuser" "token" "X509TrustManager" "insert into") for keyword in "${KEYWORDS[@]}"; do SAFE_KEY=$(echo "$keyword" | sed 's/[: ]/_/g') grep -EHirn --include=\*.{smali,xml,java,txt} "$keyword" "$SEARCH_DIR" > "grep_results/${SAFE_KEY}.txt" done echo "[+] Scan completed! Results stored in grep_results/" ``` ## 📱 PIDCAT 精准 Logcat 过滤 捕获来自单一目标包 ID 的干净、精准的日志: ``` # 克隆 pidcat repository git clone https://github.com/JakeWharton/pidcat.git cd pidcat # 实时过滤 logcat 以获取目标 package python pidcat.py -s emulator-5554 com.target.app ``` ## 逐步测试方法论路线图 ``` ┌──────────────────────┐ ┌──────────────────────┐ ┌──────────────────────┐ │ 01. Recon & APKID │ ───► │ 02. Static & Secrets │ ───► │ 03. Dynamic & Frida │ └──────────────────────┘ └──────────────────────┘ └──────────┬───────────┘ │ ▼ ┌──────────────────────┐ ┌──────────────────────┐ ┌──────────────────────┐ │ 06. Drozer Component│ ◄─── │ 05. GraphQL & Rate │ ◄─── │ 04. SSL Pinning │ │ Attacks │ │ Limit APIs │ │ Bypass │ └──────────┬───────────┘ └──────────────────────┘ └──────────────────────┘ │ ▼ ┌──────────────────────┐ ┌──────────────────────┐ ┌──────────────────────┐ │ 07. Storage & │ ───► │ 08. Native ARM64 │ ───► │ 09. Submission │ │ WebView Audit │ │ Memory Patching │ │ Report Studio │ └──────────────────────┘ └──────────────────────┘ └──────────────────────┘ ``` ## 框架专项测试 标准的 Java/Kotlin 反编译在非原生框架上会失效。请使用以下量身定制的 pipeline: - **React Native**:提取 `assets/index.android.bundle` -> 通过 `hermes-dec` 反编译 Hermes 字节码 -> 使用 `js-beautify` 进行格式化。 - **Flutter (Dart AOT)**:提取 `lib/arm648a/libapp.so` -> 通过 **blutter** 重构 Dart 类 -> 通过 **reFlutter** 修补 SSL pinning。 - **Cordova**:通过 `apktool d` 解包 APK -> 审计 `assets/www/` 下的 HTML5 资产与插件桥接。 ## 交互式审计清单与 CVSS 估算器 该门户包含一个涵盖 OWASP Mobile Top 10 核心漏洞的交互式审计清单: - 没有权限检查的导出组件 - 不安全的本地数据存储 (`/data/data/`) - WebView JS 接口注入 (`addJavascriptInterface`) - 可被绕过的 SSL 证书 pinning - 不安全的 Deep Links 与 Intent 重定向 - 生产环境开启的 `allowBackup` 与 `debuggable` 标志 - 硬编码的 API key 与 secret - Firebase / Firestore 开放的数据库规则 - 损坏的 API 授权 (IDOR / BOLA) - 点击劫持与覆盖滥用 - 任务劫持 (StrandHogg) - 剪贴板数据泄露 ## 快速上手与本地运行 ### 前置条件 - 任意现代 Web 浏览器(Chrome、Firefox、Edge、Safari)。 - 可选:用于运行本地开发服务器的 Python 3。 ### 本地服务器设置 ``` # 克隆 repository git clone https://github.com/jojin1709/BUG-HUNTER-S-HANDBOOK.git # 导航至目录 cd BUG-HUNTER-S-HANDBOOK # 本地 serve python3 -m http.server 8000 ``` 在 Web 浏览器中打开 `http://localhost:8000`。 ## PC 硬件与 AVD 建议 针对中端测试硬件的优化配置(例如:**Intel Core i5-12500H & 16GB RAM**): - **设备型号**:Pixel 6 或 Pixel 5 - **系统镜像**:Android 13.0 (API Level 33) **Google APIs (x86_64)** — *请勿选择 Google Play 以保留 root 权限 (`adb root`)。* - **内存分配**:`4096 MB` (4 GB) - **CPU 核心**:`4 Cores` - **图形渲染**:`Hardware - GLES 2.0` ## 安全、测试范围与边界 ## 许可协议与作者 **由 [JOJIN JOHN](https://github.com/jojin1709) 开发** 采用 [MIT 许可协议](LICENSE)授权。
标签:Android安全, 云资产清单, 后端开发, 多模态安全, 安全工具导航, 应用安全, 数据可视化, 移动端渗透测试, 逆向工程