BadDNS是一款功能强大的子域名接管检测工具,该工具还支持检测其他与DNS相关的安全问题,例如区域传输或NSEC区域行走等。
1、cname - 检查无效的 CNAME 记录并查询它们是否存在子域名接管机会
2、ns - 检查无效的 NS 记录并查询它们以寻找接管机会
3、mx - 检查无效的 MX 记录并评估其基本域的可用性
4、nsec - 通过 NSEC-walking 枚举子域名
5、references - 检查 HTML 内容中是否存在可劫持域名的链接或其他引用
6、txt - 检查 TXT 记录内容中是否存在可劫持域名
7、zonetransfer-尝试 DNS 区域传输
Python 3
工具模块
模块名称 | 描述 |
cname | 检查无效的 CNAME 记录并查询它们是否存在子域名接管机会 |
ns | 检查无效的 NS 记录,并查询它们以寻找接管机会 |
mx | 检查无效的 MX 记录并评估其基本域的可用性 |
nsec | 通过 NSEC-walking 枚举子域名 |
references | 检查 HTML 内容中是否存在包含可劫持域名的链接或其他引用 |
txt | 检查 TXT 记录内容是否存在可劫持域名 |
zonetransfer | 尝试 DNS 区域传输 |
由于该工具基于Python 3开发,因此我们首先需要在本地设备上安装并配置好最新版本的Python 3环境。
源码安装
接下来,广大研究人员可以直接使用下列命令将该项目源码克隆至本地:
git clone https://github.com/daniel2005d/mapXplore
Pypi安装
pip install baddns
pipx安装
pipx install git+https://github.com/blacklanternsecurity/baddns
usage: baddns [-h] [-n CUSTOM_NAMESERVERS] [-c CUSTOM_SIGNATURES] [-l] [-s] [-m MODULES] [-d] [target]
Check subdomains for subdomain takeovers and other DNS tomfoolery
positional arguments:
target subdomain to analyze
options:
-h, --help show this help message and exit
-n CUSTOM_NAMESERVERS, --custom-nameservers CUSTOM_NAMESERVERS
Provide a list of custom nameservers separated by comma.
-c CUSTOM_SIGNATURES, --custom-signatures CUSTOM_SIGNATURES
Use an alternate directory for loading signatures
-l, --list-modules List available modules and their descriptions.
-s, --silent Show only vulnerable targets
-m MODULES, --modules MODULES
Comma separated list of module names to use. Ex: module1,module2,module3
-d, --debug Enable debug logging
简单检查
baddns subdomaintocheck.example.com
指定模块
baddns -m CNAME subdomaintocheck.example.com
baddns -m CNAME,NS subdomaintocheck.example.com
列出可用模块
baddns -l
自定义名称服务器
baddns -n 1.1.1.1 subdomaintocheck.example.com
本项目的开发与发布遵循GPL-3.0开源许可协议。
BadDNS:
https://github.com/daniel2005d/mapXplore
https://www.blacklanternsecurity.com/baddns