Home

Awesome

<h1 align="center"> <b>Gotator</b> <br> </h1> <p align="center"> <a href="https://golang.org/dl/#stable"> <img src="https://img.shields.io/badge/go-1.16-blue.svg?style=flat-square&logo=go"> </a> <a href="https://www.gnu.org/licenses/gpl-3.0.en.html"> <img src="https://img.shields.io/badge/license-GNU-green.svg?style=square&logo=gnu"> </a> <a href="https://github.com/Josue87/gotator"> <img src="https://img.shields.io/badge/version-1.1-yellow.svg?style=square&logo=github"> </a> <a href="https://twitter.com/JosueEncinar"> <img src="https://img.shields.io/badge/author-@JosueEncinar-orange.svg?style=square&logo=twitter"> </a> <a href="https://twitter.com/six2dez1"> <img src="https://img.shields.io/badge/tester-@Six2dez1-orange.svg?style=square&logo=twitter"> </a> </p> <p align="center"> Gotator is a tool to generate DNS wordlists through permutations. </p> <br/>

🛠️ Installation

If you want to make modifications locally and compile it, follow the instructions below:

> git clone https://github.com/Josue87/gotator.git
> cd gotator
> go build

If you are only interested in using the program:

> go install github.com/Josue87/gotator@latest

🐳 Docker option:

> git clone https://github.com/Josue87/gotator.git
> cd gotator
> docker build -t gotator . 
# Usage 
> docker run gotator -sub subdomains.txt  [...]

Note If you are using version 1.16 or higher and you have any errors, run the following command:

> go env -w GO111MODULE="auto"

To upgrade the version add the -u parameter to the installation command.

✨ Features

Gotator has the following features for permutation:

🗒 Options

The flags that can be used to launch the tool:

FlagTypeMandatoryDescriptionExample
substringyesList of domains to be swapped.-sub subdomains.txt
permstringnoList of permutations.-perm permutations.txt
depthuintnoConfigure the depth (Between 1 and 3) - Default 1.-depth 2
numbersuintnoConfigure the number of iterations to the numbers found in the permutations (up and down). Default 0 Skip!. This option penalizes performance, use small numbers-numbers 10
prefixesboolnoAdding default gotator prefixes to permutations. If not configured perm is used by default. If perm is specified with this flag you merge the permutations.-prefixes
mdboolnoExtract 'previous' domains and subdomains from subdomains found in the list 'sub'.-md
advboolnoAdvanced option. Generate permutations words with subdomains and words with -. And joins permutation word in the back (depth 1).-adv
mindupboolnoSet this flag to minimize duplicates. (For heavy workloads, it is recommended to activate this flag).-mindup
fastboolnoDon't check to root domains (Take care with your scope)-fast
silentboolnoGotator banner is not displayed.-silent
tuintnoMax Go routines (Default 100). Note: Data is painted by the console, threads may increase processing time-t 200
versionboolnoShow Gotator version-version

👾 Usage

gotator -sub domains.txt -perm permutations.txt -depth 2 -numbers 5 > output.txt

To filter the result and remove possible duplicates:

gotator -sub domains.txt -perm permutations.txt -depth 3 -numbers 10 -md | uniq > output2.txt

Change uniq to sort -u of the previous command if you want to sort them. (Not recommended due to time)

Note: If you are compiling locally don't forget the ./ in front of your binary!

🚀 Examples

Note: The examples may correspond to earlier versions (where -mindup and adv were not used).

We have the following lists:

image

In the first example we mutate on the specified subdomain

image

In the following example we instruct Gotator to extract possible domains from the subdomains with -md:

image

You can see that example.com is taken into account. Now an example with a list of permutations containing test100demo and we give it the argument -numbers 3:

image

It is possible to see a greater mutation depth and also specify the prefixes parameter (which adds a small mutation list).

image

The last example shows only part of the output.

Finally, an example with silent mode and different depths with output redirection to a file.

image

👉 Disclaimer

This tool can generate huge size files and some duplicates, we encourage to filter the output with uniq or sort -u and take care of depth flag due to the size output (it's easy to generate files > 10 GB). Keep in mind piped output to other tools requires the tool processing the whole output at once (sort, uniq).

# Filter output by size
gotator -sub subs.txt -perm perm.txt -depth 2 -numbers 5 -md | head -c 1G > output1G.txt

# Filter output by lines
gotator -sub subs.txt -perm perm.txt -depth 3 -mindup -numbers 20 | head -n 100000 > output100Klines.txt

# Sort unique lines
gotator -sub subs.txt -perm perm.txt -depth 2 -mindup -numbers 10 -prefixes | sort -u > outputSortUnique.txt

# Unique lines (only removes duplicate lines that follow each other) 
gotator -sub subs.txt -perm perm.txt -depth 3 -mindup | uniq > outputUnique.txt

# Unique lines 
gotator -sub subs.txt -perm perm.txt -depth 3 -mindup -adv | anew > outputAnew.txt

# Sort unique with limit size
gotator -sub subs.txt -perm perm.txt -prefixes -adv | head -c 1G | sort -u > output1GSortedUnique.txt

Note: Examples have been given using sort -u, that will slow down the generation of results. There is no need to sort the results, it is recommended to use anew.

Notice: This tool generates a lot of output information, it is recommended to use the mindup flag to reduce the number of lines.