Decrypts and logs a process's SSL/TLS traffic on all major platforms.
Project description
friTap
The goal of this project is to help researchers to analyze traffic encapsulated in SSL or TLS. For details have a view into the OSDFCon webinar slides or in this blog post.
This project was inspired by SSL_Logger and currently supports all major operating systems (Linux, Windows, Android). More platforms and libraries will be added in future releases.
Installation
Just clone the repository and run the friTap.py
file. Alternatively you can download the friTap standlone version from the release page.
Usage
On Linux/Windows/MacOS we can easily attach to a process by entering its name or its PID:
$ sudo ./friTap.py --pcap mycapture.pcap thunderbird
For mobile applications we just have to add the -m parameter to indicate that we are now attaching (or spawning) an Android or iOS app:
$ ./friTap.py -m --pcap mycapture.pcap com.example.app
Further ensure that the frida-server is running on the Android/iOS device. More examples on using friTap can be found in the USAGE.md. A detailed introduction using friTap on Android is under EXAMPLE.md as well.
Supported SSL/TLS implementations and corresponding logging capabilities
| Library | Linux | Windows | MacOSX | Android | iOS |
|---------------------------|---------------|---------------|----------|----------|--------------|
| OpenSSL | Full | R/W-Hook only | TBI | Full | TBI |
| BoringSSL | Full | R/W-Hook only | KeyEo | Full | KeyEo |
| NSS | R/W-Hook only | R/W-Hook only | TBI | TBA | TBI |
| GnuTLS | R/W-Hook only | R/W-Hook only | TBI | Full | TBI |
| WolfSSL | R/W-Hook only | R/W-Hook only | TBI | Full | TBI |
| MbedTLS | R/W-Hook only | R/W-Hook only | TBI | Full | TBI |
| Bouncycastle/Spongycastle | TBA | TBA | TBA | Full | TBA |
| Conscrypt | TBA | TBA | TBA | Full | TBA |
R/W-Hook only = Logging data sent and received by process
KeyEo = Only the keying material can be extracted
Full = Logging data send and received by process + Logging keys used for secure connection
TBA = To be answered
TBI = To be implemented
LibNO = This library is not supported for this plattform
We verified the Windows implementations only for Windows 10
Dependencies
- frida
-
= python3.6
- hexdump (
pip3 install hexdump
) - scapy (
pip3 install scapy
)
Planned features
- add the capability to alter the decrypted payload
- integration with https://github.com/mitmproxy/mitmproxy
- integration with http://portswigger.net/burp/
- add wine support
- add Flutter support
- add further libraries (have a look at this Wikipedia entry):
- Botan (BSD license, Jack Lloyd)
- LibreSSL (OpenBSD)
- Cryptlib (Peter Gutmann)
- S2n (Amazon)
- JSSE (Java Secure Socket Extension, Oracle)
- ...
- Working with static linked libraries
- Add feature to prototype TLS-Read/Write/SSLKEY functions
- improve iOS/MacOS support (currently under development)
- provide friTap as PyPI package
Contribute
Contributions are always welcome. Just fork it and open a pull request! More details can be found in the CONTRIBUTION.md.
Support
If you have any suggestions, or bug reports, please create an issue in the Issue Tracker.
In case you have any questions or other problems, feel free to send an email to:
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file friTap-1.0.5.3.tar.gz
.
File metadata
- Download URL: friTap-1.0.5.3.tar.gz
- Upload date:
- Size: 83.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | fdfe09dff809846cf68486b40c77774ea80f764796ffd721c6fbbb6cae7d7fb8 |
|
MD5 | 0eceddfbb1c15b82fd8b3c4d486c4b1a |
|
BLAKE2b-256 | ff7edb2294097e7c6ab6234888407901f4e3324b72b1a5881634470828e7f19c |
File details
Details for the file friTap-1.0.5.3-py3-none-any.whl
.
File metadata
- Download URL: friTap-1.0.5.3-py3-none-any.whl
- Upload date:
- Size: 132.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6061a05e0eb399372443c3fa387a0b5fc83a637d2bf7fd42c03f972035d3c1e3 |
|
MD5 | 973585606538b46f782947e190d28cfb |
|
BLAKE2b-256 | 953a7a57f10957a55b541a81ef7d9af7f3abf2e650dd084c30fccad692a96a1a |