Take the 2-minute tour ×
Information Security Stack Exchange is a question and answer site for Information security professionals. It's 100% free, no registration required.

I'm doing some research into the privacy of various iOS applications. My main source of data is via wireshark or Burp (HTTP/S proxy). This has been rather sucessfull for MiTM for decrypting HTTPS traffic, however the app I'm focusing on right now appears to encapsulate XMPP/Jabber traffic in TLS, hence it does not go via the proxy and I cannot decrypt.

Is anyone aware of a good tool that acts as a general purpose protocol agnostic TLS proxy?, which will allow me to load a cert on the iOS device and the machine acting as the TLS proxy to ultimately view the unencrypted payload?

I've been looking at stunnel, but can't figure out if this is going to do the trick.

Thanks!

share|improve this question

4 Answers 4

up vote 3 down vote accepted

You will want to read the following paper:

This is a fantastic piece of work that performs static analysis of iOS applications to detect privacy leaks.

They build a static analysis tool that analyzes iOS applications, detecting what private data the app reads, whether it sends that private data out over the network, and if so, to where. They then apply their static analysis tool to a large collection of iOS apps and show that their tool is effective and highly accurate; their work finds a large number of apps that are leaking private data (e.g., the unique ID of the phone that the app is running on).

I'd expect static analysis to be more effective than examining network traffic, and less tedious to use, so it is an important alternative to the approach you are currently taking.

Overall, this is a brilliant, innovative piece of research that I encourage you to read carefully.

share|improve this answer

You could try your luck with ettercap. You can configure it with a private key to use, and configure the cert that belongs with it in the iPhone's keystore. I'm not sure wether it picks up non-port-443 traffic by default, but I think it's able to decrypt any TLS connection if it has the key.

share|improve this answer

AFAIK Jabber and XMPP are XML based protocols, so there's no real reason why Burp couldn't intercept them.

Where you may be having problems is that there's no way within the client app to specify a proxy.

What I've done in the past with burp in this kind of instance is to use the "Support invisible proxying for non-proxy-aware client" option in the proxy options tab. you can specify your endpoint server and port there and then in the client specify a target server of the burp IP address and port and it'll forward on from there.

share|improve this answer

you can try using Fiddler2, it has the option of generating certificates for iOS devices and it can intercept and decrypt HTTPS traffic.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.