Baddns
Check subdomains for subdomain takeovers and other DNS tomfoolery
Install / Use
/learn @blacklanternsecurity/BaddnsREADME
BadDNS
Check subdomains for subdomain takeovers and other DNS tomfoolery
<p align="left"><img width="300" height="300" src="https://github.com/blacklanternsecurity/baddns/assets/24899338/2ca1fe25-e834-4df8-8b02-8bf8f60f6e31"></p>BadDNS is a standalone tool and BBOT module for detecting domain/subdomain takeovers of all kinds, including other DNS issues like NSEC walks and Subdomain Takeovers.
Check out the introductory blog on the BLS substack!
Installation
We have a pypi package, so you can just do pip install baddns to make use of the library.
Or use pipx: pipx install git+https://github.com/blacklanternsecurity/baddns
Usage
After installing with pip, you can just run baddns from the command line.
usage: baddns [-h] [-n CUSTOM_NAMESERVERS] [-c CUSTOM_SIGNATURES] [-l] [-s] [-m MODULES] [-d] [-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 Only show results, no other output (JSON format)
-m MODULES, --modules MODULES
Comma separated list of module names to use. Ex: module1,module2,module3
-d, --debug Enable debug logging
-D, --direct Enable direct mode
Modules
| Name | Description | | ----------- | ----------- | | cname | Check for dangling CNAME records and interrogate them for subdomain takeover opportunities | | ns | Check for dangling NS records, and interrogate them for takeover opportunities | | mx | Check for dangling MX records and assess their base domains for availability | | nsec | Enumerate subdomains by NSEC-walking | | references | Check HTML content for links or other references that contain a hijackable domain | | txt | Check TXT record contents for hijackable domains | | zonetransfer | Attempt a DNS zone transfer | | dmarc | Check for missing or misconfigured DMARC records | | mta-sts | Check for MTA-STS misconfigurations and dangling mta-sts subdomains | | wildcard | Check for wildcard DNS records that could enable domain-wide subdomain takeover | | spf | Check for missing or misconfigured SPF records and hijackable include/redirect domains |
Examples
- Simple check
baddns subdomaintocheck.example.com
- Specify Module(s)
baddns -m CNAME subdomaintocheck.example.com
baddns -m CNAME,NS subdomaintocheck.example.com
- List available Modules
baddns -l
- Custom Nameservers
baddns -n 1.1.1.1 subdomaintocheck.example.com
Documentation
Please visit our full documentation for many more details, including information about specific BadDNS modules.
Acknowledgements
BadDNS Signatures are sourced primarily from Nuclei Templates and from dnsReaper by Punk Security, although many have been modified or updated in BadDNS. Much of the research contained in the signatures was originally discussed on the issues page of can-i-take-over-xyz.
Related Skills
node-connect
334.9kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
82.3kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
334.9kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
82.3kCommit, push, and open a PR
