Welcome to My-iOS-Pentesting-Cheatsheet! This repository serves as my personal guide and reference for iOS penetration testing. Whether you're a beginner or an experienced pentester, I hope this cheatsheet will aid you in your iOS security assessments.
Note: I am continuously learning and updating this cheatsheet, so contributions and suggestions are highly welcome!
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.
- macOS: Required for most iOS pentesting tools.
- 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)"
-
Homebrew:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
-
Burp Suite:
brew install --cask burp-suite
-
Frida:
brew install frida
-
Objection:
brew install objection
-
Cycript:
brew install cycript
A powerful web vulnerability scanner and proxy tool.
- Usage: Intercept and modify traffic between the iOS app and the server.
A dynamic instrumentation toolkit for developers, reverse-engineers, and security researchers.
- Usage: Inject scripts into iOS apps to bypass security mechanisms.
Runtime mobile exploration toolkit powered by Frida.
- Usage: Jailbreak-free mobile exploration.
A tool that combines JavaScript and Objective-C.
- Usage: Inspect and modify iOS apps at runtime.
Apple's IDE for macOS, used for developing iOS applications.
- Usage: Reverse engineer and debug iOS applications.
- Identify Target App:
ideviceinstaller -l
- Extract IPA:
ideviceinstaller -u <UDID> -i <AppName>
-
Bypass SSL Pinning with Frida:
// frida script to bypass SSL pinning
-
Hooking Functions:
frida -U -f com.target.app -l hook.js --no-pause
- Dumping Application Data:
objection -U -g com.target.app explore
- Extracting Sensitive Information:
cycript -p <PID>
- HackTricks iOS Pentesting
- Frida Documentation
- Objection GitHub
- Cycript GitHub
- OWASP Mobile Security Project
Contributions are what make the open-source community such an amazing place to learn, inspire, and create. **Any contributions you make are greatly appreciated.
- Fork the Repository
- Create a Branch:
git checkout -b feature/AmazingFeature
- Commit Your Changes:
git commit -m 'Add some AmazingFeature'
- Push to the Branch:
git push origin feature/AmazingFeature
- Open a Pull Request
- 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! 🔐📱