在漏洞挖掘和安全测试过程中,信息收集是至关重要的第一步。一个好的信息收集工具可以帮助我们发现目标网站上的敏感信息,如API密钥、隐藏端点、密码凭证等,从而为后续的渗透测试提供关键线索。今天,我将向大家介绍一款功能强大的开源工具——Cariddi。
Cariddi是什么?
Cariddi是一个专为安全研究人员设计的爬虫工具,它能够从目标域名中抓取URL,并自动扫描寻找端点、密钥、令牌和其他敏感信息。与其他爬虫工具相比,Cariddi的特点是速度快、定制性强,并且专注于发现高价值的安全相关信息。
它的主要功能包括:
发现API端点 检测暴露的密钥和令牌 识别特定文件扩展名 提取敏感信息(如密码、凭证等) 支持高并发爬取,提高效率
安装Cariddi
Cariddi是用Go语言编写的,安装非常简单。你可以通过以下方式安装:
方法一:使用Go安装(推荐)
go install github.com/edoardottt/cariddi/cmd/cariddi@latest
确保你的Go环境变量设置正确,这样安装后可以直接在终端中使用cariddi
命令。
方法二:从GitHub仓库克隆
git clone https://github.com/edoardottt/cariddi
cd cariddi
go build -o cariddi cmd/cariddi/main.go
安装完成后,可以使用help命令检查工具是否正确安装:
cariddi -h
如果能看到帮助信息,说明安装成功。
实战应用:如何使用Cariddi
Cariddi通常作为信息收集流程中的一环使用。一个典型的工作流程是:先使用子域名发现工具找到所有子域名,然后用httpx筛选出存活的子域名,最后用Cariddi对这些存活子域名进行深入爬取和分析。
下面,我们将介绍几种常见的使用场景和命令示例。
1. 发现API端点
API端点往往是安全测试的重要目标,因为它们可能包含未经充分保护的功能。使用以下命令寻找端点:
# 使用较高并发(50)和30秒超时
cat alived_Subs | cariddi -c 50 -t 30 -e > cariddi_result_endpoints
# 使用默认设置
cat alived_Subs | cariddi -e > cariddi_result_endpoints_default
参数说明:
-c 50
:设置50个并发请求,提高扫描速度-t 30
:设置30秒的超时时间-e
:启用端点扫描功能
这个命令会分析网站的JavaScript文件,寻找潜在的API端点,比如/api/users
、/admin/settings
等。这些端点可能未在网站UI中直接暴露,但却是绝佳的测试目标。
2. 查找特定文件扩展名
某些文件扩展名(如.bak、.config、.sql等)可能包含敏感信息。使用以下命令寻找这些文件:
# 寻找拓展级别为3的文件(最敏感)
cat alived_Subs | cariddi -c 50 -t 30 -ext 3 > cariddi_result_extensions
# 使用默认设置
cat alived_Subs | cariddi -ext 3 > cariddi_result_extensions_default
参数说明:
-ext 3
:设置文件扩展名的敏感级别(1-3,3为最敏感)
此命令会查找可能包含备份文件、配置文件、数据库转储等高价值信息的文件。
3. 发现暴露的密钥和凭证
很多开发者不小心将API密钥、访问令牌等敏感信息硬编码在前端代码中。使用以下命令发现这些秘密:
# 使用较高并发搜索秘密
cat alived_Subs | cariddi -s -c 50 -t 20 > cariddi_result_secrets
# 使用默认设置
cat alived_Subs | cariddi -s > cariddi_result_secrets_default
参数说明:
-s
:启用秘密扫描功能
这个命令可以识别多种格式的密钥,包括AWS密钥、Google API密钥、GitHub令牌等。这些信息一旦泄露,可能导致严重的安全问题。
4. 综合扫描:一站式解决方案
如果你想同时执行多项扫描,可以使用以下综合命令:
cat alived_Subs | cariddi -c 50 -t 30 -e -ext 1 -info -s > cariddi_result_all
参数说明:
-e
:扫描端点-ext 1
:扫描低敏感度文件扩展名-info
:包含信息文件-s
:扫描秘密
这个命令将执行全面扫描,是进行初步信息收集的理想选择。
高级用法与技巧
除了基本命令外,Cariddi还提供了一些高级功能:
自定义输出格式:使用
-o
参数指定输出格式,支持txt、html和jsoncat alived_Subs | cariddi -e -o json > results.json
过滤结果:使用正则表达式过滤结果
cat alived_Subs | cariddi -e -fr "admin|config|setup"
自定义请求头:添加自定义HTTP头,如模拟特定浏览器
cat alived_Subs | cariddi -e -H "User-Agent: Mozilla/5.0"
深度控制:使用
-d
参数控制爬取深度git clone https://github.com/edoardottt/cariddi
0
cd cariddi
go build -o cariddi cmd/cariddi/main.go
实战建议与最佳实践
从小规模开始:先在少量子域名上测试,调整参数后再进行大规模扫描 结果验证:Cariddi可能会产生误报,务必手动验证发现的敏感信息 资源管理:高并发设置会占用更多系统资源,根据你的设备性能调整 -c
参数与其他工具结合:将Cariddi与其他工具(如Subfinder、Amass、httpx等)结合使用,形成完整的信息收集工作流 合理使用:只在授权测试范围内使用此工具,尊重目标网站的使用条款和隐私政策
总结
Cariddi是一款功能强大的信息收集工具,它可以帮助安全研究人员自动发现目标网站上的敏感信息,为漏洞挖掘提供重要线索。通过本文介绍的各种命令和技巧,你可以充分利用这款工具,提高信息收集的效率和质量。
非常感谢工具作者edoardottt为安全社区贡献了这么优秀的开源工具。如果你对Cariddi感兴趣,可以访问其GitHub仓库了解更多内容,也欢迎给作者点个Star表示支持。
希望本文对你的安全测试工作有所帮助!如果你有任何问题或使用心得,欢迎在评论区交流分享。
你用过哪些信息收集工具?有没有更好的工作流程推荐?欢迎在评论区讨论!
关注我们的公众号,并给本文点赞,点个推荐支持一下吧!您的每一个小红心,都是我坚持创作优质内容的最大动力
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...