一、前置思考(实操习惯养成)
- 爆破优先从小规模开始:避免直接大规模爆破导致目标告警、资源耗尽,同时便于验证字典有效性、调试爆破流程,减少无用功。
- 养成使用
ln -s(创建软链接)的习惯:相比cp(直接复制文件),软链接不占用额外磁盘空间,修改源文件后链接文件同步更新,尤其适合复用工具目录下的规则文件、字典文件,后续维护更便捷。
二、字典构造(打造高针对性基础字典)
1. 提取网页专属关键词(生成针对性种子字典)
使用cewl等工具爬取目标网页内容,提取页面关键词、高频词汇,生成贴合目标场景的种子字典(避免纯通用字典的低命中率)。
2. 复用hashcat规则文件
bash
# 创建软链接,将系统自带的最佳规则文件链接到当前工作目录,方便后续调用
ln -s /usr/share/hashcat/best66.rule .
3. 规则扩展生成基础字典
基于种子字典,通过hashcat调用规则文件进行字符变形(大小写、特殊符号、后缀前缀等),扩展字典覆盖面:
bash
# --stdout:仅输出结果不进行破解;-r:指定规则文件;重定向输出为扩展后的基础字典
hashcat --stdout dict -r best66.rule > dict.best66.txt
4. 追加通用高命中率字典(补充覆盖面)
在基础字典后追加通用优质字典,提升爆破成功率:
-
直接追加
fasttrack通用字典(高命中率常用账户/密码组合) -
从超大通用字典
rockyou中筛选针对性内容(减少冗余):bash# -i:忽略大小写;-E:使用扩展正则;筛选包含相关关键词的条目,贴合目标场景 grep -iE '相关关键词' rockyou >> dict.best66.txt
三、字典优化:去重(保留原有顺序,避免冗余)
推荐方案:awk
bash
# 去重,且完全保留字典中原有的条目顺序,不影响后续爆破优先级
awk '!seen[$0]++' dict.best66.txt > dict.final.txt
不推荐:sort -u
原因:sort -u会先对字典条目进行排序,再去重,破坏字典原有条目顺序(而字典顺序通常关联爆破优先级,针对性条目应优先尝试),同时排序会增加额外耗时,不适用于需要保留优先级的深度字典攻击。
总结
- 深度字典攻击的核心是「针对性」,从小规模验证入手,再通过规则扩展+通用字典筛选打造高效字典。
ln -s软链接是复用系统工具文件的最优习惯,awk '!seen[$0]++'是保留顺序的字典去重最优解。- 字典构造流程:
cewl提取关键词→hashcat规则扩展→追加筛选通用字典→awk去重,最终得到高命中率、低冗余的成品字典。