Networking/Computing Tips/Tricks

I am often asked how SSL and TLS can be decrypted in Wireshark captures.  The procedure/experiment below will allow you to uncover this process and practice it using a capture provided and SSL/TLS keys - also provided.

Let's start by first downloading a ZIP file here.  I suggest unzipping this to your desktop, as all procedures below are illustrated that way.

Assuming you have done so, you will have the following three files:

Screen Shot 2017 07 15 at 10.35.58 AM

Step 1: Open the .pcapng File

If you have Wireshark installed, you should simply be able to double click it.  The Wireshark screen should look like this if you are in the default profile:

Screen Shot 2017 07 15 at 10.41.15 AM

A little note:  We have the TRANSUM plugin enabled.  It is not necessary, so do not worry about the TRANSUM information.

A quick study of the capture reveals TCP and the content is encrypted.  So we have no real idea of what is going on.  Looking at packet #4:

Screen Shot 2017 07 15 at 10.44.41 AM

By the way the Random field is part of the TLS key!

You also see that packet 11 is just application data and we have no idea what it is.

Step 2: Using the SSL Key

To unlock this capture, we need two things:  the SSL key, and the TLS key.

We begin by configuring the SSL Key.

Go to Wireshark> Preferences on a MAC or Edit> Preferences on a Windows machine.  With either you will get the following screen:

Screen Shot 2017 07 15 at 10.48.20 AM

Now select the Protocols, and scroll down to the SSL Protocol:

Screen Shot 2017 07 15 at 10.49.44 AM

Next, click the Edit button next to RSA Keys list.  The following pop up will appear:

Screen Shot 2017 07 15 at 10.51.14 AM

This screen allows you to configure multiple keys.  The cool thing is that Wireshark will use whatever key works!

Click the "+" sign to add a new key, and enter the information as shown (the system will begin expecting the IP Address, then tab to the Port and Protocol fields; you have to click the area just below the Key File to open the file navigation and ofcourse you will select TheSSL.key file that was unzipped to your desktop):

Screen Shot 2017 07 15 at 10.54.18 AM

Click OK.

Step 3: Adding the TLS Key

Now, select the browse button to configure the Master Secret log filename (TheTLS.key that should be on your desktop):

Screen Shot 2017 07 15 at 10.59.24 AM

Click the OK button.

At this point the display in Wireshark is going to change:

Screen Shot 2017 07 15 at 11.01.39 AM

Now we see that packet 11, for instance, is actually OpenFlow, and Wireshark has been able to dissect the protocol.

Congratulations!  

You have successfully configured Wireshark to decrypt SSL and TLS.

Anything you would add?

 

Subscribe to our Newsletter!

Our Tag Cloud

4G Networks 6LoWLAN 6LoWPAN 802.11 802.11ah 802.11ax 802.11ay 802.11az Addressing Airlines Analysis Ansible Apple Architecture ARP Associations ATM AToM Bandwidth BGP Billing Bloom's Taxonomy Cable CellStream Central Office Cheat Sheet Cisco Click Model Cloud Computer Consulting Crowd Funding Data Center Data Networking Decryption Design DHCPv6 dig DNS Documentation Early Adopter Ethernet Ethics Filter Fragmentation GNS3 Google Hands-On Hiring History Home Network HTTPS ICMP ICMPv6 Image Size Internet IoT IPv4 IPv6 IS-IS L2VPN L3VPN LDP Linux LLN M-BGP MAC Macro Management mergecap Microsoft mininet Monitoring MPLS Multicast Netcat NetMon netsh Networking News nmap NMS nslookup Online School OpenFlow OSPF OSX OTT PDF Personnel Policy POTS POTS to Pipes PPP Preview Privacy Profile Project Management PW3E QoS Remote Desktop Requirements RFI RIP Routing RPL RSVP Rural Scanning SDN Security Sensor Service Provider Small Business SONET Spam Speed SS7 SSL Subnetting SWOT T-Shark TCP TCP/IP Technology Telco Telecommunications Terminal TLS Tools TR-069 Traffic Engineering Training TRANSUM Travel Tunnel Ubuntu Utility Video Virtualization VoIP VRF WAVE Wi-Fi Windows Wireless Wireless 5G Wireshark WLAN ZigBee

Our Twitter Feed