首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从Wireshark提取Kerberos票?

如何从Wireshark提取Kerberos票?
EN

Security用户
提问于 2022-01-10 07:52:20
回答 1查看 936关注 0票数 1

我运行的是五位数,并且我设法在机器和域控制器之间获得了中间人访问权限。机器上的进程将作为域管理员登录到DC中,以获得Kerberos票证。我可以在Wireshark中看到AS-REQ/AS-REP和TGS-REQ/TGS-REP数据包。

我想使用DC返回给机器的TGT或TGS,并使用mimikatz等将其注入我的本地机器,这样我就可以模拟票证了。如何将来自Wireshark的票据转换为可用于入场券攻击的表单?

换句话说,如何从Wireshark获取数据,在Wireshark中查看票证和加密部分的单独字段,并将其转换为kirbi文件或其他格式,然后可以注入和模拟?(如果不是,除了Wireshark之外,是否还有一个包捕获器会这样做?)

EN

回答 1

Security用户

回答已采纳

发布于 2022-01-10 17:36:21

票证本身是在代表中以明文发送的。

代码语言:javascript
复制
KDC-REP         ::= SEQUENCE {
        pvno            [0] INTEGER (5),
        msg-type        [1] INTEGER (11 -- AS -- | 13 -- TGS --),
        padata          [2] SEQUENCE OF PA-DATA OPTIONAL
                                -- NOTE: not empty --,
        crealm          [3] Realm,
        cname           [4] PrincipalName,
        ticket          [5] Ticket, <-- plaintext
        enc-part        [6] EncryptedData
                                -- EncASRepPart or EncTGSRepPart,
                                -- as appropriate
}

或者更准确地说,这对客户来说是个不透明的斑点。只有KDC和目标服务器才能解密该票证。Kerberos的安全性依赖于此,因为在不知道会话密钥的情况下,票据本身是无用的。

会话密钥在REP.enc部分加密到用户用于AS的长期密钥(密码或用于智能卡的DH会话密钥),或加密到TGT用于TGS的会话密钥。

客户端的工作方式是发送REQ,响应时获得代表,然后使用所需的任何密钥解密enc-部件。然后,客户端希望使用票证对服务器进行身份验证,该服务器称为AP-REQ。

AP-REQ是通过生成所谓的身份验证器来形成的。身份验证器包含从解密的enc-部件复制的值,该值镜像存储在加密票证中的值,然后最终加密到最初在enc-部件中找到的会话密钥,并在票证中镜像。

服务器接收AP-REQ并使用自己的长期密钥(服务帐户密码)解密票据,然后使用票证中找到的密钥解密验证器,验证验证器的内容是否匹配在票证中发送的内容。

此身份验证器的目的是通过了解会话密钥来证明AP-REQ的发送方是票据的合法所有者。

所以,这意味着偷票本身是毫无意义的。你还需要窃取enc-部分,然后解密它。如果您有要解密的密钥,那么您就不需要窃取它,并且可以作为该用户进行身份验证,因为这只是他们的密码。

因此,你必须用暴力迫使它。这通常被描述为角化,虽然角化通常只指攻击AS-REQ数据,但从根本上说,这是一种通过猜测会话密钥或密码,根据线路上的信息来强行使用的想法。以防万一,你得到了他们的密码,然后就走了。在TGS的情况下,这将是不可能的,因为会话密钥是长的,密码上是随机的,宇宙yadda yadda yadda的热死亡。如果密码足够长,您将无法破解它。如果密码是中等长度,并且加密类型足够强,您将无法破解它。

哈希猫和开膛手约翰这样的工具支持这一点。

票数 2
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/258656

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档