Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 

Repository files navigation

My-iOS-Pentesting-Cheatsheet

iOS Pentesting Obsidian

Welcome to My-iOS-Pentesting-Cheatsheet! This repository serves as a personal guide and reference for iOS penetration testing. Whether you're a beginner or an experienced pentester, this cheatsheet will aid you in your iOS security assessments.

Note: This is a continuously updated learning resource, and contributions/suggestions are highly welcome!

Table of Contents


Obsidian Vault - Visual Playbook

This repository now includes a comprehensive Obsidian-formatted iOS Pentesting Playbook located in the iOS Pentesting/ folder.

Quick Start with Obsidian

  1. Clone the repository:

    git clone https://github.com/Abhinandan-Khurana/My-iOS-Pentesting-Cheatsheet.git
  2. Open in Obsidian:

    • Download Obsidian if you haven't already
    • Launch Obsidian and click "Open folder as vault"
    • Select the cloned repository folder
    • Navigate to iOS Pentesting/iOS Pentesting.md - this is your starting hub
  3. Explore the Playbook:

    • Hub File: iOS Pentesting/iOS Pentesting.md - Central navigation point
    • Visual Canvas: iOS Pentesting/Maps/iOS Pentesting Canvas.canvas - Interactive workflow map
    • Bases Database: iOS Pentesting/Bases/iOS Pentesting Index.base - Searchable note index
    • 26+ Sections: Covering methodology, setup, analysis, and reporting

Features

  • Wikilinks: All notes are interconnected for seamless navigation
  • Canvas Map: Visual representation of the entire pentesting workflow
  • Bases: Database-style browsing of all notes with filtering
  • Graph View: Visualize connections between concepts (use Obsidian's built-in Graph View)

Folder Structure

iOS Pentesting/
├── iOS Pentesting.md              # Hub file - START HERE
├── Bases/
│   └── iOS Pentesting Index.base # Database view of all notes
├── Maps/
│   ├── iOS Pentesting Canvas.canvas  # Visual workflow map
│   └── Visual Workflow.md       # Embedded workflow views
├── Sections/                    # 26+ detailed sections
│   ├── Assessment Workflow.md
│   ├── Static Analysis.md
│   ├── Dynamic Analysis Setup.md
│   ├── Runtime Testing with Objection and Frida.md
│   └── ... (more sections)
├── Source/
│   └── ios_pentesting_playbook_beginner_to_advanced.md
└── Templates/
    └── Personal Notes Section.md

Introduction

iOS penetration testing involves assessing the security of iOS applications and devices to identify vulnerabilities that could be exploited by malicious actors. This cheatsheet compiles essential commands, tools, and methodologies to streamline your pentesting workflow.

Setup & Installation

Prerequisites

  • macOS: Strongly recommended for full iOS pentesting workflows (especially for Xcode/signing/simulator tasks).
  • Xcode: Install from the Mac App Store.
  • Homebrew: Package manager for macOS. Install with:
    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Installing Essential Tools

  1. Homebrew:

    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  2. Burp Suite:

    brew install --cask burp-suite
  3. Frida:

    brew install frida
  4. Objection (recommended via Python tooling for better version control):

    pipx install objection

    Alternative (if available in your environment):

    brew install objection
  5. Cycript (legacy):

    Cycript is mostly legacy for modern iOS workflows; prefer Frida/Objection first.

    # optional, only for compatible legacy lab setups
    brew install cycript

Tools

1. Burp Suite

A powerful web vulnerability scanner and proxy tool.

  • Usage: Intercept and modify traffic between the iOS app and the server.

2. Frida

A dynamic instrumentation toolkit for developers, reverse-engineers, and security researchers.

  • Usage: Inject scripts into iOS apps to bypass security mechanisms.

3. Objection

Runtime mobile exploration toolkit powered by Frida.

  • Usage: Jailbreak-free mobile exploration.

4. Cycript

A tool that combines JavaScript and Objective-C.

  • Usage: Inspect and modify iOS apps at runtime.

5. Xcode

Apple's IDE for macOS, used for developing iOS applications.

  • Usage: Reverse engineer and debug iOS applications.

Common Techniques

Reconnaissance

  • Identify Target App:

    ideviceinstaller -l
  • Acquire Testable Build (preferred order):

    1) Client-provided .ipa/.app
    2) Developer/test build via Xcode
    3) Authorized jailbreak + Frida-based dump workflow (scoped and approved)
    

    Exploitation

  • Bypass SSL Pinning with Frida:

    // frida script to bypass SSL pinning
  • Hooking Functions:

    frida -U -f com.target.app -l hook.js --no-pause

Post-Exploitation

  • Dumping Application Data:
    objection -U -g com.target.app explore
  • Extracting Sensitive Information:
    cycript -p <PID>

Resources

Contributing

Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

How to Contribute

  1. Fork the Repository
  2. Create a Branch: git checkout -b feature/AmazingFeature
  3. Commit Your Changes: git commit -m 'Add some AmazingFeature'
  4. Push to the Branch: git push origin feature/AmazingFeature
  5. Open a Pull Request

Guidelines

  • Ensure Code Quality: Follow consistent coding standards and include comments where necessary.
  • Update Documentation: If you add new features or tools, update the README accordingly.
  • Report Issues: Use the Issues section to report bugs or request features.

Happy Pentesting! 🔐📱

About

Welcome to My-iOS-Pentesting-Cheatsheet! This repository serves as my personal guide and reference for iOS penetration testing.

Topics

Resources

Stars

13 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors