analyzing-ios-app-security-with-objection

使用基于 Frida 的工具包 Objection 对 iOS 应用程序进行运行时移动安全探测, 无需越狱即可与应用内部交互。适用于评估 iOS 应用安全态势、绕过客户端防护措施、 转储 Keychain 条目、检查文件系统存储以及评估运行时行为。当请求涉及 iOS 安全测试、 Objection 运行时分析、基于 Frida 的 iOS 评估或移动运行时探测时激活。

9 stars

Best use case

analyzing-ios-app-security-with-objection is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

使用基于 Frida 的工具包 Objection 对 iOS 应用程序进行运行时移动安全探测, 无需越狱即可与应用内部交互。适用于评估 iOS 应用安全态势、绕过客户端防护措施、 转储 Keychain 条目、检查文件系统存储以及评估运行时行为。当请求涉及 iOS 安全测试、 Objection 运行时分析、基于 Frida 的 iOS 评估或移动运行时探测时激活。

Teams using analyzing-ios-app-security-with-objection 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/analyzing-ios-app-security-with-objection/SKILL.md --create-dirs "https://raw.githubusercontent.com/killvxk/cybersecurity-skills-zh/main/skills/analyzing-ios-app-security-with-objection/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/analyzing-ios-app-security-with-objection/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How analyzing-ios-app-security-with-objection Compares

Feature / Agentanalyzing-ios-app-security-with-objectionStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

使用基于 Frida 的工具包 Objection 对 iOS 应用程序进行运行时移动安全探测, 无需越狱即可与应用内部交互。适用于评估 iOS 应用安全态势、绕过客户端防护措施、 转储 Keychain 条目、检查文件系统存储以及评估运行时行为。当请求涉及 iOS 安全测试、 Objection 运行时分析、基于 Frida 的 iOS 评估或移动运行时探测时激活。

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

# 使用 Objection 分析 iOS 应用安全

## 适用场景

以下情况使用本 skill:
- 在授权渗透测试(penetration test)期间对 iOS 应用程序执行运行时安全评估
- 检查 iOS Keychain、文件系统和内存中的敏感数据暴露情况
- 在安全测试期间绕过客户端安全控制(SSL pinning、越狱检测)
- 在无法访问源代码的情况下评估 iOS 应用的运行时行为

**不适用于**:在没有明确授权的情况下在生产设备上使用本 skill——Objection 会修改应用运行时行为,可能触发安全监控。

## 前置条件

- Python 3.10+ 及 pip
- 已安装 Objection:`pip install objection`
- 已安装 Frida:`pip install frida-tools`
- 目标 iOS 设备(已越狱并安装 Frida server,或已重新打包 IPA 的非越狱设备)
- 非越狱设备需使用 `objection patchipa` 向 IPA 注入 Frida gadget
- iOS 测试推荐使用 macOS(需要 Xcode、ideviceinstaller)
- USB 连接目标设备或网络 Frida server

## 工作流程

### 步骤 1:准备测试环境

**针对越狱设备:**
```bash
# 通过 Cydia/Sileo 在设备上安装 Frida server
# SSH 登录设备并启动 Frida server
ssh root@<device_ip> "/usr/sbin/frida-server -D"

# 验证 Frida 连接
frida-ps -U  # 列出 USB 连接设备上的进程
```

**针对非越狱设备(授权测试):**
```bash
# 向 IPA 注入 Frida gadget
objection patchipa --source target.ipa --codesign-signature "Apple Development: test@example.com"

# 安装已打包的 IPA
ideviceinstaller -i target-patched.ipa
```

### 步骤 2:将 Objection 附加到目标应用

```bash
# 通过 bundle ID 附加到正在运行的应用
objection --gadget "com.target.app" explore

# 或启动新的应用进程
objection --gadget "com.target.app" explore --startup-command "ios hooking list classes"
```

附加成功后,Objection 提供交互式 REPL 进行运行时探测。

### 步骤 3:评估数据存储安全(MASVS-STORAGE)

```bash
# 转储应用可访问的 iOS Keychain 条目
ios keychain dump

# 列出应用沙盒中的文件
ios plist cat Info.plist
env  # 显示应用环境路径

# 检查 NSUserDefaults 中的敏感数据
ios nsuserdefaults get

# 列出 SQLite 数据库
sqlite connect app_data.db
sqlite execute query "SELECT * FROM credentials"

# 检查粘贴板中的敏感数据
ios pasteboard monitor
```

### 步骤 4:评估网络安全(MASVS-NETWORK)

```bash
# 禁用 SSL/TLS 证书固定(certificate pinning)
ios sslpinning disable

# 通过 Burp Suite 代理观察流量,验证 pinning 是否已绕过
# 监控与网络相关的类方法调用
ios hooking watch class NSURLSession
ios hooking watch class NSURLConnection
```

### 步骤 5:检查身份认证与授权(MASVS-AUTH)

```bash
# 列出所有 Objective-C 类
ios hooking list classes

# 搜索与认证相关的类
ios hooking search classes Auth
ios hooking search classes Login
ios hooking search classes Token

# Hook 认证方法以观察参数
ios hooking watch method "+[AuthManager validateToken:]" --dump-args --dump-return

# 监控生物认证调用
ios hooking watch class LAContext
```

### 步骤 6:评估二进制保护(MASVS-RESILIENCE)

```bash
# 检查越狱检测实现
ios jailbreak disable

# 模拟越狱检测绕过
ios jailbreak simulate

# 列出已加载的框架和库
memory list modules

# 在内存中搜索敏感字符串
memory search "password" --string
memory search "api_key" --string
memory search "Bearer" --string

# 转储特定内存区域
memory dump all dump_output/
```

### 步骤 7:检查平台交互(MASVS-PLATFORM)

```bash
# 列出应用注册的 URL scheme
ios info binary
ios bundles list_frameworks

# Hook URL scheme 处理程序
ios hooking watch method "-[AppDelegate application:openURL:options:]" --dump-args

# 监控剪贴板访问
ios pasteboard monitor

# 检查自定义键盘限制
ios hooking search classes UITextField
```

## 核心概念

| 术语 | 定义 |
|------|-----------|
| **Objection** | 基于 Frida 构建的运行时移动探测工具包,提供用于常见安全测试任务的预置脚本 |
| **Frida Gadget** | 注入到应用进程中的共享库,无需越狱即可实现 Frida 插桩 |
| **Keychain** | iOS 安全凭据存储系统;Objection 可转储目标应用 keychain access group 可访问的条目 |
| **SSL Pinning 绕过** | 对证书验证逻辑进行运行时修改,允许代理拦截 HTTPS 流量 |
| **方法 Hook(Method Hooking)** | 在运行时拦截 Objective-C/Swift 方法调用,以观察参数、返回值并修改行为 |

## 工具与系统

- **Objection**:高级 Frida 驱动的移动安全探测工具包,提供预置命令
- **Frida**:动态插桩(Dynamic instrumentation)框架,向原生应用进程注入 JavaScript
- **Frida-tools**:Frida 的 CLI 工具,包括 frida-ps、frida-trace 和 frida-discover
- **ideviceinstaller**:通过 USB 安装/管理 iOS 应用的跨平台工具
- **Burp Suite**:SSL pinning 绕过后用于拦截流量的 HTTP 代理

## 常见陷阱

- **附加时应用崩溃**:某些应用实现了 Frida 检测。使用 `--startup-command` 在应用生命周期早期 hook 反 Frida 检测逻辑。
- **Keychain 访问范围**:Objection 只能转储应用 access group 内的 Keychain 条目。系统级 Keychain 条目需要单独的越狱级工具。
- **Swift 名称混淆(name mangling)**:Swift 方法名在运行时会被混淆。使用 `ios hooking list classes` 配合 grep 查找反混淆后的名称。
- **修改不持久**:所有 Objection 修改仅在运行时生效,应用重启后恢复原状。请立即记录发现的问题。

Related Skills

triaging-security-incident

9
from killvxk/cybersecurity-skills-zh

使用 NIST SP 800-61r3 和 SANS PICERL 框架对安全事件进行初始分类,确定严重性、范围和所需响应行动。 按类型对事件分类,根据业务影响分配优先级,并路由到相应的响应团队。适用于事件分类、 安全告警分类、严重性评估、事件优先级排序或初始事件分析等请求场景。

triaging-security-incident-with-ir-playbook

9
from killvxk/cybersecurity-skills-zh

使用结构化 IR Playbook 对安全事件进行分类和优先排序,确定严重性、分配响应团队并启动适当的响应程序。

triaging-security-alerts-in-splunk

9
from killvxk/cybersecurity-skills-zh

在 Splunk Enterprise Security 中对安全告警进行分类,通过 SPL 查询和事件审查(Incident Review) 仪表板对重要事件进行严重性分类、调查、关联相关遥测并做出升级或关闭决策。 适用于 SOC 分析师需要处理关联搜索产生的告警队列、确定调查优先级, 或需要为交接给二/三级分析师记录分类决策时。

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-jwt-token-security

9
from killvxk/cybersecurity-skills-zh

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

testing-api-security-with-owasp-top-10

9
from killvxk/cybersecurity-skills-zh

使用自动化和手工测试技术,针对 OWASP API 安全 Top 10 风险对 REST 和 GraphQL API 端点进行系统性评估。

performing-wireless-security-assessment-with-kismet

9
from killvxk/cybersecurity-skills-zh

使用 Kismet 通过被动射频监控进行无线网络安全评估,检测流氓接入点(Rogue AP)、隐藏 SSID、弱加密和未授权客户端。

performing-ssl-tls-security-assessment

9
from killvxk/cybersecurity-skills-zh

使用 sslyze Python 库评估 SSL/TLS 服务器配置,评估加密套件、证书链、协议版本、HSTS 头部,以及 Heartbleed 和 ROBOT 等已知漏洞。

performing-soap-web-service-security-testing

9
from killvxk/cybersecurity-skills-zh

通过分析 WSDL 定义,测试 XML 注入(XML Injection)、XXE、WS-Security 绕过和 SOAPAction 欺骗,对 SOAP Web 服务执行安全测试。

performing-serverless-function-security-review

9
from killvxk/cybersecurity-skills-zh

对 AWS Lambda、Azure Functions 和 GCP Cloud Functions 中的无服务器函数(Serverless Function)执行安全审查,识别过度宽松的执行角色(Execution Role)、不安全的环境变量、注入漏洞和缺失的运行时保护措施。

performing-scada-hmi-security-assessment

9
from killvxk/cybersecurity-skills-zh

对 SCADA 人机界面(HMI, Human-Machine Interface)系统进行安全评估,识别基于 Web 的 HMI、瘦客户端配置、认证机制以及 HMI 与 PLC 之间通信信道中的漏洞,符合 IEC 62443 和 NIST SP 800-82 指南要求。

performing-s7comm-protocol-security-analysis

9
from killvxk/cybersecurity-skills-zh

对西门子SIMATIC S7 PLC使用的S7comm和S7CommPlus协议进行安全分析,识别漏洞,包括重放攻击、完整性绕过、未授权的CPU停止命令以及针对S7-300、S7-400、S7-1200和S7-1500控制器弱点的程序下载操控。