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

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

  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去重,最终得到高命中率、低冗余的成品字典。
相关推荐
IT枫斗者2 小时前
IntelliJ IDEA 2025.3史诗级更新:统一发行版+Spring Boot 4支持,这更新太香了!
java·开发语言·前端·javascript·spring boot·后端·intellij-idea
N***p3652 小时前
Spring Boot项目接收前端参数的11种方式
前端·spring boot·后端
享誉霸王3 小时前
15、告别混乱!Vue3复杂项目的规范搭建与基础库封装实战
前端·javascript·vue.js·前端框架·json·firefox·html5
a1117763 小时前
飞机躲避炸弹 网页游戏
前端·开源·html·threejs
夏乌_Wx4 小时前
mybash:简易 Shell 实现的设计思路与核心模块解析
linux·服务器·前端
滕青山4 小时前
URL编码/解码 核心JS实现
前端·javascript·vue.js
菜鸟小芯5 小时前
【GLM-5 陪练式前端新手入门】第五篇:响应式适配 —— 让个人主页 “见机行事”
前端·人工智能
Yeh2020585 小时前
2月21日笔记
笔记
智者知已应修善业5 小时前
【冰雹猜想过程逆序输出】2025-4-19
c语言·c++·经验分享·笔记·算法
无名之逆6 小时前
你可能不需要WebSocket-服务器发送事件的简单力量
java·开发语言·前端·后端·计算机·rust·编程