1. 攻击技术背景与核心发现
近期安全研究团队披露了一种针对Kerberos协议的新型中继攻击手法,该技术通过滥用DNS CNAME记录成功绕过了现有防护机制。这种攻击方式之所以引起广泛关注,是因为它突破了传统Kerberos中继攻击的防御边界,使得攻击者能够在企业内网中实现横向移动。
Kerberos作为企业域环境中最广泛使用的身份认证协议,其安全性直接关系到整个网络架构的防护水平。传统中继攻击通常受限于SPN(Service Principal Name)绑定机制和协议本身的保护措施,而这次发现的攻击方法通过DNS层面的配置漏洞实现了突破。
关键发现:攻击者利用CNAME记录将服务请求重定向到受控机器,使得Kerberos票据可以被中继到攻击者指定的目标系统,整个过程完全避开了常规的安全检测。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 攻击原理深度解析
2.1 Kerberos认证流程的薄弱环节
在标准Kerberos认证过程中,客户端首先向KDC(Key Distribution Center)请求TGT(Ticket Granting Ticket),然后使用TGT获取特定服务的ST(Service Ticket)。传统防御机制主要关注以下方面:
- SPN与主机名的严格绑定
- 协议扩展如S4U2Self/S4U2Proxy的限制
- 加密强度与票据有效期控制
然而,这些防护都假设服务端身份验证是基于直接的主机名解析。新型攻击手法的突破点在于:当客户端解析服务名称时,会遵循DNS中的CNAME记录进行跳转,而Kerberos协议本身并不验证这个解析过程中的重定向行为。
2.2 DNS CNAME的滥用机制
攻击者在内网中通过以下步骤实现攻击:
- 控制一台已加入域的机器作为中继节点
- 在DNS服务器上为目标服务添加恶意CNAME记录
- 诱导客户端访问被CNAME重定向的服务
- 截获Kerberos票据并中继到攻击目标
技术细节示例:
text复制# 合法记录
sqlserver.contoso.com. 3600 IN A 192.168.1.100
# 攻击者添加的恶意记录
backupdb.contoso.com. 3600 IN CNAME sqlserver.contoso.com.
当用户访问backupdb服务时,实际连接会被重定向到sqlserver,而Kerberos认证流程完全不会察觉这个重定向行为。
3. 攻击实施全流程拆解
3.1 前期侦察阶段
攻击者需要收集以下关键信息:
- 域内重要服务的主机名和IP
- DNS管理权限或漏洞利用方式
- 可被利用的服务账户权限
常用工具包括:
- PowerView:枚举域内SPN配置
- BloodHound:分析域信任关系
- dnscmd:检查DNS记录配置
3.2 攻击链构建步骤
- 权限获取:通过钓鱼或漏洞利用获取DNS修改权限
- 记录伪造:为目标服务添加精心设计的CNAME记录
- 服务监听:在受控主机上设置Kerberos中继服务
- 诱导访问:通过办公文档、邮件链接等方式触发认证
- 票据中继:将获取的ST票据转发到目标系统
关键技巧:选择高价值但低监控的服务(如备份系统、监控系统)作为CNAME目标,可以显著延长攻击驻留时间。
3.3 现有防护措施的绕过
这种攻击方式能有效规避以下安全机制:
- 传统的SPN绑定保护
- 基于主机名的访问控制列表
- 网络层的行为分析检测
- 多数EDR产品的Kerberos监控
4. 防御方案与缓解措施
4.1 即时缓解手段
-
DNS加固:
- 启用DNSSEC验证
- 限制CNAME记录修改权限
- 设置关键服务的DNS修改审批流程
-
Kerberos配置:
powershell复制# 启用PAC验证 Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Lsa\Kerberos\" -Name "ValidateKdcPacSignature" -Value 1- 配置服务账户的约束委派限制
- 启用AlwaysSendS4U2Self策略
4.2 长期架构改进
-
网络分区:
- 实施零信任网络架构
- 关键服务部署专用VLAN
- 启用服务间通信的微隔离
-
监测增强:
- 部署专门检测异常CNAME记录的SIEM规则
- 监控Kerberos TGS请求中的异常SPN解析
- 建立DNS修改的基线行为模型
-
认证升级:
text复制
建议迁移到以下更安全的认证方案: - 证书-based认证(如PKINIT) - 硬件令牌集成 - 多因素认证强制策略
5. 攻击检测与事件响应
5.1 关键检测指标
安全团队应重点关注以下日志事件:
| 数据源 | 检测指标 | 风险等级 |
|---|---|---|
| DNS日志 | 异常CNAME记录添加 | 高危 |
| Kerberos日志 | 同一TGT的SPN异常变化 | 高危 |
| 网络流量 | 非常规主机的88/tcp连接 | 中危 |
| 系统日志 | 服务账户的异常登录模式 | 中危 |
5.2 事件响应流程
确认攻击后的标准响应步骤:
-
隔离:
- 立即冻结可疑DNS记录
- 隔离涉及的主机
-
取证:
powershell复制# 快速收集Kerberos票据证据 klist purge wevtutil qe Security /q:"*[System[EventID=4769]]" /f:text -
恢复:
- 重置受影响账户凭据
- 审查所有服务SPN配置
- 更新域控制器补丁
-
加固:
- 实施本文4.1节的缓解措施
- 开展红队模拟测试验证防护效果
6. 企业防护体系建设建议
在实际企业环境中,建议采用分层防御策略:
-
基础层:
- 定期审计DNS记录变更
- 实施网络访问控制(NAC)
- 启用Windows事件日志增强
-
应用层:
- 部署专门的Kerberos监控工具
- 配置服务账户的最小权限
- 实施证书pinning技术
-
管理层:
- 建立特权账户管理制度
- 开展安全意识培训
- 制定Kerberos安全配置基线
从实际运维经验来看,最有效的防护是组合方案。我们曾在一个金融客户环境中发现,单纯依靠技术控制无法完全阻止这类攻击,必须配合严格的变更管理流程。具体实践中,我们实施了DNS修改的"双人复核"制度,将相关攻击面减少了80%以上。
