Wireshark教程:解密HTTPS流量


Wireshark教程:解密HTTPS流量

文章插图
 
#概述本教程面向进行流量分析的安全专业人员 。本教程假定你已经熟悉Wireshark的基本使用,并使用Wireshark 3.x版 。
在审查可疑的网络活动时,我们经常会遇到加密的流量 。因为大多数网站使用安全超文本传输?协议(HTTPS)协议 。和网站一样,各种类型的恶意软件也使用HTTPS 。在检查恶意软件活动中的PCAP时,了解感染后流量中包含的内容非常重要 。
该Wireshark教程讲解如何使用https日志文件从Wireshark中的pcap解密HTTPS流量 。该日志包含https加密密钥数据 。使用此密钥日志文件,我们可以从pcap中解密HTTPS活动并查看其内容 。
本教程以检查Dridex恶意软件感染的HTTPS活动作为例子 。
注意:该教程已假设你已经会自定义Wireshark显示方式了,如果不会可以参考教程:
https://unit42.paloaltonetworks.com/unit42-customizing-wireshark-changing-column-display/
本教程使用的pcap和密钥日志文件下载:
https://github.com/pan-unit42/wireshark-tutorial-decrypting-HTTPS-traffic
警告:本教程使用的pcap包含基于windows的恶意软件 。如果使用Windows计算机,则存在感染的风险 。我们建议您尽可能在非Windows环境(例如BSD,linux或macOS)中查看此pcap 。
#加密流量背景在1990年代中期至后期,网站使用的最常见协议是超文本传输??协议(HTTP),该协议生成未加密的Web流量 。但是,随着安全性日益受到关注,网站开始切换到HTTPS,现在我们很少看到来自Web浏览的HTTP流量 。
HTTPS本质上是一个包含HTTP流量的加密通信隧道 。这些隧道首先使用安全套接字层(SSL)作为加密协议 。如今,大多数HTTPS流量都使用传输层安全(TLS) 。
#HTTPS Web流量HTTPS流量通常会显示一个域名 。例如,当在Web浏览器中查看https://www.wireshark.org时,在自定义的Wireshark列显示中查看时,pcap将显示www.wireshark.org作为此流量的服务器名称 。不幸的是,我们不知道其他详细信息,例如实际的URL或从服务器返回的数据 。从传输控制协议(TCP)流看不会显示此流量的内容,因为它是经过加密的 。
Wireshark教程:解密HTTPS流量

文章插图
 

Wireshark教程:解密HTTPS流量

文章插图
 
#加密密钥日志文件加密密钥日志是一个文本文件 。如图所示 。
Wireshark教程:解密HTTPS流量

文章插图
 
这些日志是在最初记录PCAP时使用中间人(MITM)技术创建的 。如果在记录pcap时没有创建这样的文件,则无法解密该pcap中的HTTPS流量 。
#具有密钥日志文件的PCAP示例这个Github存储库提供了一个受密码保护的ZIP存档,其中包含pcap及其密钥日志文件 。转到Github页面,单击ZIP存档条目,然后下载它,如下图所示 。值得注意的是,此ZIP存档中包含的pcap在使用密钥日志解密时提供了对基于Windows的恶意软件示例的访问 。一如既往,我们建议您谨慎行事,并在非Windows环境中遵循本教程中的步骤 。
Wireshark教程:解密HTTPS流量

文章插图
 

Wireshark教程:解密HTTPS流量

文章插图
 
使用"infected"作为密码从ZIP存档中提取pcap和密钥日志文件 。这将提供两个文件,如图所示:
Wireshark教程:解密HTTPS流量

文章插图
 
#没有密钥日志文件的HTTPS流量在Wireshark中打开
Wireshark-tutorial-on-decrypting-HTTPS-SSL-TLS-traffic.pcap 。按照上一教程中关于Wireshark过滤器的说明,使用基本的网络过滤 。针对Wireshark 3.x的基本过滤是:
(http.request or tls.handshake.type eq 1) and !(ssdp)
此pcap来自Windows 10主机上的Dridex恶意软件感染 。所有Web流量(包括感染活动)都是HTTPS 。如果没有密钥日志文件,我们将无法看到流量的任何详细信息,只能看到IP地址、TCP端口和域名,如图所示 。
Wireshark教程:解密HTTPS流量

文章插图
 
#加载密钥日志文件在Wireshark中打开
Wireshark-tutorial-on-decrypting-HTTPS-SSL-TLS-traffic.pcap 。然后使用菜单Edit-->Preferences调出Preferences菜单,如图所示 。
Wireshark教程:解密HTTPS流量

文章插图
 
【Wireshark教程:解密HTTPS流量】在Preferences菜单的左侧,单击Protocol,如图所示 。


推荐阅读