iOS pentesting requires either a jailbroken device or a Corellium virtual device. This guide walks through the full setup: jailbreak, Frida, Objection, and Burp SSL interception — plus the core tools you need for every iOS assessment.
Device Options
Jailbroken Physical Device (Best)
Recommended devices by iOS version:
iOS Version
Device
Jailbreak Tool
iOS 14-16
iPhone X, 11, 12
Palera1n (A9-A11) / Dopamine (A12+)
iOS 15-16
iPhone 8-14
Dopamine / Fugu15
iOS 16
Various
Palera1n (semi-tethered for A9-A11)
iOS 17
A12+
dopamine (check jailbreaks.app)
Check jailbreaks.app before purchasing a device — jailbreak availability changes frequently.
Corellium (Paid, no physical device needed)
Virtual iOS devices with built-in Frida, SSH, and VPN support. Expensive but worth it for corporate use.
Simulator (Limited)
Xcode Simulator can’t run production apps. Useful only for apps built and signed by you.
# Connect device, put in DFU mode # Run jailbreak ./palera1n --rootful # rootful jailbreak (recommended for pentesting)
# After jailbreak, install Sileo or Cydia # Add source: https://build.frida.re # Install: Frida
SSH Access
After jailbreak, install OpenSSH from Cydia/Sileo.
# Connect via USB (recommended — no network exposure) iproxy 2222 22 & # forward USB port to local TCP ssh root@localhost -p 2222 # Default password: alpine — change immediately! passwd
# Or via WiFi ssh root@DEVICE_IP
Frida on iOS
# On device (via Sileo/Cydia): install Frida from https://build.frida.re
# On Mac: pip install frida-tools
# Verify frida-ps -U # list processes frida-ps -Uai # list apps
# Attach to app frida -U -n "com.target.app" -l script.js
1. Open Safari, go to: http://burpsuite/ 2. Download CA certificate 3. Settings → General → VPN & Device Management → Install certificate 4. Settings → General → About → Certificate Trust Settings → Enable for Burp CA
On iOS 14+
Apple requires full trust for root certificates:
Settings → General → About → Certificate Trust Settings Enable the Burp certificate here
Use for binary analysis. Export the decrypted binary from jailbroken device first.
Keychain Analysis
# Via Objection ios keychain dump --json /tmp/keychain.json
# Via Frida # keychain-dumper tool ./keychain-dumper > keychain.txt
# Via SSH on device keychain-dumper -a # dump all
File System Access
# App's sandbox (jailbreak required for full access) ls /var/containers/Bundle/Application/*/com.target.app.app/ ls /var/mobile/Containers/Data/Application/*/
No comments yet. Be the first.