2025-05-10-渗透测试:MS14-068漏洞利用、复现黄金票据(随笔)

一、Kerberos基础概念

  1. Kerberos简介

    • 由MIT提出的网络认证协议,基于对称加密(如AES)实现客户端/服务端的强身份验证。
    • 核心目标:避免明文传输密码,通过票据(Ticket)机制实现安全认证。
  2. 核心组件与术语

    • KDC(Key Distribution Center):包含AS(认证服务)和TGS(票据授权服务)。
    • TGT(Ticket Granting Ticket):客户端首次认证后获得的票据,用于后续请求服务票据。
    • ST(Service Ticket):访问特定服务时使用的票据。
    • PAC(Privilege Attribute Certificate):嵌入在票据中的权限信息(用户SID、组权限等),由KDC签名。
  3. 认证流程(6步)

    1. AS_REQ/AS_REP:客户端用密码哈希加密时间戳请求TGT,AS返回加密的TGT(含PAC)。
    2. TGS_REQ/TGS_REP:客户端用TGT请求服务票据(ST),TGS验证后返回ST。
    3. AP_REQ/AP_REP:客户端用ST访问服务,服务端验证ST和PAC权限。

二、Kerberos数据结构与协议细节

  1. 关键数据结构

    • TGT示例:包含krbtgt加密的会话密钥、有效期、PAC(用户SID、组列表)。
    • PAC结构:用户身份(SID)、组权限、KDC签名(防篡改)。
    • 加密类型:常见如AES256-CTS-HMAC-SHA1-96(TGT加密)、RC4-HMAC(NTLM兼容)。
  2. 协议消息分析

    • AS_REQ:包含include-pac标志(True/False)、加密时间戳(客户端哈希加密)。
    • AS_REP:返回krbtgt加密的TGT(客户端无法解密)。
    • TGS_REQ:携带TGT和认证器(Authenticator),请求特定服务。
    • TGS_REP:返回服务哈希加密的ST(含PAC)。
  3. 实战命令

    • 查看票据:klist
    • 清除票据:klist purge 或 Mimikatz的kerberos::purge

三、MS14-068漏洞原理与利用

  1. 漏洞背景

    • CVE-2014-6324:Windows KDC未正确验证PAC签名,允许伪造高权限PAC提权至域管理员。
    • 影响系统:Windows Server 2003-2012 R2。
  2. 利用步骤

    1. 生成无PAC的TGT:发起AS_REQ时设置include-pac=False
    2. 伪造PAC:用工具(如PyKEK)生成含管理员组SID的PAC。
    3. 注入PAC:在TGS_REQenc-authorization-data字段插入伪造PAC。
    4. 获取高权限ST:KDC返回含伪造权限的ST。
    5. Pass-the-Ticket攻击:用Mimikatz导入ST访问域控资源(如C$共享)。
  3. PoC工具与代码

    1. PyKEK:伪造PAC的Python库。
    2. Mimikatz:执行票据传递攻击。

利用MS14-068漏洞绕过正常认证流程,获取域内任意服务的访问权限后进行黄金票据攻击


 四、黄金票据(Golden Ticket)攻击

1. 黄金票据概述

黄金票据是Kerberos协议中的一种高级持久化攻击技术,攻击者通过伪造TGT(Ticket Granting Ticket),绕过正常认证流程,获取域内任意服务的访问权限。其核心原理是利用域控的krbtgt账户哈希伪造高权限票据。


2. 攻击原理
  • 关键依赖
    • krbtgt账户的NTLM哈希。
    • 该哈希用于加密/解密Kerberos票据中的PAC(特权属性证书)。
  • 漏洞利用
    • 攻击者获取krbtgt哈希后,可伪造任意用户的TGT,包括域管理员。
    • KDC无法区分伪造的TGT与合法TGT(因为签名校验依赖krbtgt哈希)。
3. 攻击步骤
  1. 获取krbtgt哈希

  2. 伪造黄金票据

    1. mimikatz.exe "kerberos::golden /domain:test.com /sid:S-1-5-21-568561908-1760150191-320543417 /krbtgt:36f9d4e9f4a6b8c7a5d2e1f3b6a8d7c /user:Administrator /ticket:golden.kirbi"
    2. 参数说明
      • /domain:目标域名(如qax.com)。
      • /sid:域的SID(从whoami /all获取)。
      • /krbtgtkrbtgt账户的NTLM哈希。
      • /user:伪造的用户名(如Administrator)。
  3. 注入票据

  4. 验证权限

    1. 访问域控资源 dir \\qaxdc1.qax.com\c$
获取krbtgt哈希

伪造黄金票据

注入票据

验证权限
4. 黄金票据 vs. 白银票据
特性黄金票据白银票据
依赖票据TGT(可请求任意服务票据)ST(仅针对特定服务)
所需哈希krbtgt账户哈希目标服务账户哈希(如CIFS$)
攻击范围整个域单个服务(如文件共享、SQL)
持久性长期有效(默认10小时,可续期)短期有效(依赖服务票据生命周期)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值