近期安全研究团队披露了一种针对Kerberos协议的新型中继攻击手法,该技术通过滥用DNS CNAME记录成功绕过了现有防护机制。这种攻击方式之所以引起广泛关注,是因为它突破了传统Kerberos中继攻击的防御边界,使得攻击者能够在企业内网中实现横向移动。
Kerberos作为企业域环境中最广泛使用的身份认证协议,其安全性直接关系到整个网络架构的防护水平。传统中继攻击通常受限于SPN(Service Principal Name)绑定机制和协议本身的保护措施,而这次发现的攻击方法通过DNS层面的配置漏洞实现了突破。
关键发现:攻击者利用CNAME记录将服务请求重定向到受控机器,使得Kerberos票据可以被中继到攻击者指定的目标系统,整个过程完全避开了常规的安全检测。
在标准Kerberos认证过程中,客户端首先向KDC(Key Distribution Center)请求TGT(Ticket Granting Ticket),然后使用TGT获取特定服务的ST(Service Ticket)。传统防御机制主要关注以下方面:
然而,这些防护都假设服务端身份验证是基于直接的主机名解析。新型攻击手法的突破点在于:当客户端解析服务名称时,会遵循DNS中的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认证流程完全不会察觉这个重定向行为。
攻击者需要收集以下关键信息:
常用工具包括:
关键技巧:选择高价值但低监控的服务(如备份系统、监控系统)作为CNAME目标,可以显著延长攻击驻留时间。
这种攻击方式能有效规避以下安全机制:
DNS加固:
Kerberos配置:
powershell复制# 启用PAC验证
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Lsa\Kerberos\" -Name "ValidateKdcPacSignature" -Value 1
网络分区:
监测增强:
认证升级:
text复制建议迁移到以下更安全的认证方案:
- 证书-based认证(如PKINIT)
- 硬件令牌集成
- 多因素认证强制策略
安全团队应重点关注以下日志事件:
| 数据源 | 检测指标 | 风险等级 |
|---|---|---|
| DNS日志 | 异常CNAME记录添加 | 高危 |
| Kerberos日志 | 同一TGT的SPN异常变化 | 高危 |
| 网络流量 | 非常规主机的88/tcp连接 | 中危 |
| 系统日志 | 服务账户的异常登录模式 | 中危 |
确认攻击后的标准响应步骤:
隔离:
取证:
powershell复制# 快速收集Kerberos票据证据
klist purge
wevtutil qe Security /q:"*[System[EventID=4769]]" /f:text
恢复:
加固:
在实际企业环境中,建议采用分层防御策略:
基础层:
应用层:
管理层:
从实际运维经验来看,最有效的防护是组合方案。我们曾在一个金融客户环境中发现,单纯依靠技术控制无法完全阻止这类攻击,必须配合严格的变更管理流程。具体实践中,我们实施了DNS修改的"双人复核"制度,将相关攻击面减少了80%以上。