三种不同场景解密TLS流量的方法

admin 2024年8月8日22:45:51评论98 views字数 2763阅读9分12秒阅读模式

part1

点击上方蓝字关注我们

往期推荐

开源跨平台高颜值十六进制编辑器

一款开源持续更新的后渗透免杀框架

EDR联动数据包封锁技术

一款舒适感极强的开源全流量监控工具

开源下一代Web应用程序防火墙(WAF)

强大的开源堡垒机系统

开源XDR威胁检测响应平台

开源恶意流量检测系统

Linux找回(破解)root账户密码的四种方法

一款跨平台比VNC更丝滑的远程桌面管理工具

将二进制空间安全设为"星标⭐️"

第一时间收到文章更新

1.摘要

三种不同场景解密TLS流量的方法
三种不同场景解密TLS流量的方法

TLS(传输层安全)协议通过加密数据来保护互联网通信的安全。然而,在某些条件下,TLS流量仍然可以被解密, 例如:攻击者拥有了服务器私钥或会话密钥或者攻击者成功执行了中间人攻击或泄漏了浏览器、客户端的记录会话密钥或错误配置和使用了不安全的协议版本等。一旦TLS流量被解密, 攻击者可以在Wireshark中分析解密的TLS流量, 防御者可以利用Suricata、Snort或Zeek等IDS来检测潜在的恶意TLS加密流量的应用层数据。以下探讨的三种场景包括:RSA私钥、TLS密钥日志和TLS代理。

2.RSA私钥

三种不同场景解密TLS流量的方法

利用RSA私钥一直以来都是检查SSL和TLS流量的首选方法。这种方法允许任何有权访问服务器的RSA私钥的人解密流量并检查应用层通信。

RSA密钥交换的最大缺点是缺乏前向保密性。前向保密性意味着即使攻击者获得了服务器的私钥,也无法解密之前的会话。然而,使用RSA密钥交换时,如果攻击者获取了服务器的私钥,他们可以解密过去的所有捕获流量,只要这些流量使用了相同的私钥。

只有满足以下所有条件时, 才能执行RSA私钥解密:

  • 协议版本为SSL 3.0、TLS 1.0、TLS 1.1或TLS 1.2(TLS 1.3中删除了RSA)。

  • 服务器已选择使用RSA密钥交换的密码套件,如TLS_RSA_B_AES_256_GCM_SHA384、TLS_RSA_B_AES_128_GCM_SHA256、TLS_RSA_B_AES_256_CBC_SHA256、TLS_RSA_B_AES_128_CBC_SHA256、TLS_RSA_B_AES_256_CBC_SHA或TLS_RSA_B_AES_128_CBC_SHA

  • 私钥与服务器证书匹配(无法使用客户端证书或中间证书或根证书解密通信)。

  • 会话尚未恢复(握手必须包含客户端密钥交换消息)。

在Wireshark中的筛选器中可以检查服务器是否选择了RSA密码,如图:

三种不同场景解密TLS流量的方法

可以使用以下命令来检查客户端密钥交换信息,如图:

三种不同场景解密TLS流量的方法

通过单击“编辑”、“首选项”和“RSA密钥”,可以将RSA私有密钥加载到Wireshark中。另一种方法是使用命令行工具tshark的-ouat:rsa_keys开关, 如图:

三种不同场景解密TLS流量的方法

3.TLS密钥日志

三种不同场景解密TLS流量的方法

如果提供了用于建立加密连接的预主密钥(可参考:https://wiki.wireshark.org/TLS#using-the-pre-master-secret), Wireshark可以解密捕获的网络流量中的TLS层。这些秘密或加密密钥信息可以从SSLKEYLOGFILE加载到Wireshark中,方法是单击编辑->首选项->协议->TLS,并将(Pre)-Master-Secret日志文件名设置为SSLKEYLOGFILE的路径。如图:

三种不同场景解密TLS流量的方法

另一种方法是将关键信息编码为pcap-ng文件中的元数据,并使用editcap, 如图:

三种不同场景解密TLS流量的方法

TLS密钥日志解密方法的主要缺点是: 只有Wireshark和tshark可以用于分析解密的TLS流量。另一个问题是,只有来自导出密钥日志的应用程序的流量才能被解密。如果计划分析来自恶意软件的流量,特别是如果想将解密的流量发送到IDS或网络安全监控工具进行分析,TLS密钥日志方法将不适用。另一方面,如果你想在Wireshark中分析来自你自己的Firefox或Chrome浏览器的网络流量,那么TLS密钥日志方法可能是最好的解决方案。

4.TLS流量检查代理

三种不同场景解密TLS流量的方法

TLS检查代理可以充当中间人,拦截和解密TLS流量,然后重新加密流量并将其转发到预期目的地。

使用TLS检查代理的一个主要优点是,即使应用程序使用具有前向保密性的现代密码并且不支持TLS密钥的日志记录,也可以从应用程序中分析解密的TLS流量。但是,缺点是客户端必须信任代理使用的根CA证书。

TLS检查代理通常在如何将解密的流量提供给外部工具方面有所不同。事实上,许多TLS检查代理和下一代防火墙仅将解密的有效负载提供给内部应用程序或设备。这种方法阻止了使用外部工具(如Wireshark、Snort、Suricata、Zeek或NetworkMiner)分析解密的流量。

另一种方法,例如像mitmproxy这样的代理使用,是为所有代理流量保存TLS密钥日志。这种方法允许使用Wireshark解密和检查往返于代理的捕获的TLS流量,但不能使用不支持使用密钥日志进行TLS解密的其他工具来检查应用层流量。

第三种也是最有利于集成的方法是以明文形式保存解密的流量,这样其他应用程序就可以检查未加密的流量,而不必解密TLS。一些TLS代理,如PolarProxy和SSLsplit,甚至可以将解密的流量保存到PCAP文件中。PCAP格式的解密TLS流量可以很容易地被其他工具捕获,或者被重放到网络接口,以供外部安全设备检查。

5.最佳方案总结

三种不同场景解密TLS流量的方法
  • 检查自己的浏览器流量方案: 使用TLS密钥日志检查来自Firefox、Chrome和curl的流量。对其他浏览器使用TLS检查代理。

  • 检查自己的HTTPS网站的流量方案:如果可以接受使用较旧的TLS版本和安全性较低的密码,使用RSA私钥检查。如果Web服务器可以配置为导出TLS密钥日志,则使用TLS密钥日志。如果想用Wireshark以外的东西来检查流量,则使用TLS检查代理。

  • 使用IDS或安全设备检查潜在的恶意TLS流量方案:使用TLS检查代理。

  • 检查自己的操作系统流量: 使用TLS检查代理。

  • 检查自己的手机、智能设备或其它嵌入式设备流量方案: 使用TLS检查代理。

  • 检查来自游戏、应用程序或服务的流量方案:使用TLS检查代理。

参考地址:

https://www.netresec.com/?page=Blog&month=2024-08&post=How-to-Inspect-TLS-Encrypted-Traffic

往期推荐

湖北武汉某科技公司恶意软件调查分析

一款可绕过防火墙/DPI的隧道工具

八种绕过WAF防火墙的Payload混淆技术

从网络蠕虫身上提取了一堆好用的安全工具

最受黑客和安全专家青睐的10款搜索引擎

一种可绕过VPN加密直接获取明文流量的新型攻击技术

暗网排名Top10的搜索引擎

三种不同场景解密TLS流量的方法

点个在看你最好看

三种不同场景解密TLS流量的方法

原文始发于微信公众号(二进制空间安全):三种不同场景解密TLS流量的方法

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年8月8日22:45:51
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   三种不同场景解密TLS流量的方法https://cn-sec.com/archives/3046583.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息