发现新大陆:一个最简单的破解SSL加密网络数据包的方法
来源:互联网 发布:军区改战区的意义知乎 编辑:程序博客网 时间:2024/05/22 10:22
1. 简介
相信能访问到这篇文章的同行基本上都会用过流行的网络抓包工具WireShark,用它来抓取相应的网络数据包来进行问题分析或者其他你懂的之类的事情。
一般来说,我们用WireShark来抓取包进行分析是没有多大问题的。但这里有个问题是,如果你碰到的是用SSL/TLS等加密手段加密过的网络数据的时候,往往我们只能束手无策。在过去的话,如果我们拥有的该传输会话的私钥的话我们还是可以将它提供给WireShark来让其对这些加密数据包进行解密的,但这已经是想当年还用RSA进行网络数据加密的年代的事情了。当今大家都已经逐渐拥抱前向加密技术PFS 的时代了,所以该方法就不再适用了。因为前向加密技术的目的就是让每个数据交互都使用的是不同的私钥,所以你像以前RSA时代一样想只用一个私钥就能把整个session会话的网络数据包都破解出来的话是不可能的了。所以这将是一个挺恼火的事情。
2. Session Key日记记录来救火!
大家先别火起,这里我来告诉你另外一个简单的方法来解决这个问题!其实Firefox和Chrome浏览器都支持用日记文件的方式记录下用来加密TLS数据包对称会话秘钥的。这样你就可以在WireShark中指定该文件来快速完成你的破解目的了。请继续往下看具体的步骤。
3. Browsers配置
首先你需要配置一个环境变量。
3.1 在Windows下的配置:
怎么去到环境变量配置页面相信不需要我多说了,毕竟国内还是Windows的天下。
在上图的位置增加一个新的叫做“SSLKEYLOGFILE”的环境变量并指定其路径到你想要保存你的会话私钥的地方。
3.2 在Linux或者MAC OS X上的配置:
$ export SSLKEYLOGFILE=~/path/to/sslkeylog.log
当然,如果你想在你的系统每次启动的时候都指定该日记路径的话,你可以在你的Linux下执行下面的动作:
~/.bashrc
或者在你的MAC OS X上执行以下命令:
~/.MacOSX/environment
这样我们下次启动Firefox或者Chrome的开发者模式的时候,TLS秘钥就会自动写入到该指定文件下面了。
4. Wireshark配置
为了支持这个功能,你当前的WireShark版本必须是1.6或者更新。我们仅仅要做的就是先进入偏好设置页面:
展开协议选项:
找到SSL选项然后如下图所示打开上面设置好的会话秘钥保存文件:
5. 结果
下图就是我们通常见到的WireShark抓到TLS数据包后的显示结果:
6. 小结
通过本文我真心希望你能从中学到一些东西,该方法让我们能够如此直截了当的去把TLS数据包给破解出来。这种方式的另外一个值得一提的好处是,给会话过程中的两台机器根本不需要安装任何Wireshark工具,因为你会担心安装上去会搞得问题是做多错多都不知道哪里出问题了。你只需要做的是把他们上面的该会话秘钥文件指定到一个网络共享文件夹然后用另外一个已经机器上安装WireShark并如前所示指定该秘钥文件进行抓包就了事了。
最后多谢大家查看本文。如想每天都能看到最新的技术等资讯文章,敬请关注本人下面提供的微信公众号:techgogogo。谢谢!
-------------完------------------
英文原文引用:https://jimshaver.net/2015/02/11/decrypting-tls-browser-traffic-with-wireshark-the-easy-way/
作/译者
微信知识共享公众号
CSDN
天地会珠海分舵
TechGoGoGo
http://blog.csdn.net/zhubaitian
优秀资源推荐
地址
点评
DoctorQ博客
http://testerhome.com/doctorq/topics
安卓自动化领域才俊
金阳光测试
官网:www.goldensunshine.cc
更多请百度搜:“金阳光”
- 发现新大陆:一个最简单的破解SSL加密网络数据包的方法
- 发现validator的新大陆。
- CornerStone 破解 最简单的破解方法
- CornerStone 破解 最简单的破解方法
- 呵呵,发现了一个破解NTFS加密文件夹的另类方法
- 无意中发现的sql server 存储过程加密破解方法
- 无意中发现的sql server 存储过程加密破解方法
- 新大陆发现:接口与Object的讨论
- ssl加密的方法
- ssl加密的方法
- ssl加密的方法
- 破解winrar的最简单方法
- 最简单的加密
- 大头鬼的第一篇博客--发现新大陆
- 一个简单的加密,解密方法
- 一个简单的SHA-1加密方法
- 一个简单的加密解密方法实例
- 基于网络传输的数据包的加密解密方法及终端
- HDU 2955 Robberies(01背包变型)
- 【模拟专题】HDU-4121[弱校联萌第一场]
- 直接将pdf转换成ppt的教程
- 分支-16. 计算分段函数(10)
- 如何判断网站有没有SSL证书保护?
- 发现新大陆:一个最简单的破解SSL加密网络数据包的方法
- 【SSH】之Spring
- Activity生命周期之理解
- SQLServer 创建dtsx包更新统计信息(示例)
- codeforces 509F Progress Monitoring
- android应用开发学习纪实(7)
- Android学习:Toast复习总结
- 2014年终总结
- 如何设置高强度密码