Table of Contents
在学习 Kerberos 协议的时候,需要对 Kerberos 协议流量进行解密,以更好的了解 Kerberos 协议的传输过程。本篇文章是通过生成 keytab
文件,在 Wireshark 里加载实现对流量的解密。
keytab
(简称“密钥表”)存储一个或多个主体的长期密钥。通常 keytab
以标准格式的文件表示,在极少数情况下,它们可以以其他方式表示。keytab
最常用于允许服务器应用程序接受客户端的身份验证,但也可以用于为客户端应用程序获取初始凭据。
这里使用了两个工具
esedbexport
NTDSXtract
准备 Link to 准备
域控导出 Ntds.dit Link to 域控导出 Ntds.dit
我们需要在域控里导出 Ntds.dit
域控环境为 Windows Server 2016
执行该命令后,会给出副本卷名
接着将 ntds.dit
和 system.hive
拷贝出来,这里拷贝到 C盘
下。注意命令里的卷名,如果得到结果和图片不用,请自行修改命令。
这样就得到了 ntds.dit
和 system.hive
esedbexport 安装 Link to esedbexport 安装
实验环境为 Kali Linux
至此,安装成功。
NTDSXtract 安装 Link to NTDSXtract 安装
执行如下命令,注意命令使用的是 python2
Keytab 生成 Link to Keytab 生成
将 ntds.dit
存在在 Kali
里,执行命令
这样,我们就得到了一个 ntds.dit.export
文件夹
我们主要用的是
datatable.4
link_table.7
接着将 ntds.dit.export
和 SYSTEM 文件放入到 ntdsxtract
工具文件夹中,执行命令
可能会出现报错 ImportError: No module named Crypto.Hash
,请自行安装 python2
的 pycryptodome
库
至此,得到一个 kerberos.keytab
WireShark 解密 Link to WireShark 解密
打开 wireshark,右击 kerberos
流量,按照下方图片进行操作
打开 Kerberos
首选项
选择你刚才生成的 keytab
。然后就能看到解密后的流量了。
蓝色代表解密成功。后面可以看到使用的密钥。