一个用 Bash 编写的子域名枚举工具的封装脚本,用于自动化针对给定域名的子域名发现工作流程。

运行安装脚本:
curl -s https://raw.githubusercontent.com/hueristiq/subdomains.sh/main/install.sh | bash -
或者在使用一次性 Docker 容器中运行:
克隆仓库并运行
cd subdomains.sh
# 构建容器镜像
./docker-subdomains.sh build
# 构建完成后,你可以使用上述相同的选项运行脚本。
# 每次运行会在新容器中执行,运行后容器即被销毁。
./docker-sudomains.sh -d example.com -r 1.1.1.1
# 如果需要销毁容器镜像
./docker-subdomains.sh destroy
使用 -h 参数显示此脚本的帮助信息:
subdomains.sh -h
_ _ _ _
___ _ _| |__ __| | ___ _ __ ___ __ _(_)_ __ ___ ___| |__
/ __| | | | '_ \ / _` |/ _ \| '_ ` _ \ / _` | | '_ \/ __| / __| '_ \
\__ \ |_| | |_) | (_| | (_) | | | | | | (_| | | | | \__ _\__ \ | | |
|___/\__,_|_.__/ \__,_|\___/|_| |_| |_|\__,_|_|_| |_|___(_)___/_| |_| v1.0.0
用法:
subdomains.sh [选项]
选项:
-d, --domain 要发现子域名的目标域名 *
-r, --resolvers 包含 DNS 解析器列表的文件 *
--skip-passive 跳过被动发现
--use-passive-tools 指定要使用的被动发现工具(逗号分隔)
--exclude-passive-tools 指定要排除的被动发现工具(逗号分隔)
--skip-active 跳过主动发现
--skip-dictionary 跳过基于字典的 DNS 暴力破解发现
-dW, --dictionary-wordlist 用于字典 DNS 暴力破解的字典文件
--skip-permutation 跳过基于排列的 DNS 暴力破解发现
-pW, --permutation-wordlist 用于排列 DNS 暴力破解的字典文件
--skip-dns-records 跳过从 DNS 记录发现子域名
--skip-reverse-dns 跳过从反向 DNS 查询发现子域名
-o, --output 输出文本文件
--setup 安装/更新此脚本及其依赖
-h, --help 显示此帮助信息并退出
注意:带星号(*)的选项为必选项。
HAPPY HACKING :)
感谢本脚本中使用的各个工具的作者:
欢迎提交 Issue 和 Pull Request!