tko-subs 项目使用教程
1、项目介绍
tko-subs 是一个用于检测和接管具有失效 DNS 记录的子域名的工具。它能够识别以下情况:
- 指向 CMS 提供商(如 Heroku、Github、Shopify、Amazon S3、Amazon CloudFront 等)的悬空 CNAME 记录,这些记录可以被接管。
- 指向不存在的域名的悬空 CNAME 记录。
- 指向可以被攻击者接管的错误或拼写错误的 NS 记录的名称服务器。
该工具支持通过提供 -takeover
标志来实际接管这些子域名。目前,接管功能仅支持 Github Pages 和 Heroku 应用。默认情况下,接管功能是关闭的。
2、项目快速启动
安装依赖
首先,确保你已经安装了 Go 语言环境。然后,通过以下命令下载并安装 tko-subs 工具:
go get github.com/anshumanbh/tko-subs
配置文件
在运行工具之前,你需要准备以下文件:
domains.txt
:包含你想要检查的子域名列表。providers-data.csv
:包含 CMS 提供商的详细信息,格式如下:name,cname,string,http github,github.io,"There isn't a GitHub Pages site here",false
运行工具
进入工具目录并运行以下命令:
tko-subs -domains=domains.txt -data=providers-data.csv -output=output.csv
如果你想接管子域名,可以使用以下命令:
tko-subs -domains=domains.txt -data=providers-data.csv -output=output.csv -takeover -githubtoken=<github-token> -herokuusername=<heroku-username> -herokuapikey=<heroku-api-key> -herokuappname=<heroku-app-name>
3、应用案例和最佳实践
应用案例
假设你是一家公司的安全团队成员,负责监控和保护公司的域名安全。你可以使用 tko-subs 工具定期扫描公司的子域名,检测是否存在可以被接管的悬空 DNS 记录。一旦发现问题,你可以及时采取措施修复这些记录,防止潜在的安全威胁。
最佳实践
- 定期扫描:建议定期运行 tko-subs 工具,以确保没有新的悬空 DNS 记录出现。
- 自动化:可以将 tko-subs 集成到 CI/CD 流程中,实现自动化的安全扫描。
- 权限控制:在使用
-takeover
标志时,确保只有授权人员可以执行接管操作,以防止误操作。
4、典型生态项目
tko-subs 作为一个专注于子域名安全的工具,可以与其他安全工具和平台结合使用,形成一个完整的安全生态系统。以下是一些典型的生态项目:
- OWASP Amass:用于子域名枚举和资产发现,可以与 tko-subs 结合使用,先枚举出所有子域名,再进行安全检测。
- Nmap:用于网络扫描和漏洞检测,可以与 tko-subs 结合使用,先进行网络扫描,再针对发现的子域名进行进一步的安全检测。
- Burp Suite:用于 Web 应用安全测试,可以与 tko-subs 结合使用,先检测子域名的安全问题,再进行更深入的 Web 应用安全测试。
通过这些工具的结合使用,可以构建一个全面的安全检测和防护体系,有效保护企业的网络安全。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考