首页/安全/渗透测试与安全评估速查/口令强度验证边界(hashcat)
工具使用要点60 条

口令强度验证边界(hashcat)

口令强度审计仅限离线、明确授权的哈希样本:验证字典命中与策略强度,报告只给统计结论,不还原与展示具体口令。

口令审计的边界

hashcat 是 GPU 加速的口令恢复工具,常见用途是离线校验客户口令策略强度:对授权取得的哈希样本跑字典与规则,统计弱口令比例、重复口令与命中规律,为策略整改提供量化依据。它属于离线工具,不接触目标在线服务,这个区别决定了整个使用边界。

基本信息

运行环境hashcat(Linux / Windows 均可,GPU 加速)
哈希类型-m 指定,如 1000 为 NTLM、1800 为 sha512crypt
攻击模式-a 0 字典、-a 1 组合、-a 3 掩码
样本来源仅限客户授权提供的离线哈希
输出纪律只给统计结论,不还原展示具体口令

典型使用场景

  • 口令策略验证:估计最低复杂度要求下有多少账号可被常见字典命中
  • 弱口令治理:为整改优先级提供比例数据,如命中率最高的部门或系统
  • 策略调优:对比不同复杂度要求下的实测命中率差异
  • 合规检查:为等保或内控自查提供口令强度量化结论
  • 效果复测:策略调整后重跑同一字典,对比命中率变化

离线审计示例

离线审计示例
hashcat -m 1000 -a 0 hashes.txt words.txt --username \
        --potfile-path audit.pot          # 字典攻击,指定记录文件
hashcat -m 1000 --show hashes.txt        # 查看样本命中数量
hashcat -m 1000 hashes.txt --show | wc -l  # 统计命中账号数
hashcat -m 1000 -a 0 hashes.txt words.txt --runtime 600 --status  # 限时并看状态
# 结论口径示例:x% 账号命中常见弱口令字典(不输出明文)

参数与用途对照

参数作用注意
-m 类型指定哈希算法编号选错类型会得出错误结论
-a 模式指定攻击方式掩码攻击需先明确字符集范围
--username忽略样本中的用户名列避免把用户名当作哈希解析
--potfile-path指定已破解记录文件文件等同敏感数据,需加密保管
--runtime限制运行时长按项目窗口设置,避免长时间占用
在线尝试口令(撞库、喷洒)属于攻击行为,评估中禁止;口令强度验证只在离线样本上做,样本必须来自客户正式授权。
报告口径建议固定为命中率与分布:给出比例、样本数与所用字典规模,让客户能复现结论,同时避免明文口令在流转中扩散。

易错点

  • 使用来源不明的第三方哈希样本:可能触碰无关个人的数据,法律风险高;只用客户书面提供的样本
  • 在报告中展示还原出的真实口令:口令二次泄露,且违反最小必要原则;只写统计比例
  • 字典与规则未记录:结论无法复现,客户质疑时无从解释;把字典文件、命令与参数一并归档
  • 把命中率直接等同于风险等级:策略强度还取决于账号权限与暴露面;结合权限与访问路径综合定级

数据来源与参考

  • hashcat 官方文档(用法)
  • NIST SP 800-63B(口令策略指南)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌