Skip to content

Santitub/SBDR

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

9 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ SBDR – Subdomain Bruteforce Detection & Resolver

Python asyncio

Fast, colorful & smart subdomain enumeration powered by asyncio


✨ Features

  • ⚑ Pure asynchronous – resolves thousands of names in parallel
  • 🧠 Automatic concurrency – dynamically adjusts to rate limit
  • 🌈 Colorful logs – real-time progress without spam
  • πŸ—ƒοΈ SQLite checkpoint – resumes if interrupted (Ctrl-C)
  • 🎯 Wildcard detection – filters false positives
  • πŸ” Multiple sources – crt.sh, subfinder, huge wordlists (streaming)
  • 🌐 Advanced HTTP probing – httpx integration + automatic titles
  • πŸ“„ Multiple export – TXT, JSON and CSV in a single command
  • πŸ”§ Adaptive rate limiting – adjusts to server performance

πŸ“¦ Quick Installation

# 1. Clone the repo
git clone https://github.com/santitub/sbdr.git && cd sbdr

# 2. Virtual environment (recommended)
python3 -m venv venv && source venv/bin/activate

# 3. Install dependencies
pip install -r requirements.txt

# 4. (Optional) Install external tools
go install -v github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latest
go install -v github.com/projectdiscovery/httpx/cmd/httpx@latest

πŸƒβ€β™‚οΈ Basic Usage

# Simple scan
python sbdr.py example.com

# Bruteforce + HTTP validation + automatic wordlist
python sbdr.py example.com --bruteforce --probe-http --wordlist-size medium

# Maximum speed (no rate limit)
python sbdr.py example.com --rate-limit 0 --bruteforce -o subs.txt,subs.json

πŸŽ›οΈ Main Flags

Flag Description
--bruteforce Activates bruteforce with wordlist
--probe-http Validates subdomains with httpx + HTTP probing
--wordlist-size {small,medium,large} Automatic SecLists download
--wordlist PATH Custom wordlist
--exclude-wildcard Removes wildcard subdomains
-r / --rate-limit Seconds between requests (0 = no limit)
-o file1,file2 Multiple outputs in one command
--verify-ssl Validates SSL certificates
--dry-run Simulates without real requests
--quiet Clean output for scripts
--verbose Detailed logs for debugging

πŸ› οΈ Express Examples

# Only passive sources (certificates + subfinder)
python sbdr.py example.com --no-resolve-dns -o results.txt

# Complete scan with SSL validation
python sbdr.py lab.local --verify-ssl --rate-limit 0 \
  --bruteforce --wordlist custom.txt

# Multiple output formats
python sbdr.py target.com -o subdomains.txt,subdomains.json,subdomains.csv

# Resume interrupted scan (automatic checkpoint)
python sbdr.py target.com --bruteforce
# (Run same command again β†’ continues where it left off)

πŸ“Š Example Output

18:42:10 [INF] πŸ”  Checking wildcard DNS for target.com
18:42:11 [INF] βœ… No wildcard DNS detected.
18:42:12 [INF] 🎯  Querying crt.sh for target.com
18:42:14 [INF] βœ… crt.sh finished: 137 subdomains processed
18:42:15 [INF] πŸš€  Running subfinder for target.com
18:42:18 [INF] βœ… subfinder: found 42 subdomains
18:42:20 [INF] πŸ”₯  Starting bruteforce with wordlist-medium.txt (20000 words)
18:42:35 [INF] πŸ“Š Bruteforce progress: 15000/20000 [75%]
18:42:50 [INF] 🌍  Resolving DNS for 312 subdomains...
18:43:02 [INF] πŸ›‘οΈ  Validating subdomains with httpx...
18:43:15 [INF] πŸ’Ύ Results saved to subdomains.txt (245 records)
18:43:15 [INF] πŸ’Ύ Results saved to subdomains.json (245 records)

🎁 Acknowledgments

Remember to use this tool only on domains you own or have permission to test! πŸ”

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages