explaingit

aboul3la/sublist3r

10,925PythonAudience · researcherComplexity · 2/5LicenseSetup · easy

TLDR

Python command-line tool that finds all subdomains of a website by querying search engines and security databases simultaneously, a standard first step in security testing and bug bounty research.

Mindmap

mindmap
  root((Sublist3r))
    What it does
      Subdomain enumeration
      Multi-source queries
      Port filtering
    Data sources
      Search engines
      Security databases
      Subbrute bruteforce
    Features
      Real-time output
      File export
      Python library mode
    Installation
      Python 2.7 or 3.4+
      Three pip libraries
      Windows and Linux
    Audience
      Bug bounty hunters
      Penetration testers
      Security researchers
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Enumerate all subdomains of a target domain during a bug bounty engagement to map the full attack surface.

USE CASE 2

Find hidden or forgotten subdomains that may expose legacy services before a penetration test.

USE CASE 3

Use the bundled subbrute module to brute-force subdomain names not listed in any public index.

USE CASE 4

Feed discovered subdomains into further scanning tools as part of an automated reconnaissance pipeline.

Tech stack

Pythondnspythonrequests

Getting it running

Difficulty · easy Time to first run · 5min

Requires Python 2.7 or 3.4+ plus three pip libraries, some search engines may block or throttle automated queries.

GNU GPL, free to use for any purpose, but modifications you distribute must be shared under the same license.

In plain English

Sublist3r is a Python tool that finds subdomains of a given website domain. A subdomain is a prefix attached to a domain name, like "mail.example.com" or "api.example.com". Organizations often run separate services or systems on different subdomains, and finding them all is a common first step in security testing and bug bounty research. Sublist3r is designed for penetration testers and bug hunters who need a fast, automated way to collect that list. The tool queries multiple public sources at once: search engines including Google, Yahoo, Bing, Baidu, and Ask, plus dedicated security databases such as Netcraft, VirusTotal, ThreatCrowd, DNSdumpster, and ReverseDNS. It also bundles an optional bruteforce module called subbrute, which tries many possible subdomain names against the target using a wordlist to catch ones that do not appear in public indexes. From the command line, you point it at a domain name and it returns a list of discovered subdomains. Optional flags let you filter that list to only show subdomains with specific open network ports (like 80 for web traffic or 443 for encrypted web traffic), display results as they come in rather than waiting for a full scan, and save results to a file. You can also import it directly into a Python script and call its main function if you want to incorporate subdomain enumeration into a larger automated workflow. Installation requires cloning the repository and installing three Python libraries: requests, dnspython, and argparse. The tool supports both Python 2.7 and Python 3.4 or newer, and installation instructions for Windows, Ubuntu/Debian, and CentOS/Red Hat are all included in the README. The project is licensed under the GNU GPL license and is at version 1.0. The bruteforce wordlist comes from separate research by another contributor, and several individuals are credited for improvements to the tool over time.

Copy-paste prompts

Prompt 1
Run sublist3r against example.com, filter results to only show subdomains with port 443 open, and save to a file.
Prompt 2
Write a Python script that runs sublist3r on a list of domains and deduplicates all discovered subdomains.
Prompt 3
How do I enable the subbrute bruteforce module in sublist3r to find subdomains not in public search indexes?
Prompt 4
Build a recon pipeline that runs sublist3r then passes results to nmap for port scanning and service detection.
Open on GitHub → Explain another repo

← aboul3la on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.