🍬 写在前面
👨🎓 博主介绍:大家好,我是 vortex5 ,很高兴认识大家 ➤ 主页传送门
✨主攻领域:【网络安全】【渗透领域】【SRC挖掘】【靶场复现】
📝欢迎大家关注我的 vx 公.众.号:飓风瞭望
🎉如果本文对您有所帮助,请点赞➕评论➕收藏 一键三连😋
🎉欢迎关注💗一起学习👍一起讨论⭐️一起进步
🙏作者水平有限,欢迎各位大佬指点,相互学习进步呀~
前言
在渗透测试和网络安全领域,密码破解是常见的攻击方式之一。Kali Linux 作为广泛使用的渗透测试操作系统,预装了大量的字典和密码生成工具,供安全研究人员使用。本文将全面介绍 Kali Linux 自带的字典资源及密码生成工具,帮助读者更好地理解其使用场景和操作方法。
Kali Linux 自带字典
Kali Linux 提供了多种丰富的字典资源,这些字典存储在多个路径下,广泛应用于密码破解、目录扫描、漏洞检测等渗透测试场景。这些字典文件不仅可以直接使用,还可以作为自定义工具的输入数据源。以下是一些常见的字典及其详细用途和存储路径:
1. wordlists 目录
路径:/usr/share/wordlists/
这是 Kali Linux 中的主要字典存储路径,包含了多种用途的字典文件。此外,还有一些项目字典的软链接。
主要字典:
- rockyou.txt
- 路径:
/usr/share/wordlists/rockyou.txt
- 用途: 这是一个非常著名的密码破解字典,包含超过 1400 万条真实密码数据,广泛应用于暴力破解和字典攻击。
- 备注: 默认情况下,
rockyou.txt
是压缩格式(.gz
),使用前需要解压。解压命令如下:gzip -d /usr/share/wordlists/rockyou.txt.gz
- 路径:
2. seclists 目录
路径:/usr/share/seclists/
seclists
是 Kali Linux 中最全面的字典库,涵盖了从信息收集到漏洞利用等各类渗透测试场景。该字典库需要额外安装。
常见字典:
-
枚举 CGI 服务
- 路径:
./seclists/Discovery/Web_Content/cgis.txt
- 用途: 用于枚举 Web 应用中的 CGI 脚本。
- 路径:
-
路径枚举大字典
- 路径:
./seclists/Discovery/Web_Content/directory-list-2.3-medium.txt
- 用途: 用于路径枚举,较为全面,是 HackTheBox 和 OSCP 常用的大字典。
- 路径:
-
常见目录字典
- 路径:
/usr/share/dirb/wordlists/common.txt
/usr/share/seclists/Discovery/Web_Content/common.txt
/usr/share/seclists/Discovery/Web_Content/raft-medium-directories-lowercase.txt
- 用途: 这些字典适用于常见目录的枚举,帮助发现常见的 Web 应用目录和文件。
- 路径:
-
扩展名字典
- 路径:
/usr/share/seclists/Discovery/Web_Content/raft-large-extensions.txt
- 用途: 用于枚举常见的文件扩展名,帮助识别网站中可能存在的文件类型。
- 路径:
-
Fuzzing 字典
- 路径:
/usr/share/seclists/Fuzzing/alphanum-case-extra.txt
/usr/share/seclists/Fuzzing/special-chars.txt
- 用途: 用于 fuzz 测试时输入特殊字符,查找可能的漏洞。
- 路径:
-
LFI 漏洞字典
- 路径:
/usr/share/seclists/Fuzzing/LFI/LFI-gracefulsecurity-linux.txt
- 用途: 专门用于本地文件包含(LFI)漏洞的测试,帮助渗透测试人员检查目标系统是否存在文件包含漏洞。
- 路径:
密码生成工具
Kali Linux 提供了多个强大的工具来生成自定义密码字典,下面将介绍其中几款常用的工具,包括 Crunch
、cewl
和 CUPP
。这些工具可以帮助渗透测试人员根据不同场景定制密码字典,从而提高攻击效率。
1. Crunch
Crunch
是一款功能强大的密码字典生成工具,支持用户根据需求定制密码字典。它可以根据给定的字符集、密码长度范围以及特定的格式生成所有可能的密码组合。
语法格式:
crunch <最小长度> <最大长度> [字符集] [选项]
常见选项:
- -o:指定输出文件路径,生成的字典将保存在该文件中。
- -b:设置生成字典的文件大小限制(支持 KB、MB、GB)。
- -t:使用特殊的格式字符来生成字典,例如:
@
表示字母,%
表示数字。 - -l:与
-t
配合使用,设置占位符的字符集。
示例:
生成一个密码字典,密码长度为 8 到 10 个字符,字符集为大写字母、小写字母和数字,并将结果保存在桌面上:
crunch 8 10 ABCDEFGabcdefg0123456789 -o ~/桌面/password_list.txt
注意:生成的字典可能非常庞大,因此在生成过程中需要确保硬盘空间充足。如果字典过大,生成过程可能会因空间不足而被中断。为了避免这种情况,可以通过 -b
参数限制输出字典文件的大小。
2. cewl
cewl
是一个网站爬虫工具,能够从目标网站中抓取单词并生成字典。它非常适合通过对目标网站进行内容分析来定制密码字典,尤其是当目标的密码策略与网站内容紧密相关时。
基本用法:
cewl -w cewl_passlist.txt -d 5 <目标网址>
该命令会从指定 URL 中爬取内容,提取页面中的单词并将其写入到 cewl_passlist.txt
文件中。-d 5
参数表示爬取深度为 5 层。
可选参数:
- -w:指定输出字典文件的路径。
- -d:设置爬取的深度,指定抓取网页的层数,值越大,抓取的范围越广。
- -v:启用详细模式,显示抓取过程中的详细信息。
- -l:设置最小长度,过滤掉小于指定长度的单词。
- -m:设置单词的最小出现频次。
示例:
从目标网站抓取内容并生成密码字典:
cewl -w ~/桌面/website_wordlist.txt -d 5 -m 5 http://example.com
cewl
非常适合目标特定的攻击,比如社工攻击、对特定公司或产品的密码猜测等。
3. CUPP
CUPP
(Common User Passwords Profiler)是一款社交工程学字典生成工具,专门用于根据目标用户的个人信息生成定制的密码字典。它可以根据目标的个人信息(如姓名、生日、邮箱、兴趣等)生成可能的密码组合,并提高暴力破解攻击的成功率。CUPP
可以通过交互式的问答方式,帮助渗透测试人员快速生成密码字典。
交互式使用
cupp -i
可选信息:
- 姓名:目标的全名。
- 昵称:目标的常用昵称或ID。
- 生日:目标的出生日期。
- 兴趣:目标的兴趣爱好或常用的单词。
- 宠物:目标的宠物名称。
CUPP
会根据输入的信息生成一个定制化的密码字典,包括目标可能使用的密码组合。它会考虑常见的社交工程密码生成策略,如组合名字、生日、宠物名字等。
综合对比
- Crunch:适合生成包含各种字符组合的字典,灵活性高,适用于需要自定义规则的场景。
- cewl:通过爬取网站内容生成字典,适合针对特定网站或目标进行定制化攻击。
- CUPP:针对社工攻击场景,基于目标的个人信息生成密码字典,能提高攻击成功率。
总结
Kali Linux 提供了丰富的字典资源和强大的密码字典生成工具,适用于各种渗透测试和密码破解任务。通过合理选择字典文件和工具,渗透测试人员能够快速高效地进行密码攻击和漏洞测试。
- 字典资源:
wordlists
和seclists
提供了广泛的字典,适用于不同的渗透测试场景。 - 密码生成工具:
Crunch
和cewl
等工具能够帮助用户根据具体需求生成定制化的密码字典。
结合具体的测试目标和需求,渗透测试人员可以选择合适的字典文件和工具,提升攻击的成功率。希望本文的介绍能帮助您更好地理解和使用 Kali Linux 提供的字典资源与工具,提升渗透测试的效率和效果。