🛠️iOS Application Pentesting
iOS PT Mindmap
Requirements
sudo pip install frida-toolsSetup libimobiledevice
Useful
Connect to device through usb
iproxy 2222 22ssh -p 2222 alpine/root@localhost
Extracting IPA from iOS
Reversing App
mv APP.ipa APP.zipunzip APP.zipmv Payload/App.app/* AppFiles/Analyzing
plist,jsonfilesDumping classes
class-dump-z APP > dump.txtReversing using Ghidra
Reversing using radare2
Framework
Flutter
reflutter -p file.ipajtool.ELF64 -S Appfor extracting_kDartIsolateSnapshotInstructionsUse reflutter-frida for hooking instruction (need output reflutter and above)
Dynamic Analysis
SSL Pinning Bypass
Binary Instrumentation
frida-ps -Ufrida -U -n app_name -l script.jsfrida -U -f bundleId -l script.jsfrida-trace -m "*[ClassName methodName]"frida-trace -U -f bundle_id -i "*cko*"frida-trace -U YourApp -m "*[NSURL* *HTTP*]"`frida-trace -U -f bundleId -m "-[WebView load*]
frida-trace -U -f BundleID -m "-[*WebView* *]
Frida Script
Interceptor.attach(Module.getExportByName('libc.so', 'read'), {
onEnter(args) {
this.fileDescriptor = args[0].toInt32();
},
onLeave(retval) {
if (retval.toInt32() > 0) {
/* do something with this.fileDescriptor */
}
}
});objection
objection -g <bundle_id> exploreimport script.js
Keychain
objectionios keychain dump --json keychain_dump.json
ScreenMirroring
Tools
Resources
https://github.com/Dado1513/frida-mobile-scripts/tree/master
Last updated