Kerberos金票钻石票伪造实战:红队驻留隐匿与蓝队检测溯源教程 前言为什么票据伪造是域对抗的终极手段Windows域的整体权限架构完全依托Kerberos协议完成身份认证与权限分发。内网渗透里常见的哈希传递、SMB重放、普通LDAP提权都属于短效攻击一旦用户修改密码、终端重置哈希攻击链路会直接失效。但票据伪造完全不同它不绑定终端本地哈希、不受用户密码变更影响拿下核心密钥后就能实现全域无差别长效驻留这也是它能成为域对抗终极持久化手段的核心原因。一线运维和蓝队人员普遍存在认知误区觉得域内沦陷后只要修改域管密码、清空终端哈希、重启服务器就能彻底清除攻击者权限。真实攻防场景里这种操作基本无效。攻击者只要提前导出krbtgt密钥就彻底脱离了域账号的密码认证体系相当于手握全域通用的“万能通行证”。哪怕企业全网所有账号统一重置密码、清理所有终端登录痕迹攻击者依旧可以伪造高权限票据登录域控、读取NTDS密码库、接管整个域环境。早年红队域内驻留基本依赖金票上手简单、工具适配性强适合快速拿权。但近几年企业蓝队体系逐步完善绝大多数政企、国企、大型私企的SIEM和SOC设备都默认开启了4768与4769日志链路校验传统金票的特征被精准命中存活率大幅下降。钻石票作为金票的迭代攻击方式完美补齐了所有检测短板凭借无日志异常、无参数特征、加密合规的特点成为目前红蓝对抗中最难溯源、最难拦截、漏报率最高的域内高阶驻留手法。本文摒弃网上千篇一律的教科书式协议堆砌结合多次真实域入侵应急复盘经验从协议底层原理、攻击链路拆解、工具实操落地、红队隐匿规避、蓝队溯源检测、全域安全加固六个维度输出全套可直接复用的攻防方案兼顾新手入门学习和资深安全人员实战落地。2 基础底层Kerberos协议与票据伪造核心逻辑想要真正吃透票据伪造攻防不用死记硬背RFC协议文档抓准两个核心本质就能贯通所有攻防逻辑。一是域内所有高权限票据全部由KDC域控统一签发二是用户的实际操作权限完全由PAC字段定义。市面上所有Kerberos票据攻击无非就是通过各种手段篡改PAC权限、伪造合法签名绕过KDC和终端的原生校验机制。2.1 域环境Kerberos三方认证架构Kerberos采用经典的三方认证架构全程不传输用户明文密码依靠票据加密和密钥签名建立身份信任有效避免明文泄露风险这也是Windows域长期沿用该协议的核心原因。整个认证体系由客户端、KDC域控、业务服务端三方构成域内所有终端登录、账号认证、服务访问行为全部由KDC统一管控不存在独立的认证通道。KDC承载域内核心认证能力内部两大服务分工明确直接决定票据的生成、校验与授权逻辑AS服务对接客户端初始认证请求校验用户账号密码或哈希凭证认证通过后向客户端发放TGT票据。TGS服务接收客户端携带的合法TGT票据完成票据合法性校验后根据用户原有权限签发对应业务服务的ST票据。日常工作中我们用到的域控登录、文件共享访问、LDAP数据查询、域策略修改等所有操作都需要通过TGTST的双层票据校验机制完成权限认证缺一不可。2.2 TGT、ST、PAC的实战作用TGT相当于域内的通用通行凭证由krbtgt账户的专属密钥加密签名在设定有效期内持有者可以无限次向KDC申请各类业务的ST票据无需重复进行账号认证。ST属于专项服务凭证针对性极强仅能用于访问对应IP、对应端口的指定服务单次访问有效无法复用。很多人误以为票据内的用户名决定权限这是典型认知误区。Windows系统不会解析票据表层的用户名来判定权限等级核心只读取内嵌在TGT中的PAC特权属性证书。PAC字段封装了用户唯一SID、所属用户组SID、系统特权标识、登录权限、域内操作权限等所有核心授权信息是域权限体系的真正核心载体。这也是所有票据伪造攻击的核心突破口只要攻击者篡改PAC内部的权限数据同时保证票据签名合法、通过系统校验系统就会无条件赋予对应高权限完全无视账号本身的原始权限。2.3 krbtgt账户的核心价值krbtgt是Windows域控内置的专属系统账户系统默认限制人工登录不参与任何日常业务认证账号密码随机生成且绝大多数企业不会主动修改常年保持固定不变。微软设计该账户的唯一用途就是统一加密、签名域内所有的TGT票据是整个Kerberos认证体系的信任根。域内所有合法TGT票据签名密钥统一为krbtgt的NTLM哈希或AES密钥。这就意味着谁掌握了krbtgt密钥谁就掌控了全域票据的签发权限等同于完全接管整个域的身份认证体系拥有任意提权、任意登录、任意横向移动的能力。多年应急复盘下来我总结出一个核心判定标准域环境真正沦陷的终极标志从来不是攻击者拿到了域管账号密码而是攻击者成功导出并留存了krbtgt密钥。只要该密钥泄露域内所有账号、机器的权限体系都不再安全。2.4 Kerberos完整认证流程图业务服务端KDC域控客户端业务服务端KDC域控客户端AS_REQ 携带用户身份信息AS_REP 返回TGT票据 会话密钥TGS_REQ 携带TGT申请服务票据TGS_REP 返回ST服务票据AP_REQ 携带ST票据请求访问AP_REP 校验通过授权访问正常业务场景下所有TGT票据均由KDC原生生成、通过krbtgt密钥合法签名全程可追溯、可校验。金票和钻石票的核心区别本质就是是否依托KDC原生认证流程、是否篡改原生票据数据这也是红蓝对抗中区分两类攻击的核心判定依据。participant C as 客户端 participant K as KDC域控 participant S as 业务服务端 C-K: AS_REQ 提交用户身份申请TGT K-C: AS_REP 返回原生TGT会话密钥(生成4768日志) C-K: TGS_REQ 携带TGT申请业务ST票据 K-C: TGS_REP 返回合法ST票据 C-S: AP_REQ 携带ST票据访问业务 S-gt;gt;C: 校验通过授权访问(生成4769日志) # 3 红队实战金票伪造全流程与隐匿优化 金票是最基础、最经典的TGT伪造攻击核心逻辑是完全脱离KDC服务交互在本地人工构造完整的虚假TGT票据。工具成熟、操作门槛极低刚入门的红队人员也能快速上手是早期域内持久化的首选方式。但它的缺陷非常明显特征固定且极易被现代安全设备捕获仅适用于未部署日志审计的弱防护环境。 ## 3\.1 金票攻击前置条件 落地金票伪造不需要复杂参数仅需四项核心信息全部可以通过域控权限远程抓取无需物理接触域控主机 域名称、域唯一SID、krbtgt NTLM哈希/AES密钥、自定义授权用户名 真实渗透场景中攻击者拿到域内高权限后不会优先登录域控本机避免留下登录日志。大多会直接通过DCSync协议远程同步域账号机密数据静默抓取krbtgt密钥全程无交互、无落地文件隐蔽性远高于本地操作。 ## 3\.2 环境准备与工具清单 实战全程只用两款主流工具覆盖票据抓取、生成、注入、清理全流程无多余冗余工具避免引入异常特征。Mimikatz主打快速抓取密钥、一键生成金票适配快速渗透场景Rubeus主打精细化票据管理、规避查杀、适配高阶隐匿需求是目前红队对抗EDR、SOC的主流工具。 ## 3\.3 完整实操命令可直接复制落地 第一步本地抓取krbtgt密钥域控权限执行 Plain Text # Mimikatz DCSync 抓取krbtgt哈希 privilege::debug lsadump::dcsync /domain:test.local /user:krbtgt执行命令后控制台会直接回显krbtgt账号的NTLM哈希、AES128、AES256三组核心密钥务必完整保存。这三组密钥是后续所有票据伪造的核心凭证泄露后会直接造成全域权限失守。第二步生成自定义金票并注入内存# 生成金票并直接注入内存 kerberos::golden /domain:test.local /sid:S-1-5-21-1234567890-1234567890-1234567890 /ntlm:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx /user:DomainAdmin /ptt核心参数简单易懂替换对应真实环境参数即可使用。sid填写企业真实域唯一SIDntlm替换为刚刚抓取的krbtgt哈希user可自定义任意账号名称。/ptt是实战核心参数作用是将生成的恶意票据直接注入当前系统内存无需落地本地文件完美规避文件查杀、落地痕迹检测。第三步验证票据有效性# 查看当前会话Kerberos票据 kerberos::list # 测试域控访问 dir \\dc01.test.local\C$如果可以正常读取域控C盘共享目录代表金票注入成功当前普通会话已永久持有域管理员权限。哪怕后续退出登录、重启终端只要票据未过期依旧可以直接接管域控权限。真实案例复盘某中小型企业域入侵事件中攻击者通过OA漏洞拿下内网普通终端横向移动获取域管权限后抓取krbtgt哈希生成金票驻留。企业运维全员重置域账号密码、清理终端痕迹后误以为入侵已清除结果攻击者凭借留存的金票持续驻留内网3个月多次渗透域控窃取核心数据全程未被发现。3.4 红队金票隐匿优化方案工具默认参数生成的金票特征过于明显在有SOC、EDR、日志审计的环境中会被秒拦截实战中必须针对性优化规避这也是新手红队和资深红队的核心差距。第一优化票据有效期。Mimikatz默认生成10年有效期的票据远超Windows域默认10小时的票据时效特征极其醒目。实战中手动指定有效期为8-10小时完全匹配域策略默认配置规避时效异常告警。第二更换加密算法。老旧金票默认采用RC4加密目前绝大多数企业域环境已全面禁用RC4仅保留AES-256加密。实战中必须通过Rubeus指定AES256密钥生成票据和原生合法票据加密方式保持一致规避加密算法异常检测。第三复用真实在线账号。不要虚构不存在的账号生成票据极易触发异常账号提权告警。优先选择域内常态化在线的普通运维、业务账号改造贴合正常业务行为降低告警概率。3.5 金票致命缺陷蓝队核心突破口无论怎么优化规避金票都存在一个无法根治的底层硬伤。金票全程本地构造、完全脱离KDC交互域控安全日志中永远不会生成4768 TGT请求事件。但攻击者使用金票访问域内服务时会正常生成4769 ST请求事件。正常业务认证的日志链路一定是先有4768、后有4769时序固定、链路完整。金票攻击永久缺失前置4768日志链路断裂的特征无法规避这是蓝队检测金票最简单、最高效的突破口。4 红队高阶实战钻石票篡改原理与极致隐匿钻石票是专门针对金票所有缺陷迭代而来的高阶攻击手法也是目前红蓝对抗、护网行动中的主流驻留手段。它不再凭空伪造票据而是基于域控原生合法票据二次篡改彻底抹除金票的日志、参数、加密三大异常特征防护设备仅凭行为日志完全无法识别。4.1 钻石票与金票的底层核心差异金票的核心问题是全参数人工构造没有任何KDC交互记录票据序列号、时间戳、会话ID全部随机生成日志链路天然断裂特征一眼可辨。钻石票完全摒弃这种模式攻击者先以普通低权限用户身份走完整的官方认证流程向KDC申请一套合法原生TGT生成完整正常日志。拿到合规票据后再用krbtgt密钥解密票据针对性修改PAC权限字段。最终成型的钻石票所有表层参数、日志记录、加密方式全部和正常业务票据一致唯一改动的只有PAC权限数据。常规日志审计、行为分析、特征匹配的检测手段全部失效漏报率极高。4.2 钻石票攻击完整链路流程图A[普通域用户正常登录] -- B[请求KDC签发TGT 生成合法4768日志]B -- C[获取KDC原生合规TGT票据]C -- D[攻击者利用krbtgt密钥解密票据]D -- E[篡改PAC字段 提升为域管理员权限]E -- F[重新签名加密 生成钻石票]F -- G[内存注入替换原有票据]G -- H[高权限访问域服务 生成正常4769日志]H -- I[蓝队常规审计无任何异常]A[低权限正常用户登录] -- B[向KDC申请原生TGT 生成4768日志]B -- C[获取合法合规原始TGT票据]C -- D[攻击者利用krbtgt密钥解密TGT]D -- E[篡改PAC字段 提升账号权限为域管]E -- F[重新用krbtgt密钥签名加密]F -- G[生成钻石票并注入内存]G -- H[利用高权限访问域服务 生成正常4769日志]4.3 钻石票实战完整操作步骤钻石票最大的优势就是全程依托合法普通用户操作无需虚构账号、无需异常交互完全贴合日常运维行为隐蔽性拉满适合长期驻留、深度对抗场景。第一步使用域内常态化在线的普通用户登录终端手动刷新Kerberos票据确保KDC生成完整、时序正常的4768认证日志铺垫合法行为基线。第二步导出本机合法TGT票据保留原生参数、时间戳、会话ID。# Rubeus 导出当前用户原生TGT Rubeus.exe dump /nowrap导出的票据会完整保留KDC原生生成的时间戳、会话ID、加密参数、客户端信息无任何人工修改痕迹为后续隐匿利用做铺垫。第三步使用提前抓取的krbtgt AES256密钥解密原生票据精准修改PAC内部权限字段将当前普通用户的SID写入域管理员、企业管理员组开启全域系统特权。整个过程只改权限不动其他任何参数。# 钻石票重签注入核心命令 Rubeus.exe diamond /domain:test.local /user:user01 /aes256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx /ptt命令执行完成后无任何弹窗告警、无异常日志新增。当前普通用户会话瞬间拥有全域最高权限可执行域控登录、NTDS导出、全域账号查询等高权限操作蓝队常规检测完全无法感知。实战见解多数红队教程只讲钻石票生成命令却忽略核心细节——必须使用AES密钥重签票据RC4密钥生成的钻石票在现代域环境中依旧存在加密特征极易被高级EDR捕获。4.4 钻石票极致隐匿细节优化很多红队新手疑惑严格按照教程生成的钻石票为什么还是会被高端SOC设备检测核心原因就是忽略了PAC签名和行为基线的细节优化看似合规的票据依旧存在细微密码学漏洞和行为异常。第一严格沿用原生票据生命周期。不手动修改票据起止时间、不延长有效期完全匹配KDC原生签发的时效杜绝时间戳异常偏移导致的设备告警。第二最小化篡改字段。只修改PAC内的用户组SID、特权权限标识两个核心字段客户端地址、服务名称、随机校验码、票据版本等所有原生参数一律保留保证票据结构和正常票据完全一致。第三规避行为基线告警。普通用户提权后禁止批量、高频执行DCSync、NTDS导出、全域扫描等高危操作。实战中采用低频、分步操作间隔数小时执行一次高权限操作贴合普通员工运维节奏规避行为模型检测。4.5 钻石票唯一底层漏洞钻石票做到了表层全合规日志、参数、加密、行为全部无异常但它存在一个无法修复的底层密码学漏洞这也是蓝队唯一精准检测的突破口。篡改后的PAC内容和原有签名哈希无法匹配形成内容与签名错位的硬漏洞。原生合法票据的PAC明文内容、PAC签名哈希、krbtgt密钥三者完全对应哈希校验百分百通过。钻石票只修改了PAC明文权限内容没有同步重新计算、刷新底层签名哈希最终导致明文内容和签名校验值不匹配。这种漏洞属于密码学层级异常日志层面完全无法体现只能通过专属校验工具识别。5 蓝队实战检测金票、钻石票精准溯源方案多年应急响应经验告诉我域安全防御的核心差距从来不是设备优劣而是运维人员是否懂底层攻击逻辑。只依赖日志审计的蓝队只能拦截初级金票攻击面对钻石票完全无效。只有结合日志链路检测密码学校验行为基线分析的三层体系才能实现票据伪造攻击全覆盖拦截。5.1 金票批量检测脚本可直接落地针对金票日志断裂的核心特征我编写了可直接落地的PowerShell批量检测脚本无需人工逐行审计日志自动遍历域控安全日志精准筛选“有ST请求、无前置TGT请求”的异常会话适配所有Windows域控服务器。# 域控本地执行 筛查金票攻击痕迹 Get-WinEvent -FilterHashtable {LogNameSecurity;ID4769} -MaxEvents 10000 | ForEach-Object { $stTime $_.TimeCreated $user $_.Properties[6].Value $hasTGT Get-WinEvent -FilterHashtable {LogNameSecurity;ID4768} -StartTime ($stTime.AddSeconds(-5)) -EndTime ($stTime.AddSeconds(5)) -ErrorAction SilentlyContinue if(-not $hasTGT){ [PSCustomObject]{ 异常时间 $stTime 攻击账号 $user 事件描述 无TGT请求 直接发起ST请求 疑似金票攻击 } } }脚本执行后会自动输出所有疑似金票攻击的记录包含攻击时间、恶意账号、异常描述结果清晰无冗余误报率极低适合日常巡检、入侵排查、红蓝对抗自查。5.2 基于加密算法的金票辅助检测现阶段主流企业域环境均已禁用RC4加密协议仅保留AES加密。任何RC4加密的TGT票据基本可以判定为人工伪造的恶意票据这条规则可以快速筛查大部分初级金票攻击。# 筛查RC4加密Kerberos认证事件 Get-WinEvent -FilterHashtable {LogNameSecurity;ID4768} | Where-Object { $_.Properties[8].Value -eq 0x1 } | Select-Object TimeCreated,{NameUser;Expression{$_.Properties[6].Value}}5.3 钻石票专属PAC签名校验方案钻石票无日志、无参数、无行为异常常规检测手段全部失效唯一有效的检测方式就是PAC签名哈希校验。通过Rubeus工具对本地所有Kerberos票据进行批量密码学校验精准识别篡改后的恶意票据。# 批量校验本地所有票据PAC签名 Rubeus.exe validate /all执行命令后重点关注输出结果中的PAC Hash Mismatch字段出现该字段即为百分百的钻石票攻击痕迹无任何误报是目前行业内最权威的钻石票判定依据。5.4 SIEM落地告警规则可直接导入我整理了三条高精准、可直接导入主流SIEM、SOC、态势感知平台的告警规则适配政企、私企、国企等各类域环境落地即可生效规则1金票告警安全事件ID4769 且 同用户同时间窗口无4768事件规则2钻石票告警Kerberos票据PAC签名校验失败、哈希不匹配规则3辅助告警禁用RC4环境下出现RC4加密TGT票据5.5 攻击溯源取证流程日常入侵溯源无需盲目排查固定标准化流程即可快速定位攻击入口、入侵范围和持久化后门第一提取日志中的客户端IP、终端主机名、登录账号定位攻击入口终端。第二筛查该终端历史登录、进程创建、文件落地日志确认攻击者入侵时间和初始漏洞。第三核查krbtgt密钥修改记录判断攻击者是否留存持久化后门。第四全域筛查异常高权限用户、篡改PAC票据排查横向扩散范围。6 全域防御加固从根源杜绝票据伪造攻击复盘无数域入侵事件可以确定所有Kerberos票据伪造攻击的根源只有两个krbtgt密钥长期未轮换导致泄露、Kerberos协议校验策略过于宽松。普通的终端加固、账号改密、密码复杂度加固对这类高阶攻击完全无效必须从密钥、协议、审计三个维度做全域闭环加固。6.1 krbtgt密钥轮换最核心防御手段krbtgt密钥一旦被攻击者获取所有历史伪造票据永久有效不会随账号改密、机器重启而失效。定期轮换krbtgt密钥是目前清除票据后门、防御票据伪造攻击最核心、最有效的手段没有之一。结合政企安全规范和实战对抗经验给出标准化轮换规则常规企业域环境每90天完整轮换一次krbtgt密钥一旦发生域控沦陷、密钥泄露事件必须连续执行两轮密钥轮换。Windows域默认保留新旧双密钥两轮轮换可彻底覆盖所有历史密钥失效全部残留伪造票据。密钥轮换可通过AD域模块一键执行全程无需重启域控、不中断业务、不影响员工正常办公适合常态化落地。落地补充很多企业从未轮换过krbtgt密钥这是域安全最大的隐性漏洞一旦被拿下密钥整个域环境永久处于失守状态。6.2 协议安全策略加固通过域组策略统一禁用老旧、不安全的RC4加密算法全域强制启用AES-256高强度加密从加密层面拦截所有依赖老旧算法的初级票据伪造攻击封堵基础攻击入口。开启全域PAC强制签名校验策略让系统主动校验每一张票据的PAC内容与签名哈希一致性直接拒绝所有篡改后的钻石票从协议底层拦截高阶票据攻击。修改域Kerberos策略统一限制票据最大有效期为8小时杜绝超长时效恶意票据长期驻留缩短攻击窗口期降低入侵风险。6.3 权限与审计加固定期清理域内冗余管理员、废弃高权限账号收紧普通域用户权限严格禁止低权限用户读取LDAP机密数据、执行DCSync密钥同步操作从权限层面缩小攻击面。全域开启Kerberos完整安全审计日志强制留存4768、4769、4771等核心认证事件保证每一次票据申请、服务访问都可追溯、可溯源、可取证。终端侧部署EDR防护策略精准监控Mimikatz、Rubeus等渗透工具的进程行为拦截票据抓取、票据注入、密钥导出等高危操作从终端入口阻断攻击链路。7 应急响应票据伪造入侵处置标准流程真实应急场景里很多运维人员处置票据入侵时会盲目修改密码、重启域控这种操作会直接清空日志、破坏取证环境导致无法溯源攻击入口同时残留大量恶意后门。标准化处置流程可以完全规避这类问题第一步应急隔离。第一时间隔离被入侵终端临时封禁异常高权限账号阻断攻击者横向移动和二次提权链路防止攻击范围扩大。第二步取证留存。优先备份域控安全日志、终端进程日志、票据校验记录固定攻击时间、攻击IP、操作行为等核心证据禁止随意清空日志、重启设备。第三步密钥清零。执行两轮krbtgt密钥完整轮换彻底失效所有新旧伪造票据清除攻击者所有持久化后门这是应急处置的核心步骤。第四步全域排查。遍历所有域用户权限、终端票据、登录记录筛查异常提权账号、篡改PAC票据、可疑登录IP全面清理被入侵点位排查横向扩散范围。第五步加固闭环。补齐域组策略、加密策略、日志审计策略复查域安全基线修复漏洞与权限缺陷避免攻击者二次入侵。8 攻防对比与实战总结金票攻击门槛低、特征固定适合新手快速提权和短期驻留在常态化日志审计的企业环境中极易被捕获仅适用于弱防护内网渗透场景对抗性有限。钻石票针对性解决了金票日志断裂、参数异常、加密老旧三大缺陷是目前红队高阶对抗、长期驻留的核心手法。它的唯一短板就是PAC签名哈希不匹配的密码学漏洞这也是蓝队防御体系的核心突破口所有高阶域安全防御都需要围绕该漏洞搭建。现代域安全防御不能只依赖传统日志审计单一检测手段完全无法应对钻石票这类高阶攻击。企业必须搭建密码学校验、密钥动态轮换、用户行为基线分析的三层立体防御体系从攻击入口、驻留过程、权限利用全链路拦截票据伪造攻击。纵观企业域安全风险99%的长期驻留入侵都源于krbtgt密钥常年不更新、Kerberos协议策略宽松、日志审计体系缺失这三类基础问题。只要落地密钥定期轮换、PAC强制校验两项核心配置就能拦截绝大多数高阶域内攻击大幅提升内网安全基线。互动提问1、你在日常红蓝对抗、内网运维或应急响应工作中是否遇到过钻石票攻击漏报的问题主流SOC、EDR设备分别存在哪些检测短板2、除了PAC签名校验、krbtgt密钥轮换这两种通用手段你在实战中还用过哪些精准拦截、溯源钻石票的高阶方案欢迎评论区交流实操经验。