cewl
CEWL(Custom Word List generator) 是一款开源的命令行工具,主要用于通过爬取指定网站的内容来生成自定义的密码字典(单词列表)。它的核心功能是从网页中提取独特的单词和短语,帮助渗透测试人员或安全研究人员生成针对特定目标的密码字典,用于破解密码或其他安全测试。
主要功能与用途
-
网站爬取
CEWL 可以递归爬取目标网站,提取页面中的文本内容(如 HTML 页面、文档链接等),并从中收集单词。 -
生成字典
将提取的单词按频率排序,生成一个适合密码爆破(如使用 John the Ripper、Hashcat 等工具)的字典文件。 -
支持动态内容
可处理需要登录的页面(通过 Cookie 或表单提交)、忽略特定链接、设置爬取深度等。 -
灵活的参数配置
支持设置单词的最小长度、排除特定字符、包含数字或大小写变体等。
基本用法示例
cewl http://example.com -d 3 -m 5 -w output.txt
-d 3
: 爬取深度为 3 层链接。-m 5
: 仅收集长度 ≥5 的单词。-w output.txt
: 将结果保存到output.txt
文件。
常用参数
参数 | 说明 |
---|---|
-d <深度> |
爬取的最大深度(默认 2) |
-m <长度> |
单词最小长度(默认 3) |
-o |
包含单词的变体(如 "admin" → "Admin", "ADMIN") |
-e |
显示每个单词的出现频率 |
-a |
解析页面中的元数据(如作者、描述) |
--auth_type |
指定认证类型(如 Basic 或 Digest) |
--cookie |
使用 Cookie 访问需要登录的页面 |
典型使用场景
-
针对性密码爆破
针对某公司网站生成字典,可能包含公司名、产品名、员工名等常见密码组合。 -
收集关键词
用于社会工程学攻击或猜测安全问题的答案(如宠物名、生日等)。 -
自动化信息收集
结合其他工具(如 Metasploit、Burp Suite)进行渗透测试。
注意事项
- 合法合规:仅用于授权测试,未经许可爬取网站可能违法。
- 避免封锁:合理设置爬取间隔(
--delay
参数),避免触发目标网站的防护机制。 - 动态内容限制:CEWL 无法直接解析 JavaScript 渲染的内容(需配合无头浏览器)。
扩展功能
- 代理支持:通过
--proxy
参数使用代理服务器。 - 表单提交:使用
--form_params
自动填写并提交登录表单。 - API 集成:结合其他工具的 API 进行自动化测试。
CEWL 是 Kali Linux 等渗透测试发行版的预装工具,可通过 GitHub 获取源码:https://github.com/digininja/CeWL。使用时需结合实际情况调整参数,确保效率和隐蔽性。