我运行的是五位数,并且我设法在机器和域控制器之间获得了中间人访问权限。机器上的进程将作为域管理员登录到DC中,以获得Kerberos票证。我可以在Wireshark中看到AS-REQ/AS-REP和TGS-REQ/TGS-REP数据包。
我想使用DC返回给机器的TGT或TGS,并使用mimikatz等将其注入我的本地机器,这样我就可以模拟票证了。如何将来自Wireshark的票据转换为可用于入场券攻击的表单?
换句话说,如何从Wireshark获取数据,在Wireshark中查看票证和加密部分的单独字段,并将其转换为kirbi文件或其他格式,然后可以注入和模拟?(如果不是,除了Wireshark之外,是否还有一个包捕获器会这样做?)
发布于 2022-01-10 17:36:21
票证本身是在代表中以明文发送的。
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的热死亡。如果密码足够长,您将无法破解它。如果密码是中等长度,并且加密类型足够强,您将无法破解它。
哈希猫和开膛手约翰这样的工具支持这一点。
https://security.stackexchange.com/questions/258656
复制相似问题