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

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

  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去重,最终得到高命中率、低冗余的成品字典。
相关推荐
mCell1 天前
【短文】不是最强,是最适合
前端·aigc·deepseek
余瑜鱼鱼鱼1 天前
HTML常用标签总结
前端·html
码农的小菜园1 天前
gradle常用指令使用笔记
笔记
Jave21081 天前
Vue 中 mixins 混合开发的主要使用场景有哪些?
前端·vue.js
徐同保1 天前
openclaw安装
前端
JEECG低代码平台1 天前
JeecgBoot低代码平台 Ant Design Vue 4.x 升级避坑指南
前端·vue.js·低代码
yashuk1 天前
Go-Gin Web 框架完整教程
前端·golang·gin
鸟电波1 天前
硬件笔记——示波器篇
笔记
唐叔在学习1 天前
e.preventDefault()到底怎么用?
前端·javascript
Don.TIk1 天前
SpringCloud学习笔记
笔记·学习·spring cloud