如何使用GSAN从HTTPS网站的SSL证书中提取子域名
作者:admin | 时间:2023-4-29 22:36:49 | 分类:黑客工具 隐藏侧边栏展开侧边栏
关于GSAN
GSAN这款工具能够帮助广大研究人员从HTTPS网站的SSL证书中直接提取主题别名,并向我们提供DNS名称(子域名)和虚拟服务器的相关信息。
该工具支持从HTTPS网站提取子域名,并返回一个列表文件或CSV/JSON格式的扫描结果输出。该工具并不是一个子域名爆破工具,而是一个自动化域名扫描发现工具。
功能介绍
1、从HTTPS网站的SSL证书中直接提取主题别名;
2、子域名提取/枚举;
3、支持使用文本文件或直接在终端窗口中以命令形式定义多个主机:端口;
4、CSV或JSON格式输出,方便导入到其他工具中;
5、支持筛选出与正在分析的域名所不匹配的域名;
6、支持与CRT.SH集成,因此可以从同一实体的证书中提取更多子域名;
7、适用于自签名证书;
工具安装
由于该工具基于Python开发,因此我们首先需要在本地设备上安装并配置好Python环境。
pip安装
我们可以使用pip命令完成GSAN的安装:
$ pip install --user gsan
源码获取
广大研究人员可以使用下列命令将该项目源码克隆至本地:
git clone https://github.com/franccesco/getaltname.git
工具使用
我们有两种方法来执行GSAN,并从CRT.SH获取子域名信息:
Usage: gsan [OPTIONS] COMMAND [ARGS]... Get subdomain names from SSL Certificates. Options: --version 显示工具版本信息 --help 显示工具帮助信息和退出 Commands: crtsh 从crt.sh获取域名信息 scan 根据输入参数或文本文件扫描指定域名,格式为:主机[:端口号]
从CRT.SH获取子域名信息
$ gsan crtsh --help Usage: gsan crtsh [OPTIONS] [DOMAINS]... Get domains from crt.sh Options: -m, --match-domain Match domain name only. -o, --output TEXT Output to path/filename. -t, --timeout INTEGER Set timeout for CRT.SH --help Show this message and exit. $ gsan crtsh facebook.com [+] Getting subdomains for facebook.com [+] Getting subdomains for facebook.com [+] Results: FACEBOOK.COM ↳ newdev.facebook.com ↳ dewey.vip.facebook.com ↳ secure.trunkstable.facebook.com ↳ facebook.com ↳ secure.intern.facebook.com -- SNIP -- ↳ channel.facebook.com ↳ extools.facebook.com ↳ china--facebook.com ↳ adtools.facebook.com ↳ ak.facebook.com
直接从SSL证书提取子域名信息
$ gsan scan --help Usage: gsan scan [OPTIONS] [HOSTNAMES]... Scan domains from input or a text file, format is HOST[:PORT]. e.g: gsan scan domain1.com domain2.com:port You can also pass a text file instead, just replace the first domain argument for a file. eg: gsan scan filename.txt If no ports are defined, then gsan assumes the port 443 is available. Options: -o, --output TEXT Output to path/filename. -m, --match-domain Match domain name only. -c, --crtsh Include results from CRT.SH -t, --timeout INTEGER Set timeout [default: 3] --help Show this message and exit. $ gsan scan facebook.com starbucks.com:443 [+] Getting subdomains for facebook.com [+] Getting subdomains for starbucks.com [+] Results: 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
gsan scan hosts.txt -o subdomains.csv [+] Getting subdomains for facebook.com [+] Getting subdomains for starbucks.com [+] Getting subdomains for fakedomain.com [!] Unable to connect to host fakedomain.com [+] Getting subdomains for amazon.com FACEBOOK.COM ↳ facebook.com ↳ facebook.net -- SNIP -- ↳ xy.fbcdn.net ↳ xz.fbcdn.net STARBUCKS.COM ↳ starbucks.com ↳ beta.starbucks.com -- SNIP -- ↳ app.starbucks.de ↳ app.starbucks.ca AMAZON.COM ↳ amazon.co.uk ↳ uedata.amazon.co.uk -- SNIP -- ↳ bz.peg.a2z.com ↳ origin2-amazon.co.jp [+] Contents dumped into CSV file: subdomains.csv
工具运行截图
许可证协议
本项目的开发与发布遵循MIT开源许可证协议。
项目地址
GSAN:【GitHub传送门】