深度字典攻击(实操笔记·红笔思考)

一、前置思考(实操习惯养成)

  1. 爆破优先从小规模开始:避免直接大规模爆破导致目标告警、资源耗尽,同时便于验证字典有效性、调试爆破流程,减少无用功。
  2. 养成使用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. 追加通用高命中率字典(补充覆盖面)

在基础字典后追加通用优质字典,提升爆破成功率:

  1. 直接追加fasttrack通用字典(高命中率常用账户/密码组合)

  2. 从超大通用字典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会先对字典条目进行排序,再去重,破坏字典原有条目顺序(而字典顺序通常关联爆破优先级,针对性条目应优先尝试),同时排序会增加额外耗时,不适用于需要保留优先级的深度字典攻击。

总结

  1. 深度字典攻击的核心是「针对性」,从小规模验证入手,再通过规则扩展+通用字典筛选打造高效字典。
  2. ln -s软链接是复用系统工具文件的最优习惯,awk '!seen[$0]++'是保留顺序的字典去重最优解。
  3. 字典构造流程:cewl提取关键词hashcat规则扩展追加筛选通用字典awk去重,最终得到高命中率、低冗余的成品字典。
相关推荐
OPHKVPS1 天前
黑客反被黑:研究人员利用 XSS 漏洞劫持 StealC 控制面板,窃取攻击者情报
前端·网络·npm
whyfail1 天前
Pretext:告别DOM重排,让文本布局飞起来
前端·dom
妄汐霜1 天前
小白学习笔记(MyBatis)
笔记·学习·mybatis
421!1 天前
C 语言学习笔记——11(函数指针与指针函数)
c语言·开发语言·笔记·单片机·学习
承渊政道1 天前
【优选算法】(实战:栈、队列、优先级队列高频考题通关全解)
数据结构·c++·笔记·学习·算法·leetcode·宽度优先
楚轩努力变强1 天前
2026 年前端破局:从页面开发到前端隐私计算全链路架构师,构建原生数据安全合规体系
前端·国密算法·数据安全合规·前端安全·web crypto api·前端隐私计算·2026前端趋势
敲敲了个代码1 天前
React 那么多状态管理库,到底选哪个?如果非要焊死一个呢?这篇文章解决你的选择困难症
前端·javascript·学习·react.js·前端框架
yungcy61631 天前
React性能优化实战:从卡顿到丝滑,15个核心技巧覆盖全场景
前端·react.js·性能优化
阿珊和她的猫1 天前
React 中 CSS 书写方式全解析
前端·css·react.js