口令审计的边界
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 | 限制运行时长 | 按项目窗口设置,避免长时间占用 |
在线尝试口令(撞库、喷洒)属于攻击行为,评估中禁止;口令强度验证只在离线样本上做,样本必须来自客户正式授权。
报告口径建议固定为命中率与分布:给出比例、样本数与所用字典规模,让客户能复现结论,同时避免明文口令在流转中扩散。