-
-
Notifications
You must be signed in to change notification settings - Fork 2.7k
Description
During an iOS penetration test, I came across the following situation: The target app required a version larger than the latest jailbroken iOS, and it was only distributed through TestFlight. And this situation is becoming more common.
This lead me down a rabbit hole about how we can access iOS IPAs in 2025 and beyond.
So I tested the current (Dec 2025) available techniques methods to access iOS apps:
- Developers provides unencrypted IPA for mobile devices, Xcode-Simulator, Mac compatibility layer.
- Directly patch frida.re gadget and resign it using the appropriate
embedded.mobileprovision - Test it on a current stock device
- Directly patch frida.re gadget and resign it using the appropriate
- Download the prod IPA from the official store
- OS version requirement <= latest Jailbreak: use dynamic FairPlay decryption (e.g.
frida-ios-dump(MASTG-TOOL-0050) - OS version requirement > latest Jailbreak: Downgrade version and use static FairPlay decryption using TrollDecryptJB. However, this method only decrypted the main binary, not plugins an frameworks.
- OS version requirement <= latest Jailbreak: use dynamic FairPlay decryption (e.g.
- Download IPA from TestFlight
- OS version requirement <= latest Jailbreak: Test it on the jailbroken device directly.
- OS version requirement > latest Jailbreak: Basically out of luck?
The last point was a dead end for me. I intercepted the TestFlight traffic on an old jailbroken device using Burp, changed the OS version and tricked TestFlight into installing it on the old device. But the static decryption with TrollDecryptJB did not work. So without the decrypted IPA I was not able to fully test the profile MAS-L2.
My question though is: How should we address this situation in MASTG? Because one can argue, that this situation is very uncommon for ethical hackers as they work together with a developer which wants to provide the decrypted IPA. Such cases can happen.
In any case, I would like to update MASTG-TECH-0054: Obtaining and Extracting Apps to add the downgrade/TrollStoreJB technique for the app store IPA as this is useful for ethical security testers.