移动应用渗透测试实战指南:基于 Anthropic Cybersecurity Skills 的 OWASP MASTG 移动端安全评估 移动应用渗透测试实战指南基于 Anthropic Cybersecurity Skills 的 OWASP MASTG 移动端安全评估【免费下载链接】Anthropic-Cybersecurity-Skills817 structured cybersecurity skills for AI agents · Mapped to 6 frameworks: MITRE ATTCK, NIST CSF 2.0, MITRE ATLAS, D3FEND, NIST AI RMF MITRE F3 (Fight Fraud) · agentskills.io standard · Works with Claude Code, GitHub Copilot, Codex CLI, Cursor, Gemini CLI 20 platforms · 29 security domains · Apache 2.0项目地址: https://gitcode.com/GitHub_Trending/an/Anthropic-Cybersecurity-Skills本指南以 conducting-mobile-app-penetration-test 技能文档为核心系统讲解如何对 iOS 与 Android 移动应用开展遵循 OWASP Mobile Application Security Testing GuideMASTG的全流程渗透测试覆盖静态分析、网络通信安全、本地数据存储、认证与会话管理、运行时动态操纵五大环节并结合仓库内配套脚本与 API 参考scripts/agent.py、references/api-reference.md展示自动化取证与验证方法。读完本文你将掌握一套可复制、可运行、可产出规范报告的移动应用安全评估方案并理解各步骤背后的工具链原理与常见坑点。适用场景When to Use该技能面向以下典型需求激活移动应用发布前安全测试提前暴露数据保护与身份验证缺陷依据 OWASP MASVSMobile Application Security Verification StandardL1/L2 级别开展合规评估评估处理敏感数据的移动银行、医疗或政务应用的安全性测试与后端 API 交互的移动应用评估移动生态端到端安全评估移动应用对逆向工程、篡改和运行时操纵的抵抗能力。法律红线未经应用所有者书面授权禁止对该技能列出的任何目标开展测试禁止分发修改或重新打包的应用禁止绕过正式测试渠道直接对公共应用商店中的应用进行测试。该技能仅用于授权安全测试和教育目的未经授权使用可能违反计算机欺诈相关法律。前置条件Prerequisites开始测试前需准备以下环境目标应用安装包iOS 的 IPA 文件与 Android 的 APK 文件或可访问私有分发渠道进行下载Android 侧已 Root 的实体设备或模拟器Genymotion、Android Studio AVD并安装 Frida、Objection 与 MagiskiOS 侧已越狱设备或 Corellium 虚拟设备并安装 Frida、Objection 与 SSL Kill Switch静态分析工具jadxAndroid 反编译、Hopper/GhidraiOS 二进制分析、MobSF自动化扫描Burp Suite Professional 配置为代理以拦截移动应用流量并在测试设备上安装其 CA 证书。工作流Workflow完整的测试流程分为五个步骤静态分析 → 网络安全测试 → 数据存储分析 → 认证与会话管理 → 运行时操纵。Step 1静态分析Static Analysis在不执行二进制的情况下分析应用代码与配置是快速建立攻击面的第一步。Android 静态分析使用 jadx 反编译 APK 获取 Java/Kotlin 源码jadx -d output/ target.apk审查AndroidManifest.xml重点检查导出的组件Activity、Service、Receiver、Content Provider、权限声明以及debuggable标志位搜索硬编码密钥与凭证grep -rn api_key\|password\|secret\|token\|aws_ output/识别不安全的本地数据存储模式SharedPreferences 中保存敏感数据、未加密的 SQLite 数据库、外部存储中的文件检查 WebView 漏洞setJavaScriptEnabled(true)、addJavascriptInterface()以及加载不可信内容运行 MobSF 自动化扫描python manage.py runserver后上传 APK 进行自动化静态分析。iOS 静态分析解包 IPA 并定位 Mach-O 二进制使用otool -L binary列出链接的框架识别第三方库使用 Ghidra 或 Hopper 分析硬编码的 URL、API 端点和内嵌凭证检查 Info.plist 中允许不安全 HTTP 连接的 App Transport SecurityATS例外审查内嵌的 entitlements确认是否存在过度授权。Step 2网络安全测试Network Security Testing拦截并分析所有网络通信是验证传输层安全的关键环节在测试设备上配置 Burp Suite 为代理并安装 Burp CA 证书在 Burp 抓包的同时完整走一遍应用所有功能收集 API 流量SSL/TLS 校验验证确认应用是否正确校验服务器证书。若应用通过代理连接失败很可能实现了证书固定Certificate Pinning证书固定绕过Android使用 Frida 脚本frida -U -f com.target.app -l ssl-pinning-bypass.js --no-pauseiOS使用 SSL Kill Switch 或 Objectionobjection -g Target App explore --startup-command ios sslpinning disableAPI 流量分析逐一审查所有 API 调用重点检查未加密传输的敏感数据URL 参数中的认证令牌会暴露在日志中API 响应中超出 UI 展示范围的过量数据API 端点缺失或弱认证WebSocket 与自定义协议检查是否存在可绕过标准代理拦截的非 HTTP 通信通道。Step 3数据存储分析Data Storage Analysis测试本地数据存储是否安全Android 数据存储访问应用数据目录/data/data/com.target.app/检查 SharedPreferences XML 文件中是否存储凭证、令牌和 PII检查 SQLite 数据库sqlite3 /data/data/com.target.app/databases/*.db .dump检查应用日志中的敏感数据logcat -d | grep -i password\|token\|key验证应用数据是否被排除在备份之外AndroidManifest.xml 中应设置android:allowBackupfalse检查剪贴板是否有敏感数据泄露。iOS 数据存储检查 Keychain 中存储的凭证objection -g Target App explore # 进入 REPL 后执行 ios keychain dump检查 NSUserDefaults/plist 文件find /var/mobile/Containers/Data/Application/ -name *.plist -exec plutil -p {} \;检查 SQLite 数据库和 Core Data 存储中是否有未加密的敏感数据检查应用退到后台时 iOS 自动截屏是否导致数据泄露验证数据保护级别敏感文件应使用NSFileProtectionComplete。Step 4认证与会话管理Authentication and Session Management测试移动端特有的认证控制生物识别绕过使用 Frida 挂钩认证回调并强制其始终返回成功测试生物识别认证是否可被绕过令牌存储验证认证令牌存储在 iOS Keychain 或 Android Keystore 中而非 SharedPreferences 或普通文件会话超时验证会话在合理的空闲超时后过期且登出时令牌在服务端失效Root/越狱检测绕过测试应用是否检测 Root/越狱设备并验证检测逻辑能否被 Frida 或 Magisk Hide 绕过Deep Link 滥用测试自定义 URL Scheme 或 Universal Links 是否可绕过认证或访问受限功能。Step 5运行时操纵Runtime Manipulation测试应用对运行时攻击的抵抗能力Frida 挂钩使用 Frida 在运行时挂钩并修改应用函数绕过 Root 检测挂钩检测函数使其返回 false修改认证检查的返回值拦截加密函数在加密前捕获明文数据挂钩 SSL 验证逻辑绕过证书固定方法交换iOS使用 Frida 替换 Objective-C 方法实现Intent 操纵Android向导出的组件发送构造好的 Intentadb shell am start -n com.target.app/.InternalActivity -e user_id admin篡改检测修改 APK/IPA添加代码、更改资源、重新签名并安装验证应用是否检测到篡改。关键概念Key Concepts术语定义OWASP MASTG移动应用安全测试指南Mobile Application Security Testing Guide覆盖 iOS 与 Android 双平台的应用安全测试综合手册证书固定Certificate Pinning限制应用信任的 TLS 证书集合的安全控制可防止通过代理拦截实施的中间人攻击Frida动态插桩工具包允许向运行中的进程注入 JavaScript以挂钩函数、修改行为并绕过安全控制Root/越狱检测应用内检测设备是否被修改获得 Root 权限的检查机制通常在受损设备上阻止应用使用Android KeystoreAndroid 上基于硬件的凭证存储即使在 Root 设备上也能保护加密密钥和机密不被提取App Transport SecurityATSiOS 默认强制 HTTPS 连接的安全特性ATS 例外可能意味着不安全的网络通信Deep Links打开移动应用内特定页面的 URL Scheme若校验不严可能绕过正常导航和认证流程工具与系统Tools SystemsFrida / Objection动态插桩工具用于挂钩函数、绕过安全控制并操纵应用运行时行为MobSFMobile Security Framework面向 Android 和 iOS 应用的自动化静态与动态分析平台jadxAndroid 反编译器将 APK 字节码转换为可读的 Java 源码供人工代码审计Burp Suite ProfessionalHTTP 代理在绕过证书固定后用于拦截和修改移动应用 API 流量。实战场景移动银行应用安全评估背景某银行即将发布同时覆盖 iOS 与 Android 的移动银行应用功能包括账户查看、转账、账单支付和支票存款。由于涉及金融数据需满足 OWASP MASVS L2 合规要求。评估路径对 Android APK 进行静态分析发现 API 端点、硬编码的暂存服务器 URL 以及配置文件中的 AWS API Key应用实现了证书固定但通过 Frida SSL 固定绕过脚本成功绕过API 流量分析发现余额查询端点返回了与该用户关联的所有账户号码而不仅是请求的账户本地数据存储分析发现应用将最近 10 笔交易缓存在未加密的 SQLite 数据库中生物识别认证绕过Frida 挂钩生物识别回调使其始终返回成功无需指纹即可获得访问权限Root 检测存在但被 Magisk Hide 模块绕过使应用能在 Root 设备上运行并完全访问数据。常见坑点Pitfalls仅在模拟器上测试遗漏了硬件级安全特性Android Keystore 硬件支撑、iOS Secure Enclave未同时测试 iOS 和 Android 两个版本——两者可能实现不同、漏洞不同因为已单独测试而忽略后端 API 安全——移动应用调用 API 的方式可能与 Web 应用不同未测试证书固定绕过导致网络分析不完整。源码级支撑自动化测试代理scripts/agent.py仓库为该技能配套了可运行的 Python 自动化代理将上述手工流程的关键环节固化为可重复执行的功能函数详见 references/api-reference.md。从源码结构看它围绕发现 → 验证 → 出报告组织测试任务decompile_apk(apk_path, output_dir)调用apktool d -o -f反编译 APK 的 smali 代码与资源作为静态分析入口extract_strings_from_apk(apk_path)对 APK 二进制执行strings按api_key、password、secret、token、http://、aws_access、private_key等模式统计敏感字符串数量对应 SKILL.md 中手工 grep 硬编码凭证的步骤check_android_manifest(manifest_path)扫描android:debuggabletrue、android:allowBackuptrue、android:exportedtrue、android:usesCleartextTraffictrue等危险配置并在缺少android:networkSecurityConfig时告警可能信任用户安装的 CA——这与 Step 3 中allowBackupfalse的核查点完全对应test_certificate_pinning(target_url)通过代理环境下的请求探测requests.get(..., verifyFalse)判断证书固定是否生效——若代理开启时仍返回 200说明未强制证书固定check_insecure_storage_adb()通过adb shell run-as检查 shared_prefs、databases 与外部存储/sdcard/Android/data/pkg/其中外部存储发现判为 High 严重级test_api_endpoints(base_url, endpoints, auth_token)对比带认证令牌与不带认证令牌的响应默认探测/api/v1/user/profile、/api/v1/users、/api/v1/settings、/api/v1/admin若两者均返回 200 则标记auth_bypassTrue且严重级为 Critical——对应 Step 2 中API 端点缺失或弱认证的检查check_root_detection(package_name)通过pm dump检索rootbeer、rootdetect、safetynet、integrity、tamper等 Root 检测库特征generate_report(...)汇总上述发现输出 JSON 报告。CLI 使用方式仅限授权测试与实验环境python agent.py --apk target.apk --manifest AndroidManifest.xml \ --api-url https://api.target.com --auth-token jwt --output report.json依赖要求requests2.28API 与证书固定测试、apktool2.7子进程调用反编译、adbAndroid 设备交互。该脚本与 OWASP MASTG 类别的对应关系为check_insecure_storage_adb→ MASVS-STORAGE 不安全数据存储extract_strings_from_apk→ 硬编码凭证test_certificate_pinning→ 证书固定check_android_manifest→ 明文流量test_api_endpoints→ API 授权check_root_detection→ Root 检测。输出格式Output Format每次测试应产出标准化漏洞报告。以下为仓库定义的可直接套用的报告模板## Finding: Biometric Authentication Bypass via Frida Instrumentation **ID**: MOB-003 **Severity**: High (CVSS 7.7) **Platform**: Android and iOS **OWASP MASVS**: MASVS-AUTH-2 (Biometric Authentication) **Description**: The mobile banking apps biometric authentication can be bypassed using Frida dynamic instrumentation. The authentication callback function accepts a boolean result from the biometric API, which can be hooked and forced to return true without presenting a valid fingerprint or face scan. **Proof of Concept (Android)**: frida -U -f com.bank.mobileapp -l bypass-biometric.js --no-pause // bypass-biometric.js Java.perform(function() { var BiometricCallback Java.use(com.bank.mobileapp.auth.BiometricCallback); BiometricCallback.onAuthenticationSucceeded.implementation function(result) { console.log([*] Biometric bypassed); this.onAuthenticationSucceeded(result); }; }); **Impact**: An attacker with physical access to an unlocked device can bypass biometric authentication and access the victims bank accounts, initiate transfers, and view financial data without biometric verification. **Remediation**: 1. Implement server-side biometric verification using Android BiometricPrompt CryptoObject tied to a Keystore key 2. Require the biometric operation to decrypt a server-side challenge, making client-side bypass ineffective 3. Add runtime integrity checks to detect Frida and other instrumentation frameworks 4. Implement step-up authentication for high-risk operations (transfers threshold)报告应遵循类似结构为每个发现提供唯一 ID、CVSS 严重级评分、受影响平台、对应的 OWASP MASVS 编号、现象描述、可复现的 PoC、攻击影响以及可落地的修复建议。同时可结合 脚本 自动生成的mobile_pentest_report.json含sensitive_strings、manifest_findings、storage_findings、api_security、certificate_pinning字段作为手工报告的补充证据链。框架映射该技能已在 YAML frontmatter 中完成多框架映射见 SKILL.md便于与组织安全流程对齐MITRE ATTCK 覆盖 T1426系统信息发现、T1409凭据获取、T1521.003加密信道·对称加密、T1633敏感信息收集、T1417输入捕获、T1422应用层协议等移动端技术NIST CSF 2.0 对应 ID.RA-01、ID.RA-06、GV.OV-02、DE.AE-07MITRE ATLAS 映射 AML.T0070、AML.T0066、AML.T0082NIST AI RMF 对应 MEASURE-2.7、MAP-5.1、MANAGE-2.4。这意味着该技能不仅可用于渗透测试执行还能直接支撑威胁建模、风险识别与安全态势评估流程。【免费下载链接】Anthropic-Cybersecurity-Skills817 structured cybersecurity skills for AI agents · Mapped to 6 frameworks: MITRE ATTCK, NIST CSF 2.0, MITRE ATLAS, D3FEND, NIST AI RMF MITRE F3 (Fight Fraud) · agentskills.io standard · Works with Claude Code, GitHub Copilot, Codex CLI, Cursor, Gemini CLI 20 platforms · 29 security domains · Apache 2.0项目地址: https://gitcode.com/GitHub_Trending/an/Anthropic-Cybersecurity-Skills创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考