Description
Utility for sniffing SSL/TLS encrypted traffic on a jailbroken iOS device.
CFNetwork.framework contains a debug/verbosity global, enforcing a dump of every packet transferred through it, to be
logged into device syslog in plaintext form. In order to have a nicer view with clean control flow of this traffic, we
attach each such packet appropriate TCP flags and write it back into a PCAP file.
This allows us to later dissect this traffic using popular and convenient tools (e.g. Wireshark 🦈). Assuming you have a jailbroken iOS device, this Python3 tool can automate this process.
Installation
python3 -m pip install -U iosslsniffer
Prerequisites
Enable logging global
This package relies on the ability to modify Apples logging global, Thus requires a jailbroken device.
In addition, a global preference key is need to set AppleCFNetworkDiagnosticLogging.
Howto
- Download and install
rpc_serveron a jailbroken device. - Setting logging global, this can be done manually or using the integrated
rpc_clientin the sniffer.- To use integrated
rpc_clientjust provide therpc_serverport:python3 -m iosslsniffer setup -p 5910 python3 -m iosslsniffer sniff
- Manually connect to
rpc_server:- Set
AppleCFNetworkDiagnosticLoggingto 3 (restart required) - Execute
p.syslog.set_harlogger_for_all(True)user@Users-Mac-mini-7 ~/ @ rpcclient 127.0.0.1 Welcome to the rpcclient interactive shell! You interactive shell for controlling the remote rpcserver. Feel free to use the following globals: 🌍 p - the injected process 🌍 symbols - process global symbols Have a nice flight ✈️! Starting an IPython shell... 🐍 In [1]: pref = p.preferences.sc.open('/private/var/Managed Preferences/mobile/.GlobalPreferences.plist') In [2]: pref.set('AppleCFNetworkDiagnosticLogging',3) restart......... In [1]: p.syslog.set_harlogger_for_all(True)
- Set
- To use integrated
CFNetworkDiagnostics
In order to enable CFNetworkDiagnostics the key AppleCFNetworkDiagnosticLogging needs to be set, this is done as
part of iosslsniffer setup command.
A restart is required incase the key was not set.
Usage
Usage: python -m iosslsniffer [OPTIONS] COMMAND [ARGS]...
Options:
--help Show this message and exit.
Commands:
setup Setup all prerequisites required inorder to sniff the SSL traffic
sniff Sniff the traffic
Metadata
Release files for iosslsniffer 0.0.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| iosslsniffer-0.0.2.tar.gz | 8.9 kB | Without provenance | Details for iosslsniffer-0.0.2.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| iosslsniffer-0.0.2-py3-none-any.whl | Python 3 | none | any | Details for iosslsniffer-0.0.2-py3-none-any.whl |
Total release size: 17.3 kB
Release files / iosslsniffer-0.0.2.tar.gz
| Download URL | iosslsniffer-0.0.2.tar.gz |
|---|---|
| Size | 8.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
681a3b9117a69dc213d15ab91d38b18a6b0d31cc20f2e2833e755786be6e5398
|
|
BLAKE2b-256 checksum How to use checksums |
09c813c1e99f2567ebfaf929a30b7fd369e91d588c320728fe5db0d42c62014b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.4
|
Release files / iosslsniffer-0.0.2-py3-none-any.whl
| Download URL | iosslsniffer-0.0.2-py3-none-any.whl |
|---|---|
| Size | 8.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c6ab8482fd33fdc6eaf0c8bd798b16ad59268151065cb652e3256c1e391ee00b
|
|
BLAKE2b-256 checksum How to use checksums |
97b1e0fa964d4cd437b3b8abc94ad0457f6565a4c26186faf77038b1d15a7187
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.4
|
Security for iosslsniffer 0.0.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.