mcpField
A
android-pentest

android-pentest

github.com/hardw00t安全10693 次安装27 周前更新
代码仓库

关于 android-pentest

android-pentest 是面向 Android 应用安全评估的工作流技能,适用于进行 MASTG 测试的安全人员。它按需引导静态与动态分析,并提供检查流程、Frida 脚本和结构化报告规范。

主要功能

  1. 01按需加载评估流程与参考资料
  2. 02静态分析与 Frida 动态检测
  3. 03检查存储、网络和应用组件
  4. 04提供 MASTG 检查清单与映射
  5. 05按结构化规范整理发现

适用场景

  1. 01评估 Android 应用并映射 MASVS
  2. 02检查 SSL 固定、Root 检测和认证
  3. 03提取本地存储并检查敏感数据
  4. 04测试导出组件、深层链接与 Intent

MCP 相关

该技能通过 Android Dynamic MCP 与 Mobile MCP 指引设备操作、Frida 检测和界面交互。文档列出了可供 MCP 客户端调用的设备、网络、数据提取及组件测试工具。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/hardw00t/ai-security-arsenal --skill android-pentest

安装后在 Claude Code 中输入/android-pentest确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

checklists/
owasp_mastg_full.md
pre_engagement.md
quick_wins.md
report_items.md
examples/
auth_bypass.md
data_storage_investigation.md
new_assessment.md
methodology/
auth_testing.md
client_side_injection.md
crypto_testing.md
data_storage.md
dynamic_analysis.md
network_testing.md
recon.md
static_analysis.md
payloads/
intent_injection.txt
path_traversal.txt
sql_injection.txt
xss_payloads.txt
xxe_payloads.txt
references/
android_security_checklist.md
bounty_patterns_2024_2026.md
frida_snippets.md
owasp_mobile_top10.md
troubleshooting.md
reporting/
evidence_collector.py
finding_schema.json
remediation_db.json
report_generator.py
severity_calculator.py

详细介绍

Android 移动应用渗透测试

通过 ADB + Frida + Mobile MCP 进行符合 MASTG 的 Android 评估的轻量路由器。按需加载工作流 / 方法论 / 参考文件;不要尝试一开始就记住整个技能。

适用场景

  • 开始新的 Android 应用安全评估
  • 绕过 SSL 固定、Root 检测、防篡改或生物识别检查
  • 提取 / 分类本地存储(SharedPreferences、数据库、文件、日志)
  • 测试导出的活动、服务、提供程序、接收器和深层链接
  • 在运行时 Hook 加密、身份验证、会话或密钥库
  • 将构建版本映射到 OWASP MASVS / MASTG,以提供合规证据
  • 生成结构化发现和修复建议

触发短语

“渗透测试这个 Android 应用” • “对这个 APK 进行安全测试” • “绕过 的 SSL 固定” • “从 提取数据” • “测试 Android 身份验证” • “模糊测试 Android Intent” • “对 进行 MASTG 测试” • “移动应用安全评估”

不适用场景

  • iOS 应用 → 使用 ios-pentest(如果可用)或通用移动技能
  • 对移动后端进行服务端 API 模糊测试 → 使用 api-security / web-pentest
  • 为事件响应反编译 Android 恶意软件 → 使用 malware-analysis,而非这个专注于渗透测试的技能
  • 第三方 SDK 的供应链 / SCA → 使用 sca / dependency-audit
  • 移动应用的云后端 → 使用 cloud-pentest

决策树

Do you have the APK or only package name?
├─ package only → get_app_info + pull_apk (parallel), then branch on protections
└─ APK on disk  → static analysis first (jadx, apktool), then dynamic
                 └─ App runs? → frida_spawn → bypass_ssl → bypass_root → proxy
                 └─ App crashes on root? → see references/troubleshooting.md (Root detection)
                 └─ TLS still not decrypted? → workflows/ssl_pinning_bypass.md Methods 2→3

What's the objective?
├─ Full assessment          → workflows/complete_assessment.md
├─ SSL pinning only         → workflows/ssl_pinning_bypass.md
├─ Auth / session           → workflows/auth_testing.md
├─ Deep links / IPC / fuzz  → workflows/deeplink_intent_testing.md
├─ Crypto audit             → workflows/crypto_analysis.md
└─ Data storage / exfil     → workflows/data_exfiltration.md

并行执行提示

并发运行(相互独立,使用同一设备):

  • get_app_info + pull_apk + list_exported_components
  • dump_databases + dump_shared_prefs + dump_internal_storage + dump_external_storage + get_logcat
  • 针对同一 PID 多次调用 frida_run_script(crypto_hooks.js ∥ credential_hooks.js ∥ intent_monitor.js)
  • 静态 APK 分析(反编译、秘密扫描)∥ 动态运行时 Hook

必须按顺序执行:

  • frida_spawn → frida_bypass_ssl → frida_bypass_root(脚本需要 PID,并且必须在应用完成保护初始化前附加)
  • 在任何流量捕获或网络工作流开始前执行 setup_proxy
  • 在新设备上先执行 install_ca_cert,再执行 setup_proxy
  • capture_traffic_start → 操作应用 → capture_traffic_stop

子 Agent 委派

  • 对拉取的 APK 启动静态分析子 Agent(jadx 反编译 → 搜索秘密 → 检查清单 → 清点原生库),同时由主 Agent 运行动态 Frida Hook。报告前汇总结果。
  • 对多个导出组件进行模糊测试时,按组件启动子 Agent:每个 Agent 负责一批 activity / provider / service,并使用自己的 Frida PID 和 logcat 过滤器。避免 Hook 状态相互干扰。
  • 主测试完成后,启动报告子 Agent,将发现规范化为 schemas/finding.json 并渲染模板。

推理预算

  • 扩展思考(高):基于证据对发现进行分类、判定严重程度、编写 CWE/MASTG 映射、为混淆类设计自定义 Frida Hook、对原生 SSL 固定路径进行逆向工程。
  • 低 / 无扩展思考:重复运行 Frida Hook、标准转储、现成载荷模糊测试、应用通用 SSL 绕过、调用已知 MCP 工具序列。
  • 不要浪费 Token 去推理应该先尝试哪种通用绕过方式——直接运行 frida_bypass_ssl(pid),失败后再升级处理。

多模态 Hook

  • 对于由 UI 驱动的身份验证流程(生物识别提示、OAuth 重定向、MFA 步骤),使用 Mobile MCP get_screen_state + 截图。将截图作为发现中的 evidence.screenshot 附加。
  • 在绕过成功时截取屏幕(例如,模拟生物识别后显示已验证身份的主屏幕)——可视化证据有助于加强严重程度说明。
  • 对于深层链接复现,截取触发后的 activity,以证明可以到达非预期状态。

结构化输出

所有发现都必须通过 schemas/finding.json 的验证。Android 专属的必需/常见字段: package_name、app_version、target_sdk、device_id、frida_pid、mastg_id、masvs_control、component.{type,class_name,exported}、evidence.{logcat,frida_output,screenshot,pcap}。

工作流索引

工作流适用场景
workflows/complete_assessment.md端到端 MASTG 测试
workflows/ssl_pinning_bypass.md启用 TLS 拦截
workflows/auth_testing.md登录、会话、生物识别、JWT
workflows/deeplink_intent_testing.mdIPC 模糊测试、深层链接、内容提供程序
workflows/crypto_analysis.md弱加密算法、硬编码密钥、密钥库
workflows/data_exfiltration.md本地存储和 logcat 泄露

方法论索引

文档覆盖范围
methodology/recon.md信息收集、攻击面映射
methodology/static_analysis.mdAPK/smali/机密信息审查
methodology/dynamic_analysis.md运行时 Hook、插桩
methodology/network_testing.md流量、API、TLS 验证
methodology/data_storage.md本地存储、数据库、文件权限
methodology/crypto_testing.md加密和密钥管理
methodology/auth_testing.md身份验证、会话、生物识别
methodology/client_side_injection.mdWebView、深层链接、内容提供程序

载荷索引

文件用途
payloads/intent_injection.txtIntent/IPC 模糊测试输入
payloads/path_traversal.txt文件/内容提供程序路径逃逸
payloads/sql_injection.txt内容提供程序 SQL 注入
payloads/xss_payloads.txtWebView XSS
payloads/xxe_payloads.txt应用内 XML 解析器

示例索引

示例场景
examples/new_assessment.md新目标的启动蓝图
examples/data_storage_investigation.md枚举本地敏感数据
examples/auth_bypass.md生物识别/会话/JWT 绕过

参考资料索引

文档覆盖范围
references/owasp_mobile_top10.mdOWASP Mobile Top 10 映射
references/android_security_checklist.md测试清单
references/frida_snippets.md可复用的 Frida 单行命令
references/troubleshooting.mdFrida/SSL/root/ADB/SQLCipher 修复方法
references/bounty_patterns_2024_2026.md2023 年之后的赏金计划 TTP(深层链接劫持/App-Links 绕过、WebView 深层链接 XSS、未受保护的广播接收器泄露)

检查清单

文件用途
checklists/owasp_mastg_full.md完整的 MASTG 合规性检查
checklists/quick_wins.md快速漏洞扫描
checklists/pre_engagement.md环境设置验证
checklists/report_items.md报告完整性检查

模板

模板用途
templates/finding_template.md单项发现文档
templates/executive_summary.md管理层摘要
templates/technical_report.md完整技术报告
templates/remediation_guide.md面向开发者的修复指南

MCP 工具参考

设备交互
工具用途
get_screen_state()当前屏幕 / UI 树
tap_element(x,y) / long_press(x,y)点击 / 长按
input_text(text)在聚焦的字段中输入文本
press_key(keycode)BACK=4 HOME=3 ENTER=66
swipe(x1,y1,x2,y2)滚动、图案解锁
Frida 插桩
工具用途
frida_spawn(pkg) / frida_attach(pkg)启动或附加
frida_run_script(pid, script)加载 JS 钩子
frida_bypass_ssl(pid) / frida_bypass_root(pid)通用绕过
frida_hook_method(pid, class, method)跟踪单个方法
frida_trace_crypto(pid) / frida_dump_credentials(pid)预置跟踪
frida_enumerate_classes(pid, pattern)在混淆情况下发现类
frida_memory_search(pid, pattern)在进程内存中查找机密 / 密钥
网络
工具用途
setup_proxy(device, host, port) / clear_proxy(device)配置代理
install_ca_cert(device, path)信任 Burp CA(系统存储)
capture_traffic_start(pkg) / capture_traffic_stop()PCAP
数据提取
工具用途
dump_databases(pkg) / dump_shared_prefs(pkg)SQLite + 偏好设置
dump_internal_storage(pkg) / dump_external_storage(pkg)文件
get_logcat(pkg)按包筛选的日志
组件
工具用途
list_exported_components(pkg)攻击面
launch_activity(pkg, activity, extras, data_uri)深层链接 / Intent
send_broadcast(action, extras)广播注入
start_service(pkg, service, extras)滥用服务
query_content_provider(uri)Provider SQLi / 信息泄露
fuzz_intent_extra(pkg, comp, key, payloads)自动化模糊测试
应用管理
工具用途
install_apk(path) / uninstall_app(pkg)部署 / 移除
clear_app_data(pkg)重置为初始状态
get_app_info(pkg)元数据、权限、SDK
list_installed_apps() / pull_apk(pkg)发现 / 提取

Frida 脚本库(scripts/)

ssl_pinning_bypass.js、root_bypass.js、crypto_hooks.js、credential_hooks.js、network_hooks.js、biometric_bypass.js、anti_tampering_bypass.js、intent_monitor.js、webview_hooks.js、dynamic_dex_hooks.js、keystore_hooks.js、method_tracer.js。

工具

工具用途安装
ADB设备通信apt install adb(Android SDK platform-tools)
Frida / frida-tools动态插桩pip install frida-tools(≥16.4)
Objection移动端探索pip install objection
apktoolAPK 反编译apt install apktool(≥2.9)
jadxJava 反编译github.com/skylot/jadx releases(≥1.5)
Burp Suite流量拦截portswigger.net
Android Studio模拟器、SDKdeveloper.android.com

配置脚本:setup/setup_pentest_env.sh、setup/setup_physical_device.sh、setup/setup_emulator.py、setup/frida_server_manager.py、setup/burp_cert_installer.sh、setup/check_environment.py。

预期使用的 MCP 服务:android-pentest(Android Dynamic MCP)、mobile-mcp(用于 UI 的 mobile-next)。在 ~/.claude/mcp.json 中配置。

相关资源

Last Validated

2026-04 — minimum versions: Frida ≥16.4, apktool ≥2.9, jadx ≥1.5, Android platform-tools ≥35.

评论

支持 Markdown