如何处理Windows运维中由于Kerberos金票据攻击导致的系统提权

夜磊同学_9063

夜磊同学_9063

2026-04-15

519人浏览

原创

处理Kerberos黄金票据攻击需切断伪造票据生成能力、识别异常使用痕迹并重建信任链;因krbtgt哈希已被窃取,必须两次间隔≥10小时重置其密码,并同步隔离主机、保全证据、清理残留凭证及加固Kerberos防护。

处理kerberos黄金票据攻击导致的系统提权,核心不是“清除一张票”,而是切断伪造票据的生成能力、识别异常使用痕迹,并重建信任链。黄金票据一旦被滥用,说明攻击者已长期掌握krbtgt账户哈希——这代表域控已被深度渗透,单纯删账号或重置普通用户密码毫无意义。

立即隔离与证据保全

发现疑似黄金票据活动(如离职账号频繁访问高权限服务、TGT生命周期异常长、非工作时间大量TGS请求)时,首要动作是冻结横向移动路径:

  • 断开所有可疑主机的网络连接,尤其是已确认运行mimikatz、Rubeus或执行过lsadump::dcsync的机器
  • 在域控制器上导出当前所有TGT缓存(用klist tickets或PowerShell的Get-KrbtgtTicket模块),标记时间戳和发起IP
  • 完整备份域控制器的NTDS.dit、SYSTEM注册表项、安全日志(特别是事件ID 4769,即TGT发放记录)
  • 暂停所有非紧急的域策略更新和组策略应用,防止攻击者借GPO注入恶意启动脚本

重置krbtgt账户并强制票据轮换

黄金票据有效性的根源在于krbtgt账户的NTLM哈希未变。必须执行两次连续重置,间隔至少10小时(大于默认TGT最大有效期):

  • 第一次重置krbtgt密码:在域控制器上用net user krbtgt NewPass123! /domain,立即触发AD同步
  • 等待10–12小时,确保所有旧TGT自然过期、且无残留缓存
  • 第二次重置krbtgt密码:再次执行net user krbtgt NewPass456! /domain
  • 重置后,所有此前签发的黄金票据彻底失效;客户端会自动向KDC申请新TGT,旧票据无法续订

注意:单次重置无效,因为攻击者可能已导出第一次重置前的哈希,而TGT默认可续订7天。

直播间话术巡检-windows
直播间话术巡检-windows

直播话术巡检系统(Windows版) — 实时语音转写、关键词检测、场景自动切换、告警推送、大屏可视化。支持 Windows VB-Cable 虚拟声卡音频采集,阿里云 ASR 实时识别。一键启动脚本,自动安装环境。

下载

排查与清理残留凭证

krbtgt重置只是起点,还需清除攻击者留下的持久化入口:

  • 检查域内所有计算机的LSASS内存,用procdump -ma lsass.exe配合mimikatz离线分析,确认是否仍有明文密码或NTLM哈希驻留
  • 审查域控制器上的计划任务、服务、WMI永久事件订阅,查找以SYSTEM或Domain Admin身份运行的异常项
  • 导出所有域用户的LastLogonTimestamp,比对登录时间与业务规律,定位长期静默但拥有高权限的僵尸账号
  • 禁用或删除所有非必要服务账户(尤其是启用了“密码永不过期”的SQL、IIS等服务账号)

加固Kerberos基础防护

防御黄金票据的关键,在于让krbtgt哈希更难获取、让票据更难滥用:

  • 启用Kerberos Armoring(FAST):在域功能级别≥Windows Server 2012 R2时,配置msDS-SupportedEncryptionTypes策略,强制要求预认证加密
  • 限制DCSync权限:将“Replicating Directory Changes All”权限从默认的“Authenticated Users”组中移除,仅授予域控制器和必要管理员
  • 部署基于证书的登录(PKI+Smart Card):绕过密码哈希依赖,从根本上消除NTLM认证路径
  • 开启Kerberos审计:组策略中启用“审核Kerberos身份验证服务”,重点关注事件ID 4769中Ticket Options字段是否含0x40000000(代表可转发票据)

相关专题

更多
Vite 项目如何打包和部署
Vite 项目如何打包和部署

Vite项目打包部署专题汇集生产构建、产物预览、输出目录、资源路径、Nginx与GitHub Pages部署及常见白屏和路由404问题的已审核文章,帮助读者完成上线流程。

2026.10.28

60

16

Vite 如何搭配 Vue.js
Vite 如何搭配 Vue.js

Vite搭配Vue.js专题汇集创建Vue 3项目、配置开发环境、路径别名、Vue插件、代理、多环境构建与调试的已审核文章,帮助读者完成从初始化到日常开发的配置。

2026.10.28

40

15

Vite 项目目录怎么看
Vite 项目目录怎么看

Vite项目目录专题汇集入口文件、src源码、public静态资源、路径别名、项目根目录和构建输出目录相关的已审核文章,帮助读者理解各文件夹的用途与引用方式。

2026.10.28

120

10

Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

2026.10.22

140

11

Gradle Wrapper配置教程
Gradle Wrapper配置教程

本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。

2026.10.22

120

10

Golangci-lint检查器使用教程
Golangci-lint检查器使用教程

本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。

2026.10.22

80

15

Gradle怎么构建Java项目
Gradle怎么构建Java项目

本专题介绍Gradle Java项目构建方法,涵盖Java插件配置、依赖声明、源码编译、测试执行和打包检查,帮助你理解各阶段的任务关系,逐步完成项目构建。

2026.10.22

40

10

PHP时间戳漏洞修复教程
PHP时间戳漏洞修复教程

本专题汇总PHP常见时间戳漏洞,包括2038年溢出、时区漂移、时间戳伪造、重放攻击、时间盲注与日志审计失效等,并给出升级64位环境、使用 DateTimeImmutable、统一UTC、严格超时校验、预处理绑定、hash_equals 比对等修复方案,帮助开发者快速排查和加固时间相关代码。

2026.10.22

80

25

Golangci-lint配置文件与规则设置
Golangci-lint配置文件与规则设置

本专题聚焦Golangci-lint YAML配置文件,讲清运行参数、规则启停、目录排除、问题过滤及严重级别设置,便于团队统一检查标准。

2026.10.22

40

15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Python uv官方安装与入门文档
Python uv官方安装与入门文档

共0课时 | 0人学习

Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Conan 2 安装指南
Conan 2 安装指南

共0课时 | 0人学习