0523.1932天:在wireshark解密https流量-Win和Linux

#每日三件事,第1932天#

在wireshark中解密https流量,同样要配置SSLKEYLOGFILE环境变量,让浏览器访问https网站时可以采集到会话密钥信息。

一、Windows系统配置方法

  1. 设置windows环境变量。

以win11为例。在我的电脑 -> 属性,在搜索栏输入“环境”,点击“编辑系统环境变量”,或者在右侧下方找到“系统信息”,点击“高级

属性

高级系统设置
新建系统变量

特别注意:变量值中填写的文件,一定要有读写的权限。尤其是用虚拟机的朋友,一定要注意。这个文件可以不用手工去创建。

  1. 访问https网站

这是为了测试SSLKEYLOGFILE能否正常收集会话密钥。此时访问https网站,sslkey.log文件会自动创建,而且大小会一直增加。

使用的浏览器可以是Edge,firefox和chrome,其他浏览器没有测试,估计都是可以的。

  1. 配置wireshark

和MacOS下的配置一样,打开wireshark,在菜单 编辑-> 首选项,找到protocols -> TLS,在(Pre)-master -securet log filename,输入环境变量SSLKEYLOGFILE的值“c:\users\liyz\sslkey.log”


image.png

然后开始抓包,SSL协商完毕后,数据包会以明文的形势呈现。


在浏览器中打开baidu.com,输入关键字“keyflagabc123”搜索。如果wireshark没有解密的话,在整个数据包中是看不到“keyflagabc123”这个关键字的。使用本文介绍的方法,解密后就能找到“keyflagabc123”这个关键字了。

在数据包中搜索关键字

二、Linux配置方法

Linux相对简单一些。本人在MAC的Parallels上安装了kali和ubuntu系统,最折腾的是kali,始终没有成功。后来安装了ubuntu,终于看到了久违的ssl.log。现在分析原因的话,估计是和安装的kali系统有关,可能是什么地方有缺陷。

  1. 设置SSLKEYLOGFILE环境参数
export SSLKEYLOGFILE=~/ssl.log
  1. 运行firefox

要在设置环境变量的窗口执行命令,而且之前所有的firefox必须全部关闭。

firefox &
  1. 设置wireshark

和windows、MacOS都是一样的。在首选项 -> protocols -> TLS -> (Pre)-master -securet log filename,输入环境变量SSLKEYLOGFILE的值“/home/parallels/ssl.log”

echo $SSLKEYLOGFILE
/home/parallels/ssl.log

接下来就是抓包、查看、分析了。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容