0


Wireshark教程:解密HTTPS流量

摘要

在检查可疑的网络活动时,我们经常会遇到加密的流量。这是为什么那?因为大多数网站使用超文本传输协议安全(HTTPS)协议。但与大多数网站一样,各种类型的恶意软件也使用HTTPS。当查看恶意软件活动的pcap时,了解感染后流量中包含的信息对我们非常有用。

本次Wireshark教程介绍了如何解密来自 PCAP中 的 HTTPS 流量。使用包含最初记录 pcap 时捕获的加密密钥数据,它是基于文本的日志文件。有了这个密钥日志文件,我们可以解密 pcap 中的 HTTPS 活动并查看其内容。

今天,我们将检查来自Dridex恶意软件感染的HTTPS活动。

注意:我们的此次教程确认您已经按照前面教程中提到的“Wireshark–更改列显示”中的描述定制了Wireshark-列显示。

警告:本教程使用的pcap包含基于Windows的恶意软件。如果使用Windows计算机,则有感染的风险。建议您尽可能在离线环境中操作,如虚拟机。或者在非Windows环境中操作,如kali。

加密流量背后的故事

在20世纪90年代中后期,网站使用的最常见协议是超文本传输协议(HTTP),它生成未加密的网络流量。然而,随着安全问题变得越来越令人担忧,网站开始转向HTTPS,现在我们很少从网页浏览中看到HTTP流量。

HTTPS本质上是一个包含HTTP流量的加密通信隧道。这些隧道首先使用安全套接字层(SSL)作为加密协议。如今,大多数HTTPS流量使用传输层安全性(TLS)。

HTTPS Web流量

HTTPS流量通常会显示域名。例如,查看https://www.wireshark.org在web浏览器中显示,pcap会显示www.wireshark.org。在自定义的Wireshark列显示中查看时,作为此流量的服务器名称。不幸的是,我们不知道其他细节,比如实际的URL或从服务器返回的数据。遵循来自pcap的传输控制协议(TCP)流不会显示此流量的内容,因为它是加密的。

加密密钥日志文件

加密密钥日志是一个文本文件,如下图所示。

这些日志文件是在最初记录pcap时使用中间人(MitM)技术创建的。如果在记录pcap时没有创建此类文件,则无法解密该pcap中的HTTPS流量。

具有密钥日志文件的Pcap示例

注意,当使用密钥日志解密时,此ZIP存档中包含的pcap提供对基于Windows的恶意软件样本的访问。一如既往,我们建议您在非Windows环境或离线环境中谨慎行事。

从已感染的pcap和密钥日志文件的zip存档中打开。这将提供两个文件,如下图所示。

  • Wireshark-tutorial-KeysLogFile.txt
  • Wireshark-tutorial-on-decrypting-HTTPS-SSL-TLS-traffic.pcap

没有密钥日志文件的HTTPS流量

在Wireshark中打开此pcap。使用之前关于Wireshark过滤器的教程中描述的基本web过滤器,命令如下:

(http.request or tls.handshake.type eq 1) and !(ssdp)

此pcap来自Windows 10主机上的Dridex恶意软件感染。所有网络流量,包括感染活动,都是HTTPS。如果没有密钥日志文件,我们就看不到流量的任何细节,只有IP地址、TCP端口和域名,如下图所示。

加载密钥日志文件

使用菜单路径Edit(编辑)-->Preferences(首选项)

然后打开Protocols

从Protocols下面找到TLS,选择TLS后,应该会看到(Pre)-Master Secret日志文件名的行。点击“浏览”按钮,选择我们保存的密钥日志文件name.txt,找到你保存的密码数据。

加载密钥日志文件后的HTTPS流量

单击“OK”后, 在使用基本过滤器时,Wireshark列显示将在每个HTTPS行中列出解密的HTTP请求。

在这个pcap中,我们现在看到了对microsoft.com and skype.com的HTTP请求,前面隐藏在HTTPS流量中的.com域名。我们还发现由Dridex感染引起的以下流量:

  • foodsgoodforliver[.]com - GET /invest_20.dll
    
  • 105711[.]com - POST /docs.php
    

对foodsgoodforliver[.]com的GET请求返回了Dridex的DLL文件。发送到105711[.]com的POST请求是来自受Dridex感染的Windows主机的命令和控制(C2)流量。

我们可以通过追踪HTTP流来查看流量。右键选择它,然后左键单击以显示一个菜单,追踪流-HTTP流。下图显示了对foodsgoodforliver[.]com的HTTP GET请求的HTTP流。

由于我们有此流量的密钥日志文件,现在可以从pcap导出此恶意软件。使用文件-导出对象-HTTP对象,在HTTP对象列表中选择此对象从pcap导出此文件,如下图所示,记得不要更改软件名字哦。

您可以在Linux环境中,打开终端窗口并使用file命令确认这是一个DLL文件。然后使用shasum-a256获取文件的SHA256哈希,如图所示。如果你使用Google搜索此散列函数,您应该会找到公开可用的在线沙箱分析报告。


文件名sha256值invest_20.dll31cf42b2a7c5c558f44cfc67684cc344c17d4946d3a1e0b2cecb8eb58173cb2f

C2流量

最后,我们可以查看此次Dridex感染的C2流量。使用基本的web过滤器,然后跟踪从一个POST请求到105711[.]com的HTTP流。下图显示了其中一个HTTP流的示例。

注:转发请私聊me哦

标签: wireshark https 网络

本文转载自: https://blog.csdn.net/nuan444979/article/details/127103414
版权归原作者 暖、风 所有, 如有侵权,请联系我们删除。

“Wireshark教程:解密HTTPS流量”的评论:

还没有评论