首页/安全/安全加固速查/清除组策略首选项中的 cpassword
口令与认证策略55 条

清除组策略首选项中的 cpassword

早期 GPP 在 SYSVOL 里以可逆 AES 密钥加密的 cpassword 存口令,密钥公开可见:历史遗留文件必须清理并轮换口令。

安全加固速查安全更新于 2026-10-13

cpassword 为什么等于明文

早期的组策略首选项(GPP)支持在策略里直接填写口令,这些口令以固定的 AES 密钥加密后写入 SYSVOL 下的 XML 文件,密文字段就是 cpassword。密钥是微软公开的,所以任何能读 SYSVOL 的普通域用户都能在几秒内解出原文——这是域内权限提升最经典的路径之一。2014 年微软发补丁禁止再通过 GPP 设置口令,但历史遗留文件不会自己消失,必须主动扫描并清理。

基本信息

加固项域内 GPP 口令残留治理
适用平台Active Directory 域(SYSVOL 中的组策略文件)
权限要求域管理员(清理),普通域用户即可读取 SYSVOL
达标判据SYSVOL 全量扫描结果中无 cpassword 字段
对应补丁Microsoft 安全公告 KB2962486

典型使用场景

  • 域安全基线审计与红队评估后的整改闭环
  • 接手历史较久的域环境,清点旧运维留下的凭据
  • 从旧域迁移或合并时清理对方遗留的策略文件
  • 应急响应中确认攻击者可能拿到的域内凭据范围
  • 定期巡检,防止有人重新用 GPP 方式下发口令

扫描 SYSVOL

扫描 SYSVOL
Select-String -Path '\\corp.example.com\SYSVOL' -Pattern 'cpassword' -SimpleMatch -ErrorAction SilentlyContinue | Select-Object -First 20 Path, LineNumber
findstr /s /i /m cpassword "\\corp.example.com\SYSVOL\*"   # 备用方式:只列命中的文件名
# 定位后可查看具体策略目录名称,判断是哪条 GPP 留下的

处置顺序

处置顺序
# 1) 记录命中的策略路径与涉及的账号名(留档)
# 2) 在组策略管理控制台删除对应的 GPP 条目(不要只删 XML 文件)
# 3) 轮换所有被写在 GPP 里的账号口令
# 4) 等待组策略复制完成后重新全量扫描确认清零

常见的泄露位置

GPP 类型典型内容风险
本地用户与组批量下发本地管理员口令所有机器同口令,横向移动一把梭
映射驱动器访问共享所用的账号口令直接拿到文件服务器凭据
计划任务以特定账号运行任务的口令常带高权限服务账号
服务服务运行账号的口令影响面覆盖全站点机器
扫描到的每一处都按“已泄露”处理:只删除策略文件而不轮换口令,等于什么也没做,攻击者手里已经有原文了。清理和轮换必须一起做,且要确认域内复制已完成后再次扫描验证。
排查范围不要只盯 SYSVOL 里的 GPP:脚本、登录脚本、批处理文件、内部 wiki 里同样常见明文口令。域内凭据治理应当把“扫描+轮换”做成定期动作,而不是一次性项目。

易错点

  • 只删磁盘上的 XML 文件而不通过组策略控制台删除条目,策略刷新后会重新写回
  • 清理后不轮换口令,泄露的凭据仍然可用,整改等于白做
  • 只扫主域控的 SYSVOL 而不等复制完成,其他站点控制器的副本仍有残留
  • 日常巡检只看 GPP,忽略脚本与登录脚本里的明文口令,治理范围不完整

数据来源与参考

  • Microsoft 安全公告 KB2962486
  • Microsoft:GPP 密码风险说明

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌