开发知识

全球排名前十的子域名枚举工具

来源: 二进制空间安全  日期:2024-04-29 20:46:39  点击:22  属于:开发知识

Google Dorking

在全球范围内, 寻找子域名最简单方法之一是使用Google Dorking, 例如:可以使用以下命令来查找与目标相关的子域:

site:*.domain.com -www
  • site:domain.com:这部分告诉Google只在domain.com中搜索。
  • 星号(*):这是一个通配符, 匹配domain.com的所有子域, 例如:只查找如subdomain.domain.com这样的任何子域。
  • -www:这部分排除了任何包含www的结果, 减号(-)用于否定一个搜索项, 所以在这种情况下, 它过滤掉了包含www的结果。

以下是一个使用Google Dorking子域名搜素的例子:

图片图片

Sublist3r

Sublist3r(https://github.com/aboul3la/Sublist3r)是一个使用起来比较舒适的子域名搜索工具, 通过各种标志提供了定制功能, 这些标志可以将结果保存到文件中或扫描发现指定TCP端口的子域名。

如果要搜索特定的子域, 可以使用以下命令, 并使用"-d"标志来表示枚举的目标域:

sublist3r -d domain.com

该工具使用界面如下:

图片图片

Amass

OWASP中的Amass(https://github.com/owasp-amass/amass)是一款功能强大的工具, 它可以通过其API集成连接到其他服务, 使其获取额外的扩展功能, 下面只是介绍一下该工具的基本用法, 如以下命令:

amass enum -passive -d domain.com -o subdomains.txt

执行该命令后, 就可以将输出结果保存到文件中, 以下是输出的内容:

图片图片

输出文件生成后, 可以使用sed和grep命令来进行过滤, 以创建一个只包含子域名列表的干净内容, 命令如下:

cat output.txt | sed 's/\x1b[[0-9;]m//g' | grep -oP '(?<=\s)[a-zA-Z0-9.-].(com)' > cleaned_subdomains.txt

过滤后的文本内容如下:

图片图片


Recon-ng

Recon-ng(https://github.com/lanmaster53/recon-ng)是一款全能型OSINT侦查工具, 可以执行各种任务, 包括: 收集电子邮件, 这里只展示其搜集子域的功能, 从命令行启动Recon-ng:

recon-ng

执行成功后界面如下:

图片图片

输入以下命令来搜索需要使用的功能模块:

marketplace search

搜索结果如下图:

图片图片

这里我比较感兴趣的模块是:hackertarget, 如图:

图片图片

要安装该模块, 输入以下命令:

marketplace install hackertarget

如果要加载使用它, 则输入以下命令:

modules load hackertarget

安装完成后, 可以快速设置该模块并枚举子域, 如果要检查需要设置哪些选项, 输入:info, 而对于该模块,只需要输入以下命令即可开始枚举子域:

options set SOURCE domain.com
run

命令执行效果如图:

图片图片

扫描完成后, 输入: show hosts, 将显示所有已找到的子域, 如图:

图片图片

SubDomainizer

SubDomainizer(https://github.com/nsonaniya2010/SubDomainizer)不仅仅是一款子域名枚举工具, 还可以找到其他关键信息,例如: API密钥, 该工具语法简单, 易于使用, 只需要输入以下命令, 便可以获取到一份干净完整的子域名列表:

python3 SubDomainizer.py -u https://www.domain.com

执行结果如下:

图片图片

Pentest Tools Subdomain Finder

Pentest Tools Subdomain Finder(https://pentest-tools.com/information-gathering/find-subdomains-of-domain)是一款基于网页的轻量级子域名枚举工具, 使用者可以在没有账号的情况下执行扫描, 但如果想要更多的扫描和更多的工具, 可以注册一个免费账户使用, 以下是使用界面:

图片图片

扫描完成后,获取的结果如下图:

图片图片

Crt.sh

https://crt.sh/ 这是一个利用证书透明性收集子域名的工具, 其原理是所有SSL/TLS证书都会被记录并公开访问, 只需要要前往crt.sh并输入要枚举的域名即可,如图:

图片图片

点击搜索以生成目标域的子域列表, 如图:

图片图片

Shodan

Shodan(https://www.shodan.io/)Shodan可以定位子域,并提供基于Web和命令行的界面。要使用Web界面查找子域,访问 https://www.shodan.io/domain/domain.com,将“domain.com”替换为想要枚举的域名。

图片图片

如果要从命令行使用Shodan,键入shodan domain domain.com,将domain.com替换为希望搜索的域名。

图片图片

PureDNS

PureDNS(https://github.com/d3mondev/puredns)PureDNS可以通过启用每秒数千个同时DNS请求来执行快速的子域名枚举,使用公共解析器。要查找子域名,输入以下命令:

puredns bruteforce mywordlist.txt -r resolvers.txt domain.com -l 5000

该命令指示PureDNS为domain.com执行暴力破解子域名枚举,使用来自mywordlist.txt的潜在子域名列表,并通过resolvers.txt中提供的一组DNS解析器执行DNS查询。它限制DNS查询的速率为每秒5000个。

图片图片

完成后, 将显示输出结果,如图:

图片图片

ffuf

ffuf(https://github.com/ffuf/ffuf)采用更主动的方法进行枚举。它接受一个给定的单词列表,并通过发出HTTP/S请求检查每个条目,从而确定哪些子域存在。

可以使用以下命令,它将对子域进行模糊搜索,将输出文件保存为HTML,并在请求之间设置两秒的延迟。

ffuf -w wordlist -u https://fuzz.domain.com -of html -o result -p 2

图片 图片