Wireshark怎样解密HTTPS流量
Wireshark怎样解密HTTPS流量,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
在审查可疑网络活动时,经常遇到加密流量。大多数网站使用HTTPS协议,各种类型的恶意软件也使用HTTPS,查看恶意软件产生的数据对于了流量内容非常有帮助。
如何利用Wireshark从pcap中解密HTTPS流量。
可以使用基于文本的日志进行解密方法,日志中包含最初记录pcap时捕获的加密密钥数据。
HTTPS Web流量
HTTPS流量通常显示一个域名。 例如,在Web浏览器中查看https://www.wireshark.org,在自定义的Wireshark列显示中查看时,pcap将显示www.wireshark.org作为此流量的服务器名称。但无法知道其他详细信息,例如实际的URL或从服务器返回的数据。
加密密钥日志文件
加密密钥日志是一个文本文件。
最初记录pcap时,使用中间人(MitM)技术创建这些日志。 如果在记录pcap时未创建任何此类文件,则无法解密该pcap中的HTTPS通信。
示例分析
有密钥日志文件的HTTPS流量
Github存储库中有一个受密码保护的ZIP文件,其中包含pcap及其密钥日志文件。ZIP中包含的pcap通过密钥日志解密后,可以访问恶意软件样本。
从ZIP(密码:infected)中提取pcap和密钥日志文件:
Wireshark-tutorial-KeysLogFile.txtWireshark解密HTTPS-SSL-TLS-traffic.pcap教程
没有密钥日志文件的HTTPS流量
在Wireshark中打开解密的HTTPS-SSL-TLS-traffic.pcap Wireshark教程,使用Web筛选器:
(http.request或tls.handshake.type eq 1)和!(ssdp)
此pcap来自Windows 10主机上的Dridex恶意软件,所有Web流量(包括感染活动)都是HTTPS。 没有密钥日志文件,看不到流量的任何详细信息,只有IP地址,TCP端口和域名:
加载密钥日志文件
在Wireshark中打开解密的HTTPS-SSL-TLS-traffic.pcap Wireshark,使用菜单路径Edit -> Preferences来打开Preferences菜单:
在Preferences菜单的左侧,单击Protocols:
如果使用的是Wireshark版本2.x,需要选择SSL。 如果使用的是Wireshark 3.x版,需要选择TLS。选择SSL或TLS后,可以看到(Pre)-Master-Secret日志文件名。 单击"浏览",然后选择名为Wireshark-tutorial-KeysLogFile.txt的密钥日志文件:
密钥日志文件的HTTPS流量
单击"确定"后,Wireshark会在每条HTTPS行下列出解密的HTTP请求:
在此pcap中可以看到隐藏在HTTPS通信中对microsoft.com和skype.com域的HTTP请求,还发现由Dridex发起的以下流量:
foodsgoodforliver[.]com - GET /invest_20.dll105711[.]com - POST /docs.php
对foodsgoodforliver[.]com的GET请求返回了Dridex的DLL文件。 对105711[.]com的POST请求是来自受Dridex感染的Windows主机的命令和控制(C2)通信。
针对foodsgoodforliver[.]com的HTTP GET请求的HTTP流:
可以从pcap导出此恶意软件,使用菜单路径文件->导出对象-> HTTP从pcap导出该文件:
使用file命令确认这是一个DLL文件,然后使用shasum -a 256获取文件的SHA256哈希:
该恶意软件的SHA256哈希为:
31cf42b2a7c5c558f44cfc67684cc344c17d4946d3a1e0b2cecb8e*173cb2f
还可以检查来自此Dridex感染的C2流量,下图显示了其中一个HTTP流的示例:
看完上述内容,你们掌握Wireshark怎样解密HTTPS流量的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!