本文へ移動
cccskills
無料GitHub で公開

analyzing-ios-app-security-with-objection

Runtime iOS app security testing with Objection (Frida): inspect keychain and filesystem data, explore app internals at runtime, and validate/bypass client-side protections during authorized mobile assessments.

インストール方法を見る

含まれるファイル(8)

  • SKILL.md6.4 KB
  • assets/template.md2.1 KB
  • LICENSE11.0 KB
  • references/api-reference.md3.4 KB
  • references/standards.md2.6 KB
  • references/workflows.md4.1 KB
  • scripts/agent.py7.1 KB
  • scripts/process.py10.8 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Analyzing iOS App Security with Objection

When to Use

Use this skill when:

  • Performing runtime security assessment of iOS applications during authorized penetration tests
  • Inspecting iOS keychain, filesystem, and memory for sensitive data exposure
  • Bypassing client-side security controls (SSL pinning, jailbreak detection) during security testing
  • Evaluating iOS app behavior at runtime without access to source code

Do not use this skill on production devices without explicit authorization -- Objection modifies app runtime behavior and may trigger security monitoring.

Prerequisites

  • Python 3.10+ with pip
  • Objection installed: pip install objection
  • Frida installed: pip install frida-tools
  • Target iOS device (jailbroken with Frida server, or non-jailbroken with repackaged IPA)
  • For non-jailbroken: objection patchipa to inject Frida gadget into IPA
  • macOS recommended for iOS testing (Xcode, ideviceinstaller)
  • USB connection to target device or network Frida server

Workflow

Step 1: Prepare the Testing Environment

For jailbroken devices:

# Install Frida server on device via Cydia/Sileo
# SSH to device and start Frida server
ssh root@<device_ip> "/usr/sbin/frida-server -D"

# Verify Frida connectivity
frida-ps -U  # List processes on USB-connected device

For non-jailbroken devices (authorized testing):

# Patch IPA with Frida gadget
objection patchipa --source target.ipa --codesign-signature "Apple Development: test@example.com"

# Install patched IPA
ideviceinstaller -i target-patched.ipa

Step 2: Attach Objection to Target App

# Attach to running app by bundle ID
objection --gadget "com.target.app" explore

# Or spawn the app fresh
objection --gadget "com.target.app" explore --startup-command "ios hooking list classes"

Once attached, Objection provides an interactive REPL for runtime exploration.

Step 3: Assess Data Storage Security (MASVS-STORAGE)

# Dump iOS Keychain items accessible to the app
ios keychain dump

# List files in app sandbox
ios plist cat Info.plist
env  # Show app environment paths

# Inspect NSUserDefaults for sensitive data
ios nsuserdefaults get

# List SQLite databases
sqlite connect app_data.db
sqlite execute query "SELECT * FROM credentials"

# Check for sensitive data in pasteboard
ios pasteboard monitor

Step 4: Evaluate Network Security (MASVS-NETWORK)

# Disable SSL/TLS certificate pinning
ios sslpinning disable

# Verify pinning is bypassed by observing traffic in Burp Suite proxy
# Monitor network-related class method calls
ios hooking watch class NSURLSession
ios hooking watch class NSURLConnection

Step 5: Inspect Authentication and Authorization (MASVS-AUTH)

# List all Objective-C classes
ios hooking list classes

# Search for authentication-related classes
ios hooking search classes Auth
ios hooking search classes Login
ios hooking search classes Token

# Hook authentication methods to observe parameters
ios hooking watch method "+[AuthManager validateToken:]" --dump-args --dump-return

# Monitor biometric authentication calls
ios hooking watch class LAContext

Step 6: Assess Binary Protections (MASVS-RESILIENCE)

# Check jailbreak detection implementation
ios jailbreak disable

# Simulate jailbreak detection bypass
ios jailbreak simulate

# List loaded frameworks and libraries
memory list modules

# Search memory for sensitive strings
memory search "password" --string
memory search "api_key" --string
memory search "Bearer" --string

# Dump specific memory regions
memory dump all dump_output/

Step 7: Review Platform Interaction (MASVS-PLATFORM)

# List URL schemes registered by the app
ios info binary
ios bundles list_frameworks

# Hook URL scheme handlers
ios hooking watch method "-[AppDelegate application:openURL:options:]" --dump-args

# Monitor clipboard access
ios pasteboard monitor

# Check for custom keyboard restrictions
ios hooking search classes UITextField

Key Concepts

TermDefinition
ObjectionRuntime mobile exploration toolkit built on Frida that provides pre-built scripts for common security testing tasks
Frida GadgetShared library injected into app process to enable Frida instrumentation without jailbreak
KeychainiOS secure credential storage system; Objection can dump items accessible to the target app's keychain access group
SSL Pinning BypassRuntime modification of certificate validation logic to allow proxy interception of HTTPS traffic
Method HookingIntercepting Objective-C/Swift method calls at runtime to observe arguments, return values, and modify behavior

Tools & Systems

  • Objection: High-level Frida-powered mobile security exploration toolkit with pre-built commands
  • Frida: Dynamic instrumentation framework providing JavaScript injection into native app processes
  • Frida-tools: CLI utilities for Frida including frida-ps, frida-trace, and frida-discover
  • ideviceinstaller: Cross-platform tool for installing/managing iOS apps via USB
  • Burp Suite: HTTP proxy for intercepting traffic after SSL pinning bypass

Common Pitfalls

  • App crashes on attach: Some apps implement Frida detection. Use --startup-command to hook anti-Frida checks early in the app lifecycle.
  • Keychain access scope: Objection can only dump keychain items within the app's access group. System keychain items require separate jailbreak-level tools.
  • Swift name mangling: Swift method names are mangled in the runtime. Use ios hooking list classes with grep to find demangled names.
  • Non-persistent changes: All Objection modifications are runtime-only and reset on app restart. Document findings immediately.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Extract and decrypt Windows DPAPI-protected secrets (Credential Manager, browser logins/cookies, Wi-Fi credentials, KeePass keys) online or offline using SharpDPAPI, SharpChrome, Mimikatz, or Impacket's dpapi.py, including domain-wide decryption via the DPAPI backup key. Use during authorized red-team credential-access engagements after gaining a foothold or when triaging DPAPI blobs pulled from a host.

日本語の概要は準備中です。原文の説明を表示しています。

mukul975/Anthropic-Cybersecurity-Skills3.4万2026年8月31日 更新

Take over Active Directory accounts by writing attacker-controlled public keys to msDS-KeyCredentialLink (Shadow Credentials) with pyWhisker, Whisker, or Certipy, then authenticate via PKINIT to recover the target's NT hash without a password reset. Use when BloodHound shows GenericWrite/GenericAll/AddKeyCredentialLink over a target, as a stealthier alternative to ForceChangePassword, during authorized red-team engagements.

日本語の概要は準備中です。原文の説明を表示しています。

mukul975/Anthropic-Cybersecurity-Skills3.4万2026年8月31日 更新

Prepare a defense-contractor environment for CMMC Level 2 certification: scope CUI and FCI, implement the 110 NIST SP 800-171 Rev 2 security requirements across 14 families, compute the SPRS score with the DoD Assessment Methodology, manage a compliant POA&M, and ready the organization for a C3PAO assessment. Use when an organization handles Controlled Unclassified Information (CUI) under a DoD contract, when a contract carries DFARS clause 252.204-7012/7019/7020/7021, when preparing for or responding to a CMMC assessment, when computing or improving an SPRS score, when building a System Security Plan or POA&M for 800-171, or when scoping which systems are in the CUI boundary. Keywords: CMMC, CMMC Level 2, NIST 800-171, SP 800-171 Rev 2, CUI, FCI, SPRS, DFARS 7012, C3PAO, POA&M, System Security Plan, DoD Assessment Methodology, 110 controls, defense industrial base, DIB, FedRAMP equivalency.

日本語の概要は準備中です。原文の説明を表示しています。

mukul975/Anthropic-Cybersecurity-Skills3.4万2026年8月31日 更新

Create forensically sound bit-for-bit disk images with dd or dcfldd on a Linux forensic workstation, preserving evidence integrity through hash verification (MD5/SHA) during acquisition. Use when imaging a suspect drive, USB device, or memory card for investigation, preserving volatile disk evidence during incident response, or producing a verified copy for legal or law-enforcement proceedings before any destructive analysis.

日本語の概要は準備中です。原文の説明を表示しています。

mukul975/Anthropic-Cybersecurity-Skills3.4万2026年8月31日 更新

Detect dangerous ACL misconfigurations in Active Directory using ldap3 to identify GenericAll, WriteDACL, and WriteOwner abuse paths

日本語の概要は準備中です。原文の説明を表示しています。

mukul975/Anthropic-Cybersecurity-Skills3.4万2026年8月31日 更新

Perform static analysis of Android APK malware using apktool for resource decompilation, jadx for Java source recovery, and androguard for manifest inspection, dangerous permission-combination detection, and identification of obfuscated code, dynamic code loading, and reflection-based API calls. Use to statically triage a suspicious APK without executing it or to build mobile malware detection rules.

日本語の概要は準備中です。原文の説明を表示しています。

mukul975/Anthropic-Cybersecurity-Skills3.4万2026年8月31日 更新

mukul975 のスキルをすべて見る

このスキルの問題を報告する