tko-subs:一款检测并接管死DNS记录子域的Go工具

需积分: 5 0 下载量 122 浏览量 更新于2024-11-04 收藏 13KB ZIP 举报
资源摘要信息:"tko-subs 是一个基于 Go 语言编写的工具,旨在帮助网络安全研究者和渗透测试员发现并接管那些由于错误配置或死DNS记录而可能导致安全漏洞的子域。这个工具利用了多种策略来识别可被接管的子域,包括查找指向可接管的 CMS 提供商的悬空 CNAME 记录,以及检测存在错误或拼写错误的 NS 记录等。以下详细介绍了 tko-subs 的功能和使用方法: 1. 子域接管检测: tko-subs 能够检查一个或多个子域,查看它们是否具有悬空的 CNAME 记录。所谓悬空 CNAME,指的是子域的 CNAME 记录指向一个不存在或者已经不再使用的服务。例如,如果一个子域的 CNAME 记录指向一个已经废弃的 GitHub 仓库地址,那么这个子域名可能就存在被恶意用户接管的风险。 2. 指向可接管的 CMS 提供商: 工具会特别关注那些可能被接管的 CMS(内容管理系统)提供商,例如 Heroku、Github、Shopify、Amazon S3、Amazon CloudFront 等。这些服务通常允许用户自行设置子域名,并且管理权限可能因为配置不当而变得容易被攻击者获取。检测出此类配置错误后,攻击者可以利用这些服务的安全漏洞来接管对应的子域名。 3. 指向不存在的域名的悬空 CNAME: 当一个子域的 CNAME 指向一个不存在的域名时,这往往意味着域名的管理员没有及时更新或撤销 DNS 记录,这种悬空状态可能被攻击者利用来发起子域接管攻击。 4. 错误/打字错误的 NS 记录: 工具还会检查 DNS 记录中是否存在错误或拼写错误的 NS 记录。如果存在指向错误服务器的 NS 记录,攻击者可能会尝试接管这些域名服务器,并以此来控制整个子域。 5. 接管功能: 通过使用 -takeover 标志,tko-subs 可以尝试实际接管那些配置不当的子域。目前,该功能仅支持 GitHub Pages 和 Heroku Apps,并且默认情况下是关闭的。这是因为接管子域名是一种潜在的高风险操作,可能会被用于不当目的,因此该功能默认被禁用以防止滥用。 6. 自定义 CMS 提供商检测: 用户可以通过创建一个配置文件来指定他们想要检测的 CMS 提供商,包括提供商的名称、相应的 CNAME 值、特定的字符串以及它是否仅适用于 HTTP。这种方法允许用户扩展 tko-subs 的检测能力,使其不仅仅局限于默认支持的 CMS 提供商。 7. 安全和合规使用: 尽管 tko-subs 是为了帮助提高网络安全而设计,但使用这类工具也可能带来潜在风险,尤其是在未授权的情况下对目标系统进行测试。因此,工具的使用需要高度的责任感和道德判断。免责声明明确指出作者不对任何不当使用所产生的后果负责。 8. 技术栈: 作为一个 Go 语言编写的工具,tko-subs 利用了 Go 语言的高效性能和跨平台兼容性,适合在多种环境下部署和使用。 9. 文件结构: 从压缩包文件名称“tko-subs-master”可以推断出,这个工具有一个清晰的项目结构,可能包括源代码、文档、配置文件等。开发者可以通过这个结构快速上手项目,并且进行代码的修改和功能的扩展。