Press ESC to close

Sublist3r: Subdomain Enumeration Tool

Sublist3r

Sublist3r is a Python tool designed to enumerate subdomains of websites using OSINT (Open Source Intelligence). It helps penetration testers and bug hunters collect and gather subdomains for the domain they are targeting. Sublist3r enumerates subdomains using many search engines such as Google, Yahoo, Bing, Baidu, and Ask. It also uses sources like Netcraft, Virustotal, ThreatCrowd, DNSdumpster, and ReverseDNS.

Disclaimer

This tool is intended for educational and ethical testing purposes only. Unauthorized use of Sublist3r to scan or enumerate subdomains without explicit permission is illegal and unethical. The creators of this tool are not responsible for any misuse or damage caused by this tool.

Description

Sublist3r is an effective tool for discovering subdomains of a given domain, aiding in the mapping of an organization's attack surface. By using various search engines and online services, it can provide a comprehensive list of subdomains, which can be useful for security assessments and penetration tests. The integration of subbrute increases the likelihood of finding more subdomains through brute force methods.

Features

  • Search Engine Enumeration: Uses Google, Yahoo, Bing, Baidu, and Ask to find subdomains.
  • Online Services Integration: Utilizes Netcraft, Virustotal, ThreatCrowd, DNSdumpster, and ReverseDNS for comprehensive results.
  • Bruteforce Module: Integrates subbrute to enhance subdomain discovery through brute force techniques.
  • Real-time Results: Option to display results in real-time for ongoing monitoring.

Installation

To install Sublist3r, clone the GitHub repository and install the required dependencies. Sublist3r supports both Python 2 and Python 3.

git clone https://github.com/aboul3la/Sublist3r.git
cd Sublist3r
pip install -r requirements.txt
        

Recommended Python Versions

  • Python 2: 2.7.x
  • Python 3: 3.4.x

Dependencies

Sublist3r depends on the following Python modules: requests, dnspython, and argparse. These can be installed using the requirements file provided in the repository.

Installation on Windows

c:\python27\python.exe -m pip install -r requirements.txt
        

Installation on Linux

sudo pip install -r requirements.txt
        

Usage

Sublist3r offers several options and switches to customize the enumeration process. Below is a list of options available:

Short FormLong FormDescription
-d--domainDomain name to enumerate subdomains of
-b--bruteforceEnable the subbrute bruteforce module
-p--portsScan the found subdomains against specific tcp ports
-v--verboseEnable the verbose mode and display results in realtime
-t--threadsNumber of threads to use for subbrute bruteforce
-e--enginesSpecify a comma-separated list of search engines
-o--outputSave the results to text file
-h--helpShow the help message and exit

Examples

To list all the basic options and switches use the -h switch:

python sublist3r.py -h
        

To enumerate subdomains of a specific domain:

python sublist3r.py -d example.com
        

To enumerate subdomains of a specific domain and show only subdomains which have open ports 80 and 443:

python sublist3r.py -d example.com -p 80,443
        

To enumerate subdomains of a specific domain and show the results in real-time:

python sublist3r.py -v -d example.com
        

To enumerate subdomains and enable the bruteforce module:

python sublist3r.py -b -d example.com
        

To enumerate subdomains and use specific engines such as Google, Yahoo, and Virustotal:

python sublist3r.py -e google,yahoo,virustotal -d example.com
        

Using Sublist3r as a Module in Your Python Scripts

You can use Sublist3r within your Python scripts by importing it and calling the main function.

import sublist3r 
subdomains = sublist3r.main(domain, no_threads, savefile, ports, silent, verbose, enable_bruteforce, engines)
        

The main function returns a set of unique subdomains found by Sublist3r. Here's an example of how to use it to enumerate subdomains of Yahoo.com:

import sublist3r 
subdomains = sublist3r.main('yahoo.com', 40, 'yahoo_subdomains.txt', ports=None, silent=False, verbose=False, enable_bruteforce=False, engines=None)
        

License

Sublist3r is licensed under the GNU GPL license. For more information, take a look at the LICENSE file in the repository.

Leave a comment

Your email address will not be published. Required fields are marked *