SubDomain3: A New Generation Tool For Discovering Subdomains

Subdomain3 is a new generation of tool , It helps penetration testers to discover more information in a shorter time than other tools.The information includes subdomains, IP, CDN, and so on. Please enjoy it.

Features

  • More quick

Three patterns for speed. User can modify the configuration(lib/config.py) file to speed-up.

  • CDN support

Determines whether the subdomain uses CDN storage automatically,even though the dict of CDN severs not contain the cname suffix.

  • RFC CIDR

Sorting ip and report CIDR(example 1.1.1.1/24) that it not use CDN storage;

  • Multi-level subdomain support

Discover more subdomains,example:admin.test.xx.com

  • Big dict support

Million of subs support

  • Less resource consumption

1 CPU/1GB Memory/1Mbps bandwidth

  • More intelligent

Discover the fastest nameserver;The strategy of dynamically adjusting of dict by importing subdomains from other sources;Prevent dns cache pollution;

Getting Started

git clone https://github.com/yanxiu0614/subdomain3.git
pip install -r requirement.txt
python2/3 brutedns.py -d tagetdomain -s high -l 5

Usage

Short FormLong FormDescription
-d–domaintarget domain,for example: baidu.com
-s       –speedspeed,three patterns:fast,medium,low
-l–levelexample: 2:w.baidu.com; 3:w.w.baidu.com;
-f–fileThe list of target domain
-c–cnamen or y,collect cnames
-ns–default_dnsn or y
-f1–sub_filesub dict
-f2–next_sub_filenext sub dict
-f3–other_filesubdomain log from search engine

Changelog

  • 2019-09-22: New strategy to prevent dns cache pollution;Optimize the processes,Fixed bug e.g
  • 2019-09-17: Automatically discover the fastest nameserver support;Determines whether the subdomain uses CDN storage automatically support;Improve the speed;Optimize the processes,Fix bug e.g
  • 2018-11-6: Improve the speed;Optimize the processes;
  • 2018-10-6: Api support,import brutedns_api and you will get the number of results in the end;Optimized the deduplication strategy;
  • 2018-2-14: Fix issue(TypeError: argument of type ‘NoneType’ is not iterable)
  • 2018-1-9: CDN PLAN;Add opthon oc collecting cname (-c –cdn t/f)
  • 2017-11-11: Import subdomains from other sources support(You should create a new file of target_domain.log, and put it with ‘brutedns.py’ in the same directory),it will improve the accuracy;it is more convenient for use API;
  • 2017-10-26: Optimize the processes;Fix bug;
  • 2017-10-11:Rebuild part of the program; Api support; Result is more readable;Update cdn-severs;faster
  • 2017-6-17: Delete universal parse opthon(-p t/f);Add a file of config;Optimze strategy for universal parse
  • 2017-5-2: Add a module(validate the domain),please modify “result_name” in the validate_domain.py if you will use it;fix universal bug;update cdn-servers,etc
  • 2017-4-21: Optimze strategy for generating subname,Improve the speed
  • 2017-3-23: Add universal parse opthon(-p t/f)
  • 2017-3-17: Big dict support(for example: two million)
  • 2017-3-10: Read several domains from file support(-f domains) support;Update cdn-servers
  • 2017-2-26: Multilevel domain support(no upper limit);Big dict support;Take up about a third to a quarter as much memory;Faster
  • 2017-2-24: Mac support
R K

Recent Posts

rsync Command in Linux: Sync Files, Mirror, and Transfer Remotely

The rsync command in Linux synchronizes files and directories between two locations, locally or over SSH. Unlike scp,…

3 hours ago

patch Command in Linux: Apply Diff Files and Reverse Changes

The patch command in Linux applies a set of changes from a diff file to one or…

4 hours ago

basename Command in Linux: Strip Directory Paths and Suffixes

The basename command in Linux extracts the last component of a file path, removing the leading directory…

4 hours ago

timeout Command in Linux: Kill Long-Running Commands Safely

The timeout command in Linux runs a command with a time limit and terminates it when the limit is reached. It is part of GNU coreutils, available on virtually every Linux distribution. It is most useful for commands with no built-in timeout option, such as ping, curl, tcpdump, or a custom script that might hang indefinitely. How the timeout Command Works in Linux The syntax is: bashtimeout [OPTIONS] DURATION COMMAND [ARG]...…

4 hours ago

rmmod Command in Linux: Remove Kernel Modules and Blacklisting

The rmmod command in Linux removes a loaded module from the running kernel. Because the kernel has…

1 day ago

free Command in Linux: Check Memory Usage and Interpret Output

The free command in Linux gives you a quick summary of RAM and swap usage. It reads…

1 day ago