https Daten mit Wireshark dekodieren

Oft stellt sich mir @work die Aufgabe, Netzwerktraffic auch in tcpdumps anzuschauen. Wenn die Daten mit SSL/TLS verschlüsselt sind, ist das genauso oft auch gerne ein Problem…

Encrypted-file

Aber heute habe ich es endlich mal geschafft, das zu *entschlüsseln*🙂
SSL Session, entschlüsselt in Wireshark

Die Erklärung zu der Frage „Wireshark cannot decrypt https traffic“ war der sehr hilfreich:

If you want to know if your session is using a full SSL handshake, check whether there is a „Certificate“ and „ClientKeyExchange“ handshake message in the SSL session that you are looking at. If not, it’s using a cached session. You can then check the SSL Session ID in the ServerHello message to see which session it was and look for other sessions in the tracefile with the same session ID. If one of these (the first one) does have a „Certificate“ and „ClientKeyExchange“ handshake message, then wireshark is able to decrypt all sessions with this session ID, if not, you’re out of luck as the full SSL handshake was not captured.

(Hervorhebungen von mir.)

Das war der Punkt — ich habe immer zu wenige Daten mitgeschnitten. Um entschlüsseln zu können, also:

  1. Früh genug anfagen, Daten aufzunehmen (→ tcpdump, snoop, …)
  2. In den Wireshark Einstellungen → Protocols → SSL aufrufen
  3. Bei dem Dialog bei RSA keys list auf Edit gehen und einen Schlüssel laden
    1. IP address: IP Adresse des Zielsystemes
    2. Port: Ziel Port
    3. Protocol: http (oder was anderes)
    4. Key File: Den Schlüssel vom Zielsystem laden
  4. Den Dump in Wireshark laden

Hier noch für „bildliche Menschen“ ein Screenshot von meinem Wireshark → Preferences Fenster.

Wireshark-Einstellungen → Protocols → SSL

Hat man genug Daten im Dump mitgeschnitten, so kann man im „Datenbereich“ die „Decrypted SSL data“ bewundern🙂

Wireshark-Decrypted-SSL-Data

Das Wireshark Wiki → SSL war da auch sehr hilfreich.

Wichtig ist im übrigen auch zu überprüfen, ob Wireshark mit GnuTLS kompiliert wurde. Bei Ubuntu 14.04 ist dies der Fall.

$ wireshark -v
wireshark 1.10.6 (v1.10.6 from master-1.10)
Copyright 1998-2014 Gerald Combs <gerald@wireshark.org> and contributors.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Compiled (64-bit) with GTK+ 3.10.7, with Cairo 1.13.1, with Pango 1.36.1, with
GLib 2.39.91, with libpcap, with libz 1.2.8, with POSIX capabilities (Linux),
without libnl, with SMI 0.4.8, with c-ares 1.10.0, with Lua 5.2, without Python,
with GnuTLS 2.12.23, with Gcrypt 1.5.3, with MIT Kerberos, with GeoIP, with
PortAudio V19-devel (built Feb 25 2014 21:09:53), with AirPcap.
Running on Linux 3.13.0-30-generic, with locale de_DE.UTF-8, with libpcap
version 1.5.3, with libz 1.2.8, GnuTLS 2.12.23, Gcrypt 1.5.3, without AirPcap.
 Intel(R) Core(TM) i5-2430M CPU @ 2.40GHz
Built using gcc 4.8.2.

Schreibe einen Kommentar

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s