ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Kerberos 协议攻防:黄金票据与白银票据实战详解

Kerberos 协议攻防:黄金票据与白银票据实战详解 Kerberos 协议攻防黄金票据与白银票据实战详解免责声明本文内容仅用于授权红队演练、内网安全自查、安全学习研究严禁在未授权的域环境中进行票据伪造、凭据抓取、横向移动等操作。未经授权对企业内网进行渗透测试属于违法行为所有操作带来的法律后果由操作者自行承担。前言在内网域渗透中Kerberos 是 Windows AD 域默认的身份认证协议黄金票据、白银票据是基于 Kerberos 协议缺陷最经典的权限维持攻击手段。很多新手学习的时候只记住一句话金票万能银票隐蔽但是并不理解 Kerberos 完整认证流程分不清两种票据的适用场景、日志特征、利用前提实战中经常踩坑。很多误区拿到金票就可以直接登录所有机器不需要考虑网络和权限黄金票据重置一次 krbtgt 密码就失效白银票据可以访问目标机器上所有服务票据注入之后永久生效没有任何日志可以溯源。本文从 Kerberos 完整认证流程入手拆解黄金票据、白银票据原理给出完整的信息收集、票据伪造、票据注入实战命令对比二者差异分析日志痕迹最后给出蓝队检测和域环境加固方案。一、Kerberos 协议基础认证流程Kerberos 是基于票据的三方认证协议三个角色客户端 Client、KDC域控包含 AS 和 TGS 服务、应用服务 Server。整个认证分为 4 步AS_REQ、AS_REP、TGS_REQ、TGS_REP、AP_REQ简化为三大阶段。AS 阶段申请 TGT 票据客户端向 KDC 的 AS 发送 AS_REQ 请求携带用户名、时间戳。KDC 验证账号返回 AS_REP里面包含会话密钥Client 与 TGS 之间的会话密钥用用户密码 Hash 加密TGT 票据TGT 内部包含用户身份、组信息、PAC、TGS 会话密钥使用 krbtgt 账号的 NTLM Hash 加密。krbtgt 是域内置账号专门用来加密 TGT 票据只有域控存在该账号。TGS 阶段使用 TGT 申请 ST 服务票据TGS 票据客户端拿着 TGT 认证器 Authenticator向 KDC 的 TGS 发送 TGS_REQ申请访问目标服务的 ST。KDC 解密 TGT校验合法性生成ST 服务票据使用目标服务账号机器账号 / 服务账号的 NTLM Hash 加密返回给客户端。AP 阶段拿着 ST 访问目标业务服务客户端携带 ST 票据 新的认证器发送 AP_REQ 给目标服务器。服务器使用自己的账号 Hash 解密 ST验证 PAC 和身份完成登录授权。核心关键点TGT 由 krbtgt 哈希加密ST 由目标服务账号哈希加密。票据解密只依赖对应的账号 HashKDC 不会保存完整票据记录攻击者拿到对应 Hash就可以自行伪造票据。二、黄金票据Golden Ticket原理与实战2.1 攻击原理黄金票据本质是伪造 TGT 票据。正常流程 TGT 由 KDC 使用 krbtgt 的 Hash 加密签发攻击者拿到 krbtgt 账号 NTLM Hash就可以在本地自行构造任意 TGT 票据不需要和 KDC 的 AS 交互跳过账号密码校验。伪造 TGT 可以自定义用户名、SID、用户所属组直接把用户放进 Domain Admins、票据有效期。拿到伪造 TGT 之后再拿着 TGT 向 KDC 申请任意服务 ST访问域内任意服务器任意 Kerberos 服务属于域内最高权限后门。2.2 利用前置条件想要伪造黄金票据必须收集下面 4 项信息完整域名例如test.local域 SID例如 S-1-5-21-3421523421-123123123-123123123注意SID 末尾的 RID 不要带上krbtgt 账号的 NTLM Hash最核心通常通过 DCSync、域控内存抓取获取伪造的用户名可以是真实用户甚至不存在的假用户重要知识点域管理员账号密码修改不会让黄金票据失效只有krbtgt 账号密码修改两次旧 krbtgt 哈希作废黄金票据才失效。微软域机制krbtgt 密码修改一次旧密钥仍然保留用于票据解密必须修改两次。2.3 信息收集获取域名net time /domain whoami获取域 SIDwhoami /all # 或者wmic wmic useraccount get name,sid获取 krbtgt 的 NTLM HashDCSyncmimikatzprivilege::debug lsadump::dcsync /domain:test.local /user:krbtgt执行之后直接读出 krbtgt 的 NTLM Hash。2.4 Mimikatz 伪造黄金票据并注入PTT票据传递kerberos::golden /user:fakeadmin /domain:test.local /sid:S-1-5-21-3421523421-123123123-123123123 /rc4:krbtgt的NTLM哈希 /groups:512 /ptt参数解释/user伪造的用户名可以不存在/domain域名/sid域 SID/rc4krbtgt 的 NTLM Hash/groups:512512 是 Domain Admins 组 RID直接赋予域管理员权限/pttPass-the-Ticket直接将票据注入当前内存不需要导出文件执行成功之后会提示Ticket Saved票据已经注入内存。新开 cmd直接访问域控共享、psexec、wmiexec 横向域控dir \\dc.test.local\c$2.5 Rubeus 生成黄金票据CS 红队常用Rubeus.exe golden /rc4:krbtgt_hash /domain:test.local /sid:S-1-5-21-xxx /user:fakeadmin /ptt2.6 黄金票据日志痕迹黄金票据伪造的是 TGT跳过 AS_REQ 环节所以 KDC 不会产生 4768AS_REQ日志后续拿着假 TGT 向 KDC 申请 ST会产生大量**4769TGS_REQ**事件。蓝队审计看到大量 4769没有对应的 4768是黄金票据非常典型的告警特征。三、白银票据Silver Ticket原理与实战3.1 攻击原理白银票据伪造的是ST 服务票据TGS不是 TGT。ST 票据是使用目标服务账号的 NTLM Hash加密机器账号 / 服务账号。攻击者拿到目标服务账号 Hash本地直接伪造 ST。最关键特点全程不需要和 KDC 通信。伪造完成直接拿着 ST 去访问目标服务器域控上不会产生任何 Kerberos 日志隐蔽性远高于黄金票据。但是权限有限一张白银票据仅针对指定服务生效。例如伪造 CIFS 服务银票只能访问文件共享不能用来 WinRM、MSSQL。3.2 常见可伪造服务清单表格服务名SPN 用途CIFSSMB 文件共享访问 C(、ADMIN)HOST计划任务、WMI、本地主机管理HTTPWinRM、IIS 网站MSSQLSvcSQL Server 数据库LDAPLDAP 查询、DCSyncRPCSSRPC 远程调用3.3 利用前置条件域名域 SID目标服务器 FQDN例如 fileserver.test.local目标服务账号的 NTLM Hash目标机器计算机账号或者服务账号 hash服务名称CIFS / HOST / HTTP伪造用户名计算机账号格式COMPUTERNAME$机器账号密码存储在域控抓取机器账号 hash 就可以伪造这台机器对应服务的白银票据。银票失效条件目标服务账号密码修改一次票据直接失效这点和黄金票据有巨大区别。3.4 Mimikatz 白银票据实战命令CIFS 示例kerberos::golden /user:fakeadmin /domain:test.local /sid:S-1-5-21-3421523421-123123123-123123123 /rc4:目标机器账号NTLM哈希 /target:fileserver.test.local /service:cifs /ptt参数说明/target目标服务器 FQDN/service指定服务示例 cifs/rc4目标机器账号的 NTLM Hash不是 krbtgt/ptt注入内存注入完成直接访问目标主机文件共享dir \\fileserver.test.local\c$3.5 Rubeus 生成白银票据Rubeus.exe silver /service:cifs /rc4:机器账号hash /domain:test.local /sid:S-1-5-21-xxx /target:fileserver.test.local /user:fakeadmin /ptt3.6 白银票据日志痕迹不会和 KDC 交互域控无 Kerberos 日志日志只会产生在目标服务器本地产生 4624 登录事件。这也是银票最难检测的原因域控审计无法发现必须在业务服务器部署审计。四、黄金票据 VS 白银票据对比总结表格对比项黄金票据 Golden Ticket白银票据 Silver Ticket伪造票据TGT票据授予票据ST/TGS服务票据需要的 Hashkrbtgt 账号 NTLM Hash目标服务 / 机器账号 NTLM Hash访问范围域内任意服务器任意服务全能仅能访问指定的单个服务是否访问 KDC需要申请 ST不需要直接访问目标服务器日志位置域控产生 4769缺失 4768域控无日志仅目标服务器本地日志票据失效条件krbtgt 密码修改两次目标服务账号密码修改一次立即失效攻击定位域级后门权限维持单点服务器后门横向单点持久化隐蔽性低域控日志特征明显极高域控不留痕迹实战场景选择拿下域控拿到 krbtgt优先黄金票据做全域后门拿到某台服务器机器账号 Hash优先白银票据拿下这台服务器的特定服务不触发域控告警。五、实战踩坑总结高频问题坑 1票据注入成功但是访问目标机器提示权限不足时间不同步Kerberos 对时间严格客户端和服务器时间差超过 5 分钟直接失败PAC 权限问题伪造用户 RID 组设置错误防火墙拦截 SMB/WinRM 端口目标机器开启了 LSA 保护凭据注入失败。坑 2白银票据只能访问对应服务伪造 CIFS 银票只能访问文件共享不能执行 WinRM 远程命令需要单独伪造 HOST 或者 HTTP 服务银票。坑 3krbtgt 哈希获取难度高krbtgt 只存在域控必须拿到域控权限DCSync 或者抓取 lsass 内存普通工作站拿不到 krbtgt。坑 4票据有效期mimikatz 默认生成黄金票据有效期 10 年远大于正常 TGT默认 10 小时。蓝队可以通过异常超长有效期票据进行检测。坑 5机器账号名称末尾带 $抓取机器账号 Hash 的时候账号名是WIN2016$不要漏掉末尾$。六、蓝队检测方案如何发现黄金 / 白银票据攻击6.1 黄金票据检测审计域控事件日志存在 4769但是没有对应的 4768这是金票标志性特征检测 Kerberos 票据有效期识别远超正常生命周期的 TGT监控 krbtgt 账号读取操作lsadump::dcsync 行为告警监控 mimikatz、Rubeus 等工具进程行为。6.2 白银票据检测银票域控无日志重点在业务服务器侧服务器审计 4624 登录事件来源 Kerberos 登录但是 KDC 没有对应的 TGS 请求监控异常机器账号登录、异常 SPN 服务访问监控内存 Kerberos 票据Rubeus 可以列出内存票据发现异常伪造票据Rubeus.exe klist6.3 通用检测使用 Rubeus 查询当前机器内存票据查看异常 TGT/TGSRubeus.exe klist查看票据的有效期、客户端、服务名识别伪造票据。七、域环境加固方案防御票据伪造攻击保护 krbtgt 账号定期轮换 krbtgt 账号密码必须连续修改两次作废旧黄金票据限制 krbtgt 账号权限禁止任何账号读取 krbtgt 凭据。最小权限原则减少域管理员登录业务服务器防止攻击者抓取内存拿到机器账号 Hash业务机器账号设置高强度密码机器账号默认每 30 天自动轮换不要禁用机器账号密码自动更新。开启 LSA 保护LSA Protection防止攻击者读取 lsass 内存 dump 凭据抓取账号 NTLM Hash从源头减少获取 Hash 的机会。启用 PAC 校验配置域控制器强制 PAC 签名校验防止伪造票据篡改 PAC 内的用户组权限。日志集中收集域控和业务服务器日志统一上送到 SIEM监控 4768、4769、4624 事件建立告警规则。EDR 监控监控 Rubeus、Mimikatz、SharpKatz、lsadump 等工具行为拦截内存凭据读取、票据注入行为。限制 DCSync 权限只允许域内置管理员账号拥有域复制权限清理普通账号、备份账号的 DCSync 权限。重点提醒没有办法完全杜绝票据伪造攻击防御核心是不让攻击者拿到 krbtgt、机器账号、服务账号的 NTLM Hash凭据保护是第一道防线。八、总结Kerberos 协议本身设计信任票据内的 PAC 信息只要拿到加密票据对应的账号 Hash攻击者就可以本地伪造 TGT 或者 ST 票据不需要原始账号密码。黄金票据伪造 krbtgt 加密的 TGT拿到之后可以访问域内任意资源属于全域后门但是会在域控留下明显日志白银票据伪造服务 ST 票据只针对单一服务不需要和 KDC 交互隐蔽性极强但是攻击范围受限。红队实战中票据传递 PTT 是后渗透权限维持的核心手段蓝队防守不能只依赖域控日志业务服务器本地审计、LSA 保护、凭据防护、定期轮换 krbtgt 密码组合防御才能降低票据伪造攻击风险。Kerberos 票据攻击的根源不是协议漏洞而是攻击者获取到账号 NTLM 哈希保护域内高价值账号凭据才是防御的根本。最后关于网络安全技术储备学好网络安全不论是就业还是做副业赚钱都不错但要学会网络安全还是要有一个学习规划。最后大家分享一份全套的网络安全学习资料给那些想学习网络安全的小伙伴们一点帮助对于0基础小白入门如果你是零基础小白想快速入门网络安全是可以考虑的。一方面是学习时间相对较短学习内容更全面更集中。二方面是可以找到适合自己的学习方案包括网安成长学习路线图、SRC黑客文档、护网行动、黑客必读书单、面试题、学习视频等教程。带你从零基础系统性的学好网络安全需要的可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】1.成长路线图学习规划要学习一门新的技术作为新手一定要先学习成长路线图方向不对努力白费。对于从来没有接触过网络安全的同学我们帮你准备了详细的学习成长路线图学习规划。可以说是最科学最系统的学习路线大家跟着这个大的方向学习准没问题。2.网安入门到进阶视频教程很多朋友都不喜欢晦涩的文字我也为大家准备了视频教程其中一共有21个章节每个章节都是当前板块的精华浓缩。全套教程文末领取哈3.SRC黑客文档大家最喜欢也是最关心的SRC技术文籍黑客技术也有收录SRC技术文籍黑客资料由于是敏感资源这里不能直接展示哦全套教程文末领取哈4.护网行动资料其中关于HW护网行动也准备了对应的资料这些内容可相当于比赛的金手指5.黑客必读书单随着互联网技术的飞速发展网络安全已经成为了当今科技领域的一大热点。这些SQL注入、CCNA、Web渗透、Linux服务器等以其强大的语言理解和防御能力正在守护着我们网络世界。 那以下这些PDF籍就是非常不错的学习资源。6.网络安全岗面试题合集当你自学到这里你就要开始思考找工作的事情了而工作绕不开的就是真题和面试题。这份完整版的网络安全学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】
返回列表