Skip to content
Subdomain enumeration tool with analysis features for discovered domains
Python
Branch: master
Clone or download
Pull request Compare This branch is 55 commits ahead, 19 commits behind aboul3la:master.
Latest commit e42290f Dec 23, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
subbrute - Added cloudflare resolvers Jun 30, 2018
.gitignore Ignore working files Jul 15, 2016
LICENSE Initial commit Dec 15, 2015
README.md - Updated README to reference new -q option Dec 11, 2019
requirements.txt Update requirements.txt Oct 7, 2019
turbolist3r.py Parsing update for dnsdumpster.com Dec 23, 2019

README.md

Turbolist3r

Turbolist3r is a fork of the sublist3r subdomain discovery tool. In addition to the original OSINT capabilties of sublist3r, turbolist3r automates some analysis of the results, with a focus on subdomain takeover.

Turbolist3r queries public DNS servers for each discovered subdomain. If the subdomain exists (i.e. the resolver replied with an address), the answer is categorized as CNAME or A record. By examining A records, it is possible to discover potential penetration testing targets for a given domain. Likewise, the process of looking for subdomain takeovers is simple; view the discovered CNAME records and investigate any that point to applicable cloud services.

Please do not use for illegal purposes.

Screenshots

Screenshot 1

Screenshot 2

Usage

Short Form Long Form Description
-d --domain Domain name to enumerate subdomains of
-b --bruteforce Enable the subbrute bruteforce module
-p --ports Scan the found subdomains against specific tcp ports
-v --verbose Enable the verbose mode and display results in realtime
-t --threads Number of threads to use for subbrute bruteforce
-e --engines Specify a comma-separated list of search engines
-o --output Save discovered domain names to specified text file
-h --help show the help message and exit
-a --analyze Do reverse DNS analysis and output results
(none) --saverdns Save reverse DNS analysis to specified file
(none) --inputfile Read domains from specified file, and use them for analysis
(none) --debug Print debug information during the analysis module (-a). Prints mostly raw DNS data, familarity with the DIG Linux DNS utility and it's output is helpful to interpret the debug output
-r --resolvers File with DNS servers to populate as resolvers. File must have only one server IP address per line and only IP addresses are accepted
-q --quiet Only print found domains and/or CNAME mappings. Note errors may be printed as well

Examples

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

python turbolist3r.py -h

  • To enumerate subdomains of a specific domain, perform advanced analysis, and save the analysis to a file:

python turbolist3r.py -d example.com -a --saverdns analysis_file.txt

  • Read subdomains from a file and perform advanced analysis on them:

python turbolist3r.py -d example.com -a --inputfile subdomains.txt

  • Using -r to populate DNS resolvers from a file (resolvers used with -a analysis module):

python turbolist3r.py -d example.com -a --inputfile subdomains.txt -r dns_servers.txt

  • To enumerate subdomains of specific domain:

python turbolist3r.py -d example.com

  • To enumerate subdomains of specific domain and save discovered subdomains to a file:

python turbolist3r.py -d example.com -o example_hosts.txt

  • To enumerate subdomains of specific domain and show the results in realtime:

python turbolist3r.py -v -d example.com

  • To enumerate subdomains and enable the bruteforce module:

python turbolist3r.py -b -d example.com

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

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

Dependencies:

Turbolist3r depends on the dnslib, requests, and argparse python modules. The subbrute module is required for bruteforce capability, but Turbolist3r should run without it as long as you don't invoke bruteforce. Submit a PR or contact me if you have issues.

dnslib Module

The dnslib module can be downloaded from https://bitbucket.org/paulc/dnslib/ or installed on many systems using:

pip install dnslib

requests Module

  • Install for Ubuntu/Debian:
sudo apt-get install python-requests
  • Install for Centos/Redhat:
sudo yum install python-requests
  • Install using pip on Linux:
sudo pip install requests

argparse Module

  • Install for Ubuntu/Debian:
sudo apt-get install python-argparse
  • Install for Centos/Redhat:
sudo yum install python-argparse
  • Install using pip:
sudo pip install argparse

License

Turbolist3r is licensed under the GNU GPL license. take a look at the LICENSE for more information.

Respect legal restrictions and only conduct testing against infrastructure that you have permission to target.

Credits

  • aboul3la - The creator of Sublist3r; turbolist3r adds some features but is otherwise a near clone of sublist3r.
  • TheRook - The bruteforce module was based on his script subbrute.
  • bitquark - The Subbrute's wordlist was based on his research dnspop.

Thanks

  • Thank you to aboul3la for releasing sublist3r, an incredible subdomain discovery tool!
You can’t perform that action at this time.