哈希加固是通过加盐和慢哈希算法(如bcrypt、argon2)提升破解难度,同时禁用lm哈希与ntlmv1、启用lsa保护及credential guard,限制哈希泄露与访问权限,并配合强口令策略和mfa构建纵深防御。

哈希加固不是给密码“加一层锁”,而是让攻击者即使拿到哈希文件,也难以还原出原始口令。关键在于打破哈希的可预测性与计算效率——这正是离线暴力破解(如用John或Hashcat跑SAM文件)赖以成功的两个基础。
使用加盐哈希替代裸哈希
Windows默认的NTLM哈希是无盐、固定算法、计算极快的,非常适合GPU加速批量破解。加固的第一步,就是确保所有新存储的口令都经过“加盐”处理:
- 盐值必须唯一且随机:每个用户对应独立生成的高熵盐(如32字节随机字节),不可复用、不可硬编码;
- 盐值需与哈希一同存储(明文保存无风险),但绝不能全局统一或基于用户名派生;
- 优先选用现代慢哈希算法:如bcrypt(含自动加盐)、scrypt或Argon2,它们通过内存占用、迭代轮数等参数主动拖慢计算速度,使单次哈希耗时从纳秒级升至百毫秒级,直接瓦解暴力/字典攻击的吞吐优势。
禁用弱哈希算法并关闭遗留通道
很多离线破解成功,是因为系统仍在输出或保留易攻破的哈希变体:
- 彻底禁用LM哈希:组策略中启用“网络安全: 不存储LAN Manager哈希值”,防止生成脆弱的16字节LM Hash;
- 停用NTLMv1:通过组策略禁用旧版NTLM认证协议,减少NTLMv1 Challenge-Response被截获后用于离线破解的风险;
- 关闭不必要的SMB签名绕过与匿名枚举:防止攻击者未授权获取SAM结构或域控NTDS.dit路径信息。
限制哈希泄露面与访问权限
再强的哈希,一旦被完整提取就失去意义。防御重心要前移至“不让哈希被拿走”:
- 启用LSA保护(LsaIso):通过注册表或组策略开启,阻止非特权进程(包括Mimikatz)直接读取LSASS内存中的NT哈希;
- 部署Credential Guard(Win10/Server 2016+):利用虚拟化安全技术将凭证隔离在独立VTL中,使LSASS内存转储不再包含有效NT哈希;
- 严格管控SYSTEM权限:SAM和NTDS.dit仅在SYSTEM上下文可读,确保无漏洞提权路径,定期审计本地管理员组成员及服务账户权限。
配合运行时与策略层纵深防御
哈希加固需嵌入整体口令生命周期管理,单独优化存储环节效果有限:
- 强制12位以上混合口令 + 禁止常见模式(如连续数字、键盘序列、用户名子串);
- 启用多因素认证(MFA):使哈希失窃后无法单独完成身份验证,从根本上削弱Pass-the-Hash攻击价值;
- 启用Windows审核策略:记录SAM/LSASS访问、特权进程创建、异常登录事件,结合SIEM实现哈希提取行为的实时告警。











