用Wireshark解密https流量

作者:admin / 时间:8个月前 (02/26) / 分类:后端测试 / 阅读:1842 / 评论:0

用Wireshark解密https流量

在本文中,作者揭开了网络流量加密和解密的神秘面纱,并翻译了诸如https,ssh,sftp等神秘术语。

Wireshark,一个有趣的开源网络嗅探器,不仅可以读取网络流量,还可以进一步解密https流量,前提是您拥有私钥! 让我们学习更多关于使用这个工具解密https流量。

为了防止网络流量嗅探器泄露登录凭证,可以使用安全协议,如https、ssh、sftp等,而不是http、telnet和ftp等各自的明文协议。安全协议加密在两个端点之间传输的流量;因此网络上的所有可用流量都是不可读的,除非直到解密。

为了理解安全协议,让我试着用简单的术语解释加密和解密的基本知识。

加密和解密

加密技术是一种用来制造可读技术(明文)的数据读取(密文),通常使用复杂的数学算法。解密与加密过程完全相反。

加密的两种主要类型

对称密钥加密:一个密钥用于加密和解密。对称密钥算法的例子有:先进的加密标准(AES)、数据加密标准(DES)等。密钥的典型长度为128字节,加密解密速度快。但是,对于成功的操作,双方都必须知道密钥。但是,对于成功的操作,双方都必须知道密钥。

非对称密钥加密:密钥对用于加密和解密。由一个密钥加密的文本只能由第二个密钥解密,反之亦然。因此,相同的密钥不能执行加密和相应的解密。非对称密钥加密算法的实例包括:Rivest、Shamir Adleman(RSA)、ElGamal、椭圆曲线密码学等。

非对称密钥加密的一些要点是:

1.与对称密钥加密相比,非对称密钥加密和解密速度较慢。 例如,使用1024位密钥的RSA加密比使用128位密钥的AES加密慢约250倍。

2.一个密钥(私钥)被保密,另一个密钥(公共密钥)被分发。

3.由发件人的私钥加密的文本可以由发件人的公钥解密。 因此,实际上任何人都可以解密这个密钥,因为这个密钥是分布式的。 但是,请注意,这确保了发件人的真实性 - 私钥被相应的发件人保密。

由接收者的公钥加密的文本只能由接收者的私钥解密; 因此使用接收者的公钥加密的消息只能由相应的接收者用相应的私钥解密。 https协议使用此功能。

用Wireshark解密https流量

图1:SSL解密属性

https协议

正如之前的Wireshark文章中所讨论的那样,如果使用明文协议,就有可能嗅探(窃听)网络流量,导致诸如登录名、密码等敏感信息的泄露。https协议用来防止客户端(浏览器)和服务器之间的明文信息泄露的可能性。

https协议使用安全套接字层(SSL)或它的继承者,传输层安全(TLS)来加密Web服务器和客户机(浏览器)之间的通信。反过来,SSL使用一种非对称密钥RSA算法进行加密和解密。当用户向https网站发送浏览器请求时,加密通信将建立如下:

浏览器发送一个安全的会话对服务器的TCP 443端口?HTTPS请求(或在一个不同的端口为非标准端口运行服务器)。

服务器发回含有数字证书公钥。

浏览器认证证书与认证机构(CA)?的数字证书提供商,在继续。如果证书没有通过CA或自己生成的验证,像这样的错误连接是不可信的接收。

客户端生成一个随机的字符序列作为对称密钥。

客户端使用服务器的公钥对这些字符进行加密并发送给服务器,从而确保只有相应的服务器(或私钥)才能解密。

服务器使用其私钥解密对称密钥。

现在,这组字符只对客户端和服务器是已知的。 它们被用作对称密钥来加密客户端和服务器之间的所有进一步的通信量。

客户端和服务器使用此对称密钥启动加密通信。

你可能不知道的把戏中混合技术。这样做仅仅是为了提高速度,因为对称密钥提供了更快的加密和解密。

用Wireshark解密https流量

现在,我们有足够的信息来了解使用Wireshark捕获和解密https流量。 启动Wireshark并浏览任何https网站,您一定会注意到,捕获的数据部分是加密的。 要解密数据,我们必须拥有https服务器的私钥。

所以,让我们继续下面的步骤。 本文使用VMware ESXi 5.0作为目标系统,使用Wireshark解密https流量。

A.启用VMware SSH:

使用VMware控制台键盘

按F2键

提供你的登录凭证

选择故障排除选项

使ESXi shellB。

B.使用SSH命令复制私钥文件:

ssh root@vmwareesxi:/etc/vmware/ssl/rui.key .

C.启动Wireshark,让流量捕获开始?你可以使用捕获过滤器的VMware ESXi主机。

D. 打开浏览器,然后打开VMware ESXi https Web页面并浏览几个链接。

E.捕获流量并停止。

F.现在,将私钥应用于来自该主机的SSL流量(如图1所示):

编辑首选项

协议

SSL

RSA密钥列表:编辑

插入所需的值:IP地址、端口号、协议和密钥文件路径+名称

Textbox2 RSA密钥格式 RSA密钥不需要密码。密码字段用于PKCS # 12格式的文件。

用Wireshark解密https流量

用Wireshark解密https流量

图2:遵循TCP流

G.启动浏览器并打开https:// vmwareesxi

右键单击任何数据包,看看下面显示的是什么?按照TCP流, 这将显示加密的https流量,如图2所示。

使用遵循SSL流,查看解密格式的流量,如图3所示。

如果所有步骤都正确执行,捕获的流量将以解密格式显示。

用Wireshark解密https流量

图3:遵循SSL流

防止https RSA解密

这个成功只有在RSA解密方法用于加密和解密对称密钥。从客户机发送到服务器通过网络(以加密形式)。那么有没有出路?是的,当然有。

Diffie Hellman(DH)密钥交换方法对于确保https的安全起着至关重要的作用。 DH在两个系统之间创建一个共享的秘密,而不实际传输加密密钥.穿过电线。但卫生署只是一个重要的交换方法,它不会对服务器进行身份验证,也不会对数据进行加密。

通过结合RSA,它提供了服务器身份验证和DH(允许在客户端和服务器端创建共享加密密钥),因此即使私钥可用,其结果也能很好地防止HTTPS解密。

结合RSA和DH的各种开源发行版如IPCop和Openfiler的使用,从而确保泄露私钥是不足以成功解密。

诊断解密相关问题

1.确保从第一个包中捕获所有的流量,以便启用解密。值得深思的一点是,在实际数据传输之前,加密密钥以加密的格式在客户机和服务器之间传输。如果您错过了这一流量,密钥将无法使用,进一步的解密将是不可能的。

2. 使用Wireshark解密日志,它可以启用通过指定日志文件的名称在编辑协议SSL (前)主密钥。然后可以检查该文件以查找解密状态。请参阅第3框和第4框,以获取不成功和成功的解密日志。

用Wireshark解密https流量

用Wireshark解密https流量

在本文中,试图描述各种加密技术,DH和RSA只是为了对这些话题有一个基本的了解。 对于那些想了解更多信息,请自行搜索网站。

一个有趣的说明:使用https协议的网站被称为“安全” 只有在浏览器和Web服务器之间的通信被加密的情况下才能访问网站,此外,服务器由CA认证?但除此之外!它不能保证Web应用程序或站点足够安全。


没有评论,留下你的印记,证明你来过。


发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。