跳到主要内容

问:使用 impacket-getTGT 得到的admin.ccache 文件里边包含着哪些数据

使用 Impacket 中的 getTGT.py 工具成功获取 admin.ccache 文件后,这个 .ccache 文件是一个标准的 Kerberos 凭据缓存文件,格式与 Linux 系统下的 klist, kinit 使用的缓存文件兼容(MIT krb5 格式)。


admin.ccache 文件中包含的核心内容:

这是一个 包含 TGT(Ticket Granting Ticket) 的 Kerberos 凭据缓存。其主要内容如下:


🔐 1. 客户端身份信息(Client Principal)

  • 用户名,如:administrator@DOMAIN.LOCAL
  • 表示这个 TGT 是哪个用户请求的

🏛️ 2. 服务端身份信息(Server Principal)

  • 通常是:krbtgt/DOMAIN.LOCAL@DOMAIN.LOCAL
  • 表示这是一个 TGT,krbtgt 是用于请求其他服务票据的特殊服务

📅 3. 时间戳信息

包括:

  • authtime: 身份验证时间
  • starttime: TGT 开始时间
  • endtime: 票据过期时间
  • renew-till: 可续约截止时间(如果支持 renewable)

🧾 4. 加密类型与密钥信息

  • TGT 使用的加密算法类型(如 aes256-cts-hmac-sha1-96
  • 包括票据的密文(加密后的实际 TGT)

🪪 5. 票据本体(Ticket Blob)

  • 这是从 KDC 获得的 TGT,以密文形式存在,加密使用了 krbtgt 的密钥
  • Impacket 会保存这个字段,以便你后续使用(例如与 kerberos::ptt 加载进内存)

🔄 6. Flags(票据标志)

如:

  • initial
  • pre-auth
  • renewable
  • forwardable 这些标志影响票据的用途与行为。

🧰 如何查看 .ccache 文件内容

你可以使用 klist 工具查看其内容:

klist -k -c admin.ccache

或者用 impacket-kerberosccache 转换查看:

python3 -m impacket.examples.ccache_parse admin.ccache

💡 使用场景举例

  1. 传给 impacket-smbclient, secretsdump, wmiexec, 等工具配合 --ccache 使用
  2. 提供给 mimikatz 的 kerberos::ptt admin.ccache 加载进内存

🔓 安全提醒

如果你有了某个域用户(特别是管理员)的 .ccache 文件,并且票据仍有效,你就可以 完全模拟该用户的身份进行 Kerberos 身份认证,这在攻击中相当于拥有了票据的“黄金票据”。


如你愿意,我可以帮你分析某个 .ccache 文件的内容,或者教你如何使用它去访问 SMB、LDAP 等服务。是否需要演示?