HTTPS是目前主流的web协议。由于HTTP传输的数据未经加密,可能会被窃听或篡改,为了解决这个问题,引入了 HTTPS,即在 HTTP 上加入 SSL/TLS 协议,为数据传输提供了加密和身份验证。
本文,为大家介绍如何通过Wireshark等工具进行解密HTTPS数据包。我们先来看看正常情况下,Wireshark中https的数据是什么样的。
解密
现在尝试将抓取的https包进行解密。解密https数据包需要设置SSLKEYLOGFILE
变量,推荐写入配置文件中。
echo "export SSLKEYLOGFILE=~/ssl.key" >> ~/.bashrc
source ~/.bashrc
接下来,使用tcpdump
命令抓取https的数据包。
tcpdump -i eth0 host blog.bbskali.cn -nn -w https.pacp
浏览数据
将生成的ssl.key文件与https.pcap文件存到windows系统上。
打开wireshark
,点击编辑->首选项,找到TLS,将ssl.key文件配置进去,这边主要通过ssl.key来解密https包。
解密效果
总结
Wireshark解密HTTPS,通过提取服务器的私钥,将私钥导入Wireshark,通过Wireshark解密密钥交换过程中传递的预主密钥,再结合之前的客户端和服务器随机数生成主密钥,进一步生成加密密钥,即可解密后续抓取到的加密报文。
原文始发于微信公众号(kali笔记):浅谈解密HTTPS数据包
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论