Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for TLSv1.3 CLIENT_HANDSHAKE_TRAFFIC_SECRET #116

Open
Pourliver opened this issue Jun 11, 2019 · 3 comments
Open

Add support for TLSv1.3 CLIENT_HANDSHAKE_TRAFFIC_SECRET #116

Pourliver opened this issue Jun 11, 2019 · 3 comments
Labels
enhancement New feature or request

Comments

@Pourliver
Copy link
Contributor

Pourliver commented Jun 11, 2019

Update: We worked around this issue by refusing TLS 1.3 connections and favoring 1.2 or others instead. This was merged in #193. This ticket initially reported the bug that was worked-around but is now used to track the efforts to support TLS 1.3 itself.

The CLIENT_RANDOM isn't enough to decrypt TLSv1.3 traffic. The following zip contains a pcap with TLSv1.3, the CLIENT_RANDOM, and a TLS debug file.

debug.zip

@Res260
Copy link
Collaborator

Res260 commented Jun 11, 2019

This seems to be caused by the fact that the format of the CLIENT_RANDOM has changed and is not fixed-length anymore, and that CLIENT_HANDSHAKE_TRAFFIC_SECRET should be used instead.

This should be a simple change in PyRDP, but I’m unsure how it can be done.

reference: https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/Key_Log_Format

@Res260
Copy link
Collaborator

Res260 commented Jun 11, 2019

Also, wireshark's tls dissector failure message:

tls13_load_secret Cannot find CLIENT_HANDSHAKE_TRAFFIC_SECRET, decryption impossible

@alxbl alxbl added this to the vNext milestone Mar 24, 2020
@obilodeau
Copy link
Collaborator

We merged a downgrade workaround in #193. Since this ticket contains a helpful pcap file, I'll turn it into a feature request and keep it.

@obilodeau obilodeau added the enhancement New feature or request label Mar 25, 2020
@obilodeau obilodeau changed the title TLSv1.3 established between client and MITM isn't decryptable with only CLIENT_RANDOM Add support for TLSv1.3 CLIENT_HANDSHAKE_TRAFFIC_SECRET Mar 25, 2020
@obilodeau obilodeau removed this from the vNext milestone Mar 25, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

4 participants