Sniffing Instagram packets iOS

okgoodjob

Newbie
Joined
Aug 2, 2023
Messages
4
Reaction score
2
I have jailbroken an iphone to gain access to the SSL killswitch 2 tweak and have turned off SSL. After setting everything up through Charles and installing the root certificate, I tried sniffing the requests from IG app however it does not load when I have proxy settings edited to proxy into Charles. The error is "Cannot load this page right now a technical difficulty has occurred" and a similar error occurs when I try access any of the more serious apps like Tik tok or Snapchat. However as soon as I turn off proxying but keep the SSL killswitch on and all other settings the same, all the apps load up fine. Anyone a bit more clever know a possible fix? I have tried using different methods to avoid having to set any proxy settings like ssh but I could not get the resources I was following to work. Are there any alternatives to sniff the requests without having to set a proxy, like saving the HTTP data locally and then opening it on PC?

I assume the error is the device check flagging up probably in combination of jailbreak and a known sniffer port as the proxy is instantly flagging up and blocking access to the application. When testing on Snapchat it gave an actual error code which when I searched up said it was a device related error. Facebook also had a similar response but the request I recorded was facebook mobile/reliability/event_log/upload which I also assume is some sort of device check that's blocking access same way Instagram is.
 
SSL Kill Switch 2 simply don't work on apps that has any custom pinning. Works for apps using the basic iOS system pinning, which is barely no one.
 
You also have to disable ssl pinning inside the app’s code (it has hardcoded ssl cert hash inside). Basically it compares your Charles cert’s hash with this hardcoded hash.

I know about this for sure, because in nomix clones for Android we implemented sniffing ssl traffic out-of-the-box. You just need to install Charles and add its cert to the phone and set pc as proxy and that’s it. I even made a livestream about this.

Also (at least on Android) you need to modify the app to accept “user” certs, not only “system”. Because “system” certs are ones that are pre-installed by vendor, and “user” certs are those you can install yourself.
 
Back
Top