在一个月黑风高的夜晚,突然收到邮件说要准备准备,分享一下对Kerberos告警的分析,心里震惊了一下,我都好多年没有正经学习了,写个小作文还是有点困难的,不过,
还好我有Kimi(Kimi K2.6 模型已正式发布,长程代码编写能力更强更稳。)
以下内容可能会有地方说的不够清楚,有啥问题的可以留言一起探讨。
一、Kerberos 基本认证流程简单分析

上图中涉及到了三个请求返回过程:Client与KDC的AS,Client与KDC的TGS,Client与Server,详细的请求响应如下:
Step 1:AS-REQ:Client向KDC(AS)发起一个认证请求,请求的凭据是Client的NTLM Hash加密的时间戳以及身份信息等
Step 2:AS-REP:AS使用Client NTLM HASH进行解密,若检验正确则返回用KRBTGT HASH加密的TGT票据(再TGS-REQ中发送到TGS并用于换取ST),TGT里面包含PAC
Step 3:TGS-REQ:Client获得TGT缓存在本地(不能解密),可用来向TGS换取访问相应服务的ST票据
Step 4:TGS-REP:TGS使用KRBTGT HASH解密TGT,若结果正确,返回用提供服务的服务器的Server Hash(机器用户HASH)加密的ST(server ticket)
Step 5:AP_REQ:Client拿着获得的ST去服务器请求资源
Step 6:AP_REP:Server使用自己的Hash解密ST,若解密正确,则拿着获取的PAC去访问KDC判断Client是否有权限访问。KDC解密PAC后获取用户sid以及所在组的信息,并根据访问控制表(ACL)判断权限。若符合,Server返回资源给Client
名词解释:
Domain Controller 域控制器,简称DC,一台计算机,实现用户、计算机的统一管理
Key Distribution Center 秘钥分发中心,简称KDC,默认安装在域控里,包括AS和TGS
Authentication Service 身份验证服务,简称AS,用于KDC对Client认证
Ticket Grantng Service 票据授予服务,简称TGS,用于KDC向Client和Server分发Session Key(临时秘钥)
Active Directory 活动目录,简称AD,用于存储用户、用户组、域相关的信息。
Client 客户端,指用户。
Server 服务端,可能是某台计算机账户,也可能是某个服务。
黄金票据:黄金票据伪造的是:TGT(Ticket Granting Ticket)而签发 TGT 的关键密钥来自:KRBTGT 账户 Hash,KRBTGT 是域里专门负责 Kerberos 的隐藏账户。只要攻击者拿到:krbtgt NTLM Hash就能自己签发合法TGT。因此黄金票据通常意味着域已经基本沦陷。
白银票据:白银票据伪造的是:TGS(Service Ticket),更多的是为了控制某个服务。但目前这两个方式已经用的比较少了。

关键概念:
| 概念 | 通俗解释 | 为什么和攻击有关 |
| SPN (Service Principal Name) | 服务在 AD 里的「门牌号」,如 MSSQLSvc/db01:1433 | 任何域用户都能为任意 SPN 请求 TGS——这是 Kerberoasting 的根 |
| TGS 服务票据 | 访问某服务的通行证,用该服务账号的密码哈希加密 | 拿到票据 = 拿到一份用服务账号密码加密的密文 → 可离线爆破 |
| 加密类型 (Encryption Type) | 票据加密算法 | 0x17 (RC4) 弱、易破;0x12 (AES256) 强。攻击者会刻意降级请求 RC4 |
| 服务账号 | 跑服务用的域账号,常密码弱且长期不改、还常是高权限 | Kerberoasting 的最终目标 |
二、MITRE ATT&CK映射
| 检测规则 | MITRE阶段 | 风险危害 |
| UC037 – Detect Kerberos Ticket Requested | TA0006 凭据访问 (T1558 Kerberos 票据滥用) / TA0008 横向移动 (T1550.003 Pass-the-Ticket) 这是最早期的信号。攻击者拿到一个普通域账号后通常会枚举SPN 了解有哪些服务账号,判断攻击目标,此时会产生大量:4769 Kerberos Service Ticket Request,所以这条规则更偏向:侦察(Discovery)阶段 | 批量票据请求 = Kerberoasting 或自动化横向移动工具在跑 异常账号请求高敏服务票据 = 攻击者在为访问关键系统做准备 TGT 异常复用 = Pass-the-Ticket,凭据已被盗用 |
| [TA0006-R07] Suspicious Kerberos Service Ticket Request | TA0006 Credential Access — T1558.003 Kerberoasting 前置常伴 TA0007 Discovery — T1087 账号枚举 / SPN 扫描 当攻击者确定目标后:请求服务票据(TGS),导出票据,Hashcat破解,此时属于:凭证获取(Credential Access) | 服务账号密码一旦破解 → 攻击者获得该服务账号权限;服务账号常被授予高权限甚至域管 整个过程离线破解,域内无任何后续异常,破解成功后才回来直接合法登录,极隐蔽 是从「普通域用户」提权到「高权限账号」的最经典路径之一 |
| [TA0007-R01] SMB Brute Force Attempt [Internal] | TA0007 / TA0008 — T1110.001 密码猜测 / T1110.003 密码喷洒 / T1021.002 SMB 横向 攻击者得到服务账户密码后:会尝试登录服务器或者文件服务器或者域控,这时候会出现4625,4624 ,4776,为横向移动准备。 | 内网爆破说明攻击者已在内网立足,正寻找弱口令扩大战果 命中弱口令 → 横向移动到新主机;若命中特权账号 → 直奔域控 大量失败可能触发账号锁定,造成业务中断(DoS 副作用) |
| UC037 – Detect Kerberos Ticket Requested within your network | TA0008 横向移动 — T1021 远程服务 / T1550.003 Pass-the-Ticket;TA0006 — T1558 票据滥用 这时候属于横向移动中的Kerberos行为,当攻击者已经开始控制多台机器,会出现不同的机器对其他各种服务器发送TGT请求,这时候产生大量内部Kerberos请求, | 横向移动前置:攻击者正在为访问新目标主机申请通行证,下一步就是实际登录/执行 若用盗取的高权限票据请求 CIFS/HOST 票据访问多台机器 = 横向扩散正在发生 是”打到域控”前最值得抓住的早期信号之一 |
| [TA0003-R09] Multiple Windows Account Passwords Changed | TA0003 Persistence / TA0005 防御绕过 — T1098 账号操纵 大规模锁定合法用户出账号则关联 TA0040 Impact(勒索前「锁门」,阻止管理员夺回控制) 如果攻击者获得Domain Admin, Account Operators,这时候会经常出现批量重置密码,例如管理员账号,服务账号,备份账号,目的是及建立后门,以及为后面的目的做准备。 | 🚨 这条告警往往出现在攻击链的”后期” 批量改密通常意味着攻击者已经拿到了高权限。它有两种剧本:① 持久化/巩固控制——重置一批账号密码留作后门;② 勒索前的”锁门”动作——批量改密+改域管密码,让管理员无法登录夺回控制权,紧接着就是加密。看到它要按高优先级、可能正在进行的事件处理。 合法用户被锁在门外 → 大面积业务中断 攻击者掌握新密码 → 长期访问后门 若含域管/服务账号 → 全域控制权易主 |
三、规则详解
规则一:UC037-Detect Kerberos Ticket Requested
MITRE阶段
TA0006
Credential Access
告警说明
检测:
Kerberos票据请求异常
包括:
- 请求频率异常
- 服务异常
- 来源主机异常
数据源
| 数据源 | 说明 |
| 域控安全日志 | 主要来源。4768(TGT 请求 AS-REQ) + 4769(TGS 请求) |
| AD 账号/主机基线 | 判断「异常账号/主机」的参照系 |
| EDR | 源主机进程定位 |
关键字段
| 字段 | 研判作用 |
| Account Name / Client Address | 请求方账号与主机——核心:这个「账号×主机」组合是否符合常态?(财务账号从服务器发起请求 = 异常) |
| Service Name | 请求的服务。批量、跨多主机服务、敏感服务(如域管相关)值得关注 |
| 请求频率 / 数量 | 本用例核心:单位时间内票据请求数远超基线 = 批量请求 |
| Encryption Type | RC4 降级仍是重要旁证 |
| 4768 vs 4769 比例 | 异常的 TGT/TGS 比例可暴露票据滥用(如 Pass-the-Ticket 复用 TGT 大量换 TGS) |
告警原理
对 4768/4769 做基线建模,当:
某 Account / Client Address 的票据请求频率突增 (> baseline × N)
或 异常账号-主机组合请求票据
或 单账号短时请求大量不同 Service Name
→ alert(UC037 Kerberos Ticket Requested)
风险
可能正在:
- Kerberoasting
- 服务发现
- 横向移动准备
分析步骤
查看请求来源
Source Host
查看请求对象
Service Name
是否批量请求
例如:
100个不同SPN
是否首次出现
SOC中重点关注:
历史未出现账号
建议处置
检查:
Rubeus
PowerShell
Impacket
执行痕迹。
规则二:Suspicious Kerberos Service Ticket Request
告警说明
检测:
异常Kerberos服务票据请求
重点发现:
- Kerberoasting
- 服务账号枚举
- SPN扫描
数据源
| 数据源 | 说明 |
| 域控安全日志 (Domain Controller) | 主要来源。Kerberos 服务票据请求事件 4769 |
| AD / LDAP 查询日志 | 攻击前常先枚举带 SPN 的账号(SPN 扫描) |
| EDR / 终端日志 | 定位发起请求的进程(Rubeus、Impacket GetUserSPNs、PowerView) |
| 账号目录信息 | 哪些是服务账号、是否高权限、SPN 清单 |
关键字段
| 字段 | 研判作用 |
| Service Name / Service ID | 被请求票据的服务账号/SPN。Kerberoasting 会针对真实服务账号而非机器账号(机器账号以 $ 结尾,通常排除) |
| Ticket Encryption Type | 最强特征:0x17 (RC4-HMAC) 高度可疑(现代域默认 AES,攻击者故意降级以便破解);0x12/0x11 (AES) 相对正常 |
| Account Name (请求方) | 谁在请求。一个普通用户账号短时间请求大量不同服务的票据 = 典型 Kerberoasting |
| Client Address | 请求来源 IP,定位发起主机 |
| Ticket Options | 票据选项标志位,可辅助识别工具特征 |
| Failure Code | 0x0 成功。Kerberoasting 通常都是成功的(请求本身合法) |
告警原理
正常业务中,用户请求服务票据是按需、零散的。Kerberoasting 的异常在于统计特征:
同一 Account Name 在短时间内:
请求大量不同 Service Name (≥N 个) 的 TGS
且 Ticket Encryption Type = 0x17 (RC4)
且 目标多为带 SPN 的用户型服务账号(非机器账号 $)
→ alert(Suspicious Kerberos Service Ticket Request)
⚠️ 检测靠组合,不靠单条单独一条 RC4 的 4769 毫无意义(很多老旧应用就用 RC4)。告警价值在于「同账号 + 短时间 + 多 SPN + RC4」的组合统计。研判时一定要拉出该账号的请求时间序列和 SPN 列表,看是不是”批量扫荡”。
风险危害
服务账号通常:
- 长密码不改
- 权限较高
破解成功后可能获得:
- SQL权限
- Exchange权限
- 域管理员权限
常见触发场景
正常:
- SQL客户端连接
- IIS访问
- Exchange访问
异常:
- PowerView
- Rubeus
- Impacket
分析步骤
1 查看请求账号
Account Name
是否普通用户。
2 查看请求数量
统计:
5分钟内
4769数量
例如:
300+
明显异常。
3 查看SPN
例如:
MSSQLSvc/*
HTTP/*
CIFS/*
是否出现批量枚举。
4 查看加密类型
重点:
0x17
RC4
Kerberoasting常见目标。
5 查询威胁情报
调查:
- 源IP
- 主机名
- 用户名
是否关联:
- 恶意IP
- 已感染终端
6 查找关联告警
是否同时出现:
- LDAP枚举
- SMB扫描
- 密码喷洒
- 横向移动
建议处置
短期
隔离主机,重置服务账号密码
长期
使用:
服务账号改用 gMSA(自动轮换强密码)、禁用 RC4、关注 SPN 最小化授权
规则三:SMB Brute Force Attempt [ Internal ]
MITRE阶段
TA0006
Credential Access
对应:
T1110
Brute Force
SMB简介
SMB用于:
- 文件共享
- 域管理
- 横向移动
端口:
445

数据源
| 数据源 | 说明 |
| Windows 安全日志(目标主机/域控) | 主要来源。登录失败 4625、成功 4624(Logon Type 3 网络登录)4776 NTLM认证 |
| 防火墙 / NetFlow | 内网 445 会话量、源对目标的扇出关系 |
| EDR | 源主机发起 SMB 连接的进程 |
| AD 账号锁定日志 | 4740 账号锁定,爆破的副作用 |
关键字段
| 字段 | 研判作用 |
| Source Address / Workstation | 爆破源主机——内网爆破说明已有据点,这台机器很可能已失陷 |
| Target Account Name | 被猜的账号。单账号多密码=密码猜测;多账号同密码=密码喷洒(更隐蔽,避免锁定) |
| Logon Type | 3=网络登录(SMB 典型);关注 3 的密集 4625 |
| Failure Reason / Status / Sub Status | 0xC000006A=密码错,0xC0000064=用户不存在,0xC0000234=账号锁定,0xC0000072=账号禁用——分布能区分喷洒 vs 枚举 |
| 失败次数/频率 | 核心阈值:短时间大量 4625 |
| 紧随的 4624 | 最关键:一连串失败后突然成功 = 爆破命中弱口令,立即升级 |
告警原理
同一 Source Address 在时间窗内:
对单个或多个目标主机产生大量 4625 (Logon Type 3)
失败次数 > 阈值
→ alert(SMB Brute Force [Internal])
强信号:失败序列后出现 4624 成功(爆破成功)
⚠️ 区分密码猜测 vs 密码喷洒密码猜测=盯一个账号狂试(易锁定、易告警);密码喷洒=拿一个常见密码(如 Spring2026!)去试一大批账号,每账号只试 1-2 次,不触发锁定、单账号看很正常,必须从「源主机/源 IP」维度横向聚合才能发现。研判时一定要按源聚合,而不是按账号。
风险危害
可能意味着:
- 弱口令攻击
- 密码喷洒
- 横向移动
常见触发场景
正常:
运维脚本密码配置错误
异常:
CrackMapExec
NetExec
批量尝试。
分析步骤
查看失败账号
是否:
administrator
svc_sql
backup
查看成功记录
搜索:
4624
确认是否爆破成功。
查看横向移动
关联:
PsExec
WMI
RDP
日志。
建议处置
- 封禁源IP
- 重置账号密码
- 启用账户锁定策略
- 检查横向移动痕迹
规则四: UC037 – Detect Kerberos Ticket Requested Within Your Network
MITRE阶段
TA0008
Lateral Movement
告警说明
关注:
内网主机之间
Kerberos服务票据请求
风险
可能表示:
- 横向移动
- 服务发现
- Kerberoasting
数据源
| 数据源 | 说明 |
| 域控 4768/4769、内网流量(NetFlow)、EDR、AD 资产基线 | 无 |
关键字段
| 字段 | 内容 |
| Service Name | 本条尤其关注面向横向移动的服务:CIFS(文件共享/SMB)、HOST、RPCSS、WSMAN/PowerShell Remoting、MSSQL 等——请求这些服务票据常是要去访问/控制目标主机 |
| Client Address → Service 主机 | 本条核心:构建”源主机→目标主机”的票据请求关系图,发现一台主机短时间为多台不同目标主机请求 CIFS/HOST 票据 = 横向移动踩点 |
| Account Name | 用哪个账号在横移?是否为刚被 Kerberoast/爆破到的账号? |
| Encryption Type / Ticket Options | RC4 降级、异常票据选项辅助识别工具 |
Windows 域环境中的 Kerberos 与认证攻击检测分析
内网范围内监测 4769,当:
单 Client Address / Account 短时间为多个不同目标主机
请求 CIFS/HOST 等横移相关服务票据
或票据请求路径偏离该账号/主机的正常访问基线
→ alert(UC037 within network)
分析重点
请求来源
是否:
- 普通办公终端
- 跳板机
- 服务器
请求服务
是否出现:
CIFS
HOST
MSSQLSvc
LDAP
是否伴随横向移动
关联:
4624 Type3
网络登录。
是否出现远程执行
关注:
PsExec
WinRM
WMI
相关日志。
建议处置
确认:
- 是否授权访问
- 是否存在异常票据请求
- 是否已出现登录成功
- 是否已形成横向移动链路
规则五:[TA0003-R09]Multiple Windows Account Passwords Changed
MITRE阶段
TA0003
Persistence
对应:
T1098
Account Manipulation
告警说明
检测:
短时间大量密码修改
数据源
| 数据源 | 说明 |
| 域控安全日志 | 主要来源。4724(管理员重置他人密码)、4723(用户改自己密码)、4738(账号属性变更) |
| AD 变更/审计日志 | 操作者、目标账号、时间 |
| IT 工单/变更系统 | 核对是否为已审批的批量运维操作 |
| EDR | 操作者主机进程(脚本批量改密 vs GUI 手动) |
关键字段
| 字段 | 研判作用 |
| Subject Account (操作者) | 第一关键:谁在改?是 IT/HelpDesk 管理员(可能正常)还是普通账号/异常账号(高危)? |
| Target Account (被改账号) | 被改的是谁、共多少个、是否包含特权账号/域管/服务账号 |
| Event ID 4724 vs 4723 | 4724=他人重置(攻击者控他人账号常用);4723=自助修改 |
| 变更数量/速率 | 本规则核心:短时间内大量账号被改 = 批量操作 |
| 操作时间 | 非工作时间/凌晨的批量改密尤其可疑 |
告警原理
同一 Subject(操作者) 在时间窗内:
产生大量 4724/4723 (针对不同 Target Account)
数量 > 阈值
→ alert(Multiple Windows Account Passwords Changed)
加权:操作者非授权管理员 / 非工作时间 / 含特权目标账号
风险危害
攻击者获得管理员权限后:
批量重置密码
实现:
- 持久化
- 接管账户
分析步骤
操作者是谁
SubjectUserName
修改范围
几个账号?
几十个账号?
管理员账号?
是否为计划运维
核实:
- AD管理员
- 运维工单
是否关联提权
查看:
4672
4728
4732
建议处置
- 立即核查操作者
- 检查是否越权
- 恢复账号密码
- 审计所有权限变更
总结
这5条规则实际上可以串成一条完整攻击链:
账号泄露
↓
Kerberos Ticket Requested
↓
Kerberoasting
↓
密码破解
↓
SMB Brute Force
↓
横向移动
↓
Password Changed
↓
权限维持