GSAN - 获取主题备用名称
GSAN是一个可以直接从https网站的SSL证书中提取主题备用名称的工具,它可以为您提供DNS名称(子域名)或虚拟服务器。
该工具从https网站提取子域名,并以列表或CSV/JSON格式输出结果。它不是一个子域名暴力破解工具,您实际上可以手动找到这些子域名,这个工具主要是为了自动化这个过程,它还提供以下功能:
- 在终端上或使用文本文件定义多个主机:端口。
- CSV或JSON输出,便于将数据导出到其他工具。
- 您可以选择性地过滤掉与正在分析的域名不匹配的域名。
- 与CRT.SH集成,以便从同一实体的证书中提取更多子域名。
- 也适用于自签名证书。
安装
$ pip install --user gsan
使用方法
您有两种方式执行GSAN,一是从CRT.SH获取子域名,此时GSAN充当CRT.SH的包装器;二是通过直接连接获取子域名
用法:gsan [选项] 命令 [参数]...
从SSL证书获取子域名。
选项:
--version 显示版本并退出
--help 显示此消息并退出
命令:
crtsh 从crt.sh获取域名
scan 从输入或文本文件扫描域名,格式为主机[:端口]。
从CRT.SH获取子域名
如果您更喜欢直接从CRT.SH获取子域名,可以使用子命令crtsh
。
$ gsan crtsh --help
用法:gsan crtsh [选项] [域名]...
从crt.sh获取域名
选项:
-m, --match-domain 仅匹配域名。
-o, --output 文本 输出到路径/文件名。
-t, --timeout 整数 设置CRT.SH的超时时间
--help 显示此消息并退出。
$ gsan crtsh facebook.com
[+] 获取facebook.com的子域名
[+] 获取facebook.com的子域名
[+] 结果:
FACEBOOK.COM
↳ newdev.facebook.com
↳ dewey.vip.facebook.com
↳ secure.trunkstable.facebook.com
↳ facebook.com
↳ secure.intern.facebook.com
-- 省略 --
↳ channel.facebook.com
↳ extools.facebook.com
↳ china--facebook.com
↳ adtools.facebook.com
↳ ak.facebook.com
直接从SSL证书获取子域名
大多数"滥用"透明证书的程序只是crt.sh的包装器,但您可以直接从HTTPS服务中的SSL证书提取子域名。这使您能够在具有自签名证书或部署的未被发现的服务中找到子域名。您可以使用子命令scan
来实现这一点。
$ gsan scan --help
用法:gsan scan [选项] [主机名]...
从输入或文本文件扫描域名,格式为主机[:端口]。
例如:gsan scan domain1.com domain2.com:port
您也可以传递一个文本文件,只需将第一个域名参数替换为文件名。
例如:gsan scan filename.txt
如果未定义端口,则gsan假定端口443可用。
选项:
-o, --output 文本 输出到路径/文件名。
-m, --match-domain 仅匹配域名。
-c, --crtsh 包含来自CRT.SH的结果
-t, --timeout 整数 设置超时时间 [默认:3]
--help 显示此消息并退出。
$ gsan scan facebook.com starbucks.com:443
[+] 获取facebook.com的子域名
[+] 获取starbucks.com的子域名
[+] 结果:
FACEBOOK.COM
↳ facebook.com
↳ facebook.net
↳ fbcdn.net
↳ fbsbx.com
↳ m.facebook.com
↳ messenger.com
↳ xx.fbcdn.net
↳ xy.fbcdn.net
↳ xz.fbcdn.net
STARBUCKS.COM
↳ starbucks.com
↳ beta.starbucks.com
↳ app.starbucks.fr
↳ starbucks.fr
↳ app.starbucks.co.uk
↳ starbucks.ie
↳ app.starbucks.com
↳ fr.starbucks.ca
↳ preview.starbucks.com
↳ starbucks.ca
↳ app.starbucks.com.br
↳ app.starbucks.ie
↳ starbucks.com.br
↳ fr.app.starbucks.ca
↳ starbucks.de
↳ starbucks.co.uk
↳ app.starbucks.de
↳ app.starbucks.ca
您还可以传递一个主机及其端口列表,格式为host[:port](端口是可选的),gsan将遍历它们尝试提取子域名。您可以使用相同的子命令`scan`,并将文本文件作为参数传递,而不是域名:
```bash
gsan scan hosts.txt -o subdomains.csv
[+] 正在获取facebook.com的子域名
[+] 正在获取starbucks.com的子域名
[+] 正在获取fakedomain.com的子域名
[!] 无法连接到主机fakedomain.com
[+] 正在获取amazon.com的子域名
FACEBOOK.COM
↳ facebook.com
↳ facebook.net
-- 省略 --
↳ xy.fbcdn.net
↳ xz.fbcdn.net
STARBUCKS.COM
↳ starbucks.com
↳ beta.starbucks.com
-- 省略 --
↳ app.starbucks.de
↳ app.starbucks.ca
AMAZON.COM
↳ amazon.co.uk
↳ uedata.amazon.co.uk
-- 省略 --
↳ bz.peg.a2z.com
↳ origin2-amazon.co.jp
[+] 内容已导出到CSV文件:subdomains.csv
您可以将结果保存为CSV或JSON文件,程序将根据文件扩展名格式化输出。
贡献者
- Djerfy - JSON输出。
贡献指南
欢迎贡献,只需记住:
- Fork仓库。
- 对develop分支进行更改。
- 提交Pull Request。
支持这个项目
更多信息
_____ _____ _____ _____
| __| __| _ | | |
| | |__ | | | | |
|_____|_____|__|__|_|___| v4.2.3
作者: Franccesco Orozco
邮箱: franccesco@codingdose.info
网站: https://codingdose.info