conducting-mobile-application-penetration-test

对 Android 和 iOS 应用执行移动应用渗透测试,使用 Frida、Objection 和 MobSF 识别不安全的数据存储、证书固定绕过、API 漏洞、二进制保护缺陷和运行时操控问题。

9 stars

Best use case

conducting-mobile-application-penetration-test is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

对 Android 和 iOS 应用执行移动应用渗透测试,使用 Frida、Objection 和 MobSF 识别不安全的数据存储、证书固定绕过、API 漏洞、二进制保护缺陷和运行时操控问题。

Teams using conducting-mobile-application-penetration-test should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/conducting-mobile-application-penetration-test/SKILL.md --create-dirs "https://raw.githubusercontent.com/killvxk/cybersecurity-skills-zh/main/skills/conducting-mobile-application-penetration-test/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/conducting-mobile-application-penetration-test/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How conducting-mobile-application-penetration-test Compares

Feature / Agentconducting-mobile-application-penetration-testStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

对 Android 和 iOS 应用执行移动应用渗透测试,使用 Frida、Objection 和 MobSF 识别不安全的数据存储、证书固定绕过、API 漏洞、二进制保护缺陷和运行时操控问题。

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# 执行移动应用渗透测试

## 概述

移动应用渗透测试遵循 OWASP 移动应用安全测试指南(MASTG)和移动应用安全验证标准(MASVS),评估 Android 和 iOS 应用的安全性。测试涵盖应用二进制文件的静态分析、动态运行时分析、API 通信安全、数据存储评估和逆向工程抵抗力。

## 前置条件

- 应用 APK/IPA 文件或 TestFlight/Play Store 访问权限
- 已 Root 的 Android 设备或模拟器(Genymotion、Android Studio AVD)
- 已越狱的 iOS 设备或 Corellium 云实例
- 工具:Frida、Objection、MobSF、Jadx、Burp Suite、adb、Ghidra
- OWASP MASTG 检查清单

## Android 测试

### 静态分析

```bash
# 使用 jadx 反编译 APK
jadx -d output_dir target.apk

# 搜索硬编码的密钥
grep -rn "api_key\|secret\|password\|token\|firebase" output_dir/sources/

# 检查 AndroidManifest.xml
# 查找:导出的组件、debuggable=true、allowBackup=true
grep -i "exported\|debuggable\|allowBackup\|android:permission" output_dir/resources/AndroidManifest.xml

# MobSF 自动化静态分析
# 上传 APK 到 MobSF Web 界面(http://localhost:8000)
# 或使用 REST API:
curl -F "file=@target.apk" http://localhost:8000/api/v1/upload \
  -H "Authorization: <api_key>"

# 检查不安全的网络安全配置
cat output_dir/resources/res/xml/network_security_config.xml
# 查找:cleartextTrafficPermitted="true"、带用户证书的 trust-anchors

# 分析原生库
find output_dir/resources/lib -name "*.so" -exec strings {} \; | grep -i "key\|secret"
```

### 动态分析

```bash
# 通过 adb 安装到设备
adb install target.apk

# 在设备上启动 Frida 服务器
adb push frida-server /data/local/tmp/
adb shell chmod 755 /data/local/tmp/frida-server
adb shell /data/local/tmp/frida-server &

# Objection — 运行时探索
objection -g com.target.app explore

# 在 Objection 内:
# 列出 Activity 和 Service
android hooking list activities
android hooking list services

# 绕过 Root 检测
android root disable

# 绕过 SSL 固定
android sslpinning disable

# 转储 Keystore
android keystore list

# 枚举 SharedPreferences
android hooking search classes SharedPreferences

# 监控剪贴板
android clipboard monitor

# 探索文件系统
env
ls /data/data/com.target.app/
file download /data/data/com.target.app/shared_prefs/
file download /data/data/com.target.app/databases/
```

### 数据存储测试

```bash
# 检查 SharedPreferences 中的敏感数据
adb shell cat /data/data/com.target.app/shared_prefs/*.xml

# 检查 SQLite 数据库
adb pull /data/data/com.target.app/databases/app.db
sqlite3 app.db ".dump" | grep -i "password\|token\|session"

# 检查外部存储中的数据
adb shell ls /sdcard/Android/data/com.target.app/

# 检查日志中的敏感数据
adb logcat -d | grep -i "token\|password\|session\|api_key"

# 备份提取
adb backup -apk -shared com.target.app -f backup.ab
java -jar abe.jar unpack backup.ab backup.tar
tar xf backup.tar
```

### 网络流量分析

```bash
# 在设备上配置 Burp 代理
# 设置 > WiFi > 代理 > 手动 > 192.168.1.100:8080
# 在设备上安装 Burp CA 证书

# 对于有证书固定的应用:
# 方法 1:Objection
objection -g com.target.app explore
android sslpinning disable

# 方法 2:Frida 脚本
frida -U -f com.target.app -l ssl_pinning_bypass.js --no-pause

# 方法 3:修补 APK
# 使用 apktool 反编译,修改 network_security_config.xml,重新打包
apktool d target.apk -o decompiled/
# 编辑 res/xml/network_security_config.xml 以信任用户 CA
apktool b decompiled/ -o patched.apk
jarsigner -keystore my.keystore patched.apk alias_name
```

## iOS 测试

### 静态分析

```bash
# 解密 IPA(从越狱设备)
# 使用 frida-ios-dump
python3 dump.py com.target.app

# 或在设备上使用 Clutch
Clutch -d com.target.app

# 使用 class-dump 分析二进制文件
class-dump -H TargetApp -o headers/
grep -rn "password\|token\|secret\|apiKey" headers/

# 检查 Info.plist
plutil -p Payload/TargetApp.app/Info.plist
# 查找:ATS 例外、URL 方案、导出的 UTI

# 检查不安全的 API 连接
grep -i "http://" headers/*.h
grep -i "NSAllowsArbitraryLoads" Payload/TargetApp.app/Info.plist
```

### 动态分析(iOS)

```bash
# iOS 上的 Frida
frida -U -f com.target.app -l ios_bypass.js --no-pause

# iOS 的 Objection
objection -g com.target.app explore

# 在 Objection 内:
ios sslpinning disable
ios jailbreak disable
ios keychain dump
ios plist cat NSUserDefaults
ios cookies get
ios nsurlcredentialstorage dump

# 检查存储在钥匙串中的密钥
objection -g com.target.app explore --startup-command 'ios keychain dump'

# 检查数据保护类
objection -g com.target.app explore --startup-command 'ios info binary'
```

### API 测试

```bash
# 通过 Burp Suite 测试捕获的 API 调用:

# 认证绕过
# 修改 JWT 令牌,测试算法混淆(none、HS256 vs RS256)

# IDOR 测试
# 修改 API 请求中的用户标识符

# 速率限制
# 暴力破解 OTP/PIN 端点

# 输入验证
# 测试 API 参数中的注入

# 业务逻辑
# 在请求中操控价格、数量、订阅级别
```

## OWASP MASVS 检查清单

| 类别 | 测试项 | 状态 |
|----------|------|--------|
| MASVS-STORAGE-1 | 系统日志中的敏感数据 | [ ] |
| MASVS-STORAGE-2 | 备份中的敏感数据 | [ ] |
| MASVS-STORAGE-3 | IPC 中的敏感数据 | [ ] |
| MASVS-CRYPTO-1 | 适当的密码学 API | [ ] |
| MASVS-AUTH-1 | 本地认证绕过 | [ ] |
| MASVS-NETWORK-1 | 使用受信任 CA 的 TLS | [ ] |
| MASVS-NETWORK-2 | 证书固定 | [ ] |
| MASVS-PLATFORM-1 | 导出组件已安全保护 | [ ] |
| MASVS-CODE-1 | 代码混淆 | [ ] |
| MASVS-RESILIENCE-1 | Root/越狱检测 | [ ] |

## 参考资料

- OWASP MASTG: https://mas.owasp.org/MASTG/
- OWASP MASVS: https://mas.owasp.org/MASVS/
- Frida: https://frida.re/
- Objection: https://github.com/sensepost/objection
- MobSF: https://github.com/MobSF/Mobile-Security-Framework-MobSF
- JADX: https://github.com/skylot/jadx

Related Skills

testing-websocket-api-security

9
from killvxk/cybersecurity-skills-zh

测试 WebSocket API 实现中的安全漏洞,包括 WebSocket 升级时缺少身份认证、跨站 WebSocket 劫持(Cross-Site WebSocket Hijacking,CSWSH)、通过 WebSocket 消息进行的注入攻击、输入校验不足、通过消息泛洪实施拒绝服务,以及通过 WebSocket 帧造成的信息泄露。测试人员使用 Burp Suite 拦截 WebSocket 握手和消息,构造恶意 payload,并测试 WebSocket 通道上的授权绕过。适用于 WebSocket 安全测试、WS 渗透测试、CSWSH 攻击或实时 API 安全评估相关请求。

testing-oauth2-implementation-flaws

9
from killvxk/cybersecurity-skills-zh

测试 OAuth 2.0 和 OpenID Connect 实现中的安全缺陷,包括授权码拦截、重定向 URI 操控、OAuth 流程中的 CSRF、令牌泄露、权限范围(scope)提升以及 PKCE 绕过。测试人员对授权服务器、客户端应用及令牌处理进行评估,发现可导致账户接管或未授权访问的常见错误配置。适用于 OAuth 安全测试、OIDC 漏洞评估、OAuth2 重定向绕过或授权码流程测试相关请求。

testing-mobile-api-authentication

9
from killvxk/cybersecurity-skills-zh

测试移动应用 API 的认证与授权机制,识别认证失效、不安全的令牌管理、会话固定、 权限提升和 IDOR 漏洞。适用于对移动应用后端进行 API 安全评估、测试 JWT 实现、 评估 OAuth 流程或评估会话管理的场景。适合涉及移动 API 认证测试、令牌安全评估、 OAuth 移动端流程测试或 API 授权绕过的相关请求。

testing-jwt-token-security

9
from killvxk/cybersecurity-skills-zh

在安全测试活动中,评估 JSON Web Token(JWT)实现中的密码学弱点、算法混淆攻击和授权绕过漏洞。

testing-for-xxe-injection-vulnerabilities

9
from killvxk/cybersecurity-skills-zh

在授权的渗透测试中发现和利用 XML 外部实体(XXE)注入漏洞,以读取服务器文件、执行 SSRF 并外泄数据。

testing-for-xss-vulnerabilities

9
from killvxk/cybersecurity-skills-zh

通过向反射型、存储型和 DOM 型上下文注入 JavaScript 载荷,测试 Web 应用程序的跨站脚本(XSS)漏洞, 演示客户端代码执行、会话劫持和用户冒充。测试人员识别所有注入点和输出上下文,构造适合上下文的载荷, 并绕过净化和 CSP 保护。适用于 XSS 测试、跨站脚本评估、客户端注入测试或 JavaScript 注入漏洞测试等请求场景。

testing-for-xss-vulnerabilities-with-burpsuite

9
from killvxk/cybersecurity-skills-zh

在授权的安全评估过程中,使用 Burp Suite 的扫描器、Intruder 和 Repeater 工具识别和验证跨站脚本(XSS)漏洞。适用于 Web 应用渗透测试中检测反射型、存储型和 DOM 型 XSS,验证自动化扫描器报告的 XSS 发现,以及评估 CSP 和 XSS 过滤器的有效性时使用。

testing-for-xml-injection-vulnerabilities

9
from killvxk/cybersecurity-skills-zh

测试 Web 应用程序中的 XML 注入漏洞,包括 XXE(XML 外部实体注入)、XPath 注入和 XML 实体攻击,以识别数据泄露和服务器端请求伪造(SSRF)风险。

testing-for-sensitive-data-exposure

9
from killvxk/cybersecurity-skills-zh

在安全评估中识别敏感数据暴露漏洞,包括 API 密钥泄露、响应中的 PII、不安全存储以及未受保护的数据传输。

testing-for-open-redirect-vulnerabilities

9
from killvxk/cybersecurity-skills-zh

通过分析 URL 重定向参数、绕过技术和利用链,识别并测试 Web 应用程序中的开放重定向漏洞,用于网络钓鱼和 Token 窃取。

testing-for-json-web-token-vulnerabilities

9
from killvxk/cybersecurity-skills-zh

测试 JWT 实现中的关键漏洞,包括算法混淆、none 算法绕过、kid 参数注入和弱密钥利用,以实现认证绕过和权限提升。

testing-for-host-header-injection

9
from killvxk/cybersecurity-skills-zh

测试 Web 应用程序的 HTTP Host 头部注入漏洞,以识别密码重置中毒、Web 缓存投毒、SSRF 以及虚拟主机路由操控风险。