该工具允许:
检查子域名是否可被接管,因为其具有:
通过提供标识符 -takeover 实际接管这些子域名。目前,仅支持接管Github Pages和Heroku应用,默认情况下接管功能是关闭的。
通过providers-data.csv文件指定您自己的CMS提供商并进行检查。在该文件中,您需要指定CMS名称、其CNAME值、要查找的字符串以及是否仅通过HTTP工作。请看其中的示例。
无需多言,请非常小心地使用此工具。作者不会对任何后果负责。默认情况下,此工具不允许接管子域名。如果您想这样做,只需指定-takeover标志。
我们需要安装GO。拥有GO后,只需输入 go get github.com/anshumanbh/tko-subs 即可下载工具。工具下载后,输入 tko-subs -h。
接下来我们需要获取以下信息:
注意 - 仅当您想要接管子域名时才需要这些值。默认情况下不需要。
构建所需的Go包。
go get github.com/bgentry/heroku-go
go get github.com/gocarina/gocsv
go get github.com/google/go-github/github
go get github.com/olekukonko/tablewriter
go get golang.org/x/net/publicsuffix
go get golang.org/x/oauth2
go get github.com/miekg/dns
安装好所有内容后,cd进入目录并输入:
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>
如果只想检查单个域名,输入:
tko-subs -domain <domain-name>
如果只想检查多个域名,输入:
tko-subs -domain <domain-name-1>,<domain-name-2>
默认情况下:
domains 标志设置为 domains.txtdata 标志设置为 providers-data.csvoutput 标志设置为 output.csvtakeover 标志未设置,因此默认不进行接管domain 标志未设置,因此它将始终检查 domains.txt 文件中提到的所有域名。如果指定了 domain 标志,则仅检查该域名并忽略 domains.txt 文件(即使存在)threads 标志设置为 5因此,直接运行 tko-subs 将使用上述默认值运行。
name,cname,string,http
Domain,CNAME,Provider,IsVulnerable,IsTakenOver,Response
如果发现死DNS记录,则 Provider 留空。
如果发现异常名称服务器,则 Provider 和 CNAME 留空。
这将遍历 subdomains.txt 文件中的所有域名(使用GoRoutines并发执行),并:
takeover标志,它将尝试接管易受攻击的子域名。gh-pagesCNAME 和 index.html 上传到该仓库的 gh-pages 分支。其中,CNAME 包含需要接管的域名。index.html 包含文本 This domain is temporarily suspended,该文本将在域名被接管后显示。5/27
11/6
9/22
6/25