
Gotator es una herramienta para generar listas de palabras DNS mediante permutaciones.
Gotator es una herramienta para generar listas de palabras DNS mediante permutaciones.
Si deseas realizar modificaciones localmente y compilarlo, sigue las instrucciones a continuación:
> git clone https://github.com/Josue87/gotator.git
> cd gotator
> go build
Si solo estás interesado en usar el programa:
> go install github.com/Josue87/gotator@latest
🐳 Opción Docker:
> git clone https://github.com/Josue87/gotator.git
> cd gotator
> docker build -t gotator .
# Usage
> docker run gotator -sub subdomains.txt [...]
Nota Si estás usando la versión 1.16 o superior y tienes algún error, ejecuta el siguiente comando:
> go env -w GO111MODULE="auto"
Para actualizar la versión, añade el parámetro -u al comando de instalación.
Gotator tiene las siguientes características para permutación:
example.com, example.com.mx, etc.).-numbers 3], como resultado tendremos entre 7 y 13.-numbers 3], veremos dev0, dev1, dev2, dev3 y dev4 (evitando números negativos).test10-demo2 y el indicador numbers se establece en 1 [-numbers 1], entre los resultados veremos test11-demo2.example.com, test9-demo2.example.com, test10-demo3.example.com o test10-demo1.example.com. (Solo un número cambia a la vez).test en , obtendremos .Los indicadores que se pueden usar para lanzar la herramienta:
gotator -sub domains.txt -perm permutations.txt -depth 2 -numbers 5 > output.txt
Para filtrar el resultado y eliminar posibles duplicados:
gotator -sub domains.txt -perm permutations.txt -depth 3 -numbers 10 -md | uniq > output2.txt
Cambia uniq por sort -u del comando anterior si quieres ordenarlos. (No recomendado por el tiempo)
Nota: Si estás compilando localmente, ¡no olvides el ./ delante de tu binario!
Nota: Los ejemplos pueden corresponder a versiones anteriores (donde no se usaban -mindup ni adv).
Tenemos las siguientes listas:

En el primer ejemplo mutamos sobre el subdominio especificado

En el siguiente ejemplo le indicamos a Gotator que extraiga posibles dominios de los subdominios con -md:

Puedes ver que example.com se tiene en cuenta. Ahora un ejemplo con una lista de permutaciones que contiene test100demo y le damos el argumento -numbers 3:

Es posible ver una mayor profundidad de mutación y también especificar el parámetro prefixes (que añade una pequeña lista de mutación).

El último ejemplo muestra solo parte de la salida.
Finalmente, un ejemplo con modo silencioso y diferentes profundidades con redirección de salida a un archivo.

Esta herramienta puede generar archivos de gran tamaño y algunos duplicados, recomendamos filtrar la salida con uniq o sort -u y tener cuidado con el indicador depth debido al tamaño de la salida (es fácil generar archivos de más de 10 GB). Ten en cuenta que la salida por tubería a otras herramientas requiere que la herramienta procese toda la salida a la vez (sort, uniq).
# Filtrar salida por tamaño
gotator -sub subs.txt -perm perm.txt -depth 2 -numbers 5 -md | head -c 1G > output1G.txt
# Filtrar salida por líneas
gotator -sub subs.txt -perm perm.txt -depth 3 -mindup -numbers 20 | head -n 100000 > output100Klines.txt
# Ordenar líneas únicas
gotator -sub subs.txt -perm perm.txt -depth 2 -mindup -numbers 10 -prefixes | sort -u > outputSortUnique.txt
# Líneas únicas (solo elimina líneas duplicadas consecutivas)
gotator -sub subs.txt -perm perm.txt -depth 3 -mindup | uniq > outputUnique.txt
# Líneas únicas
gotator -sub subs.txt -perm perm.txt -depth 3 -mindup -adv | anew > outputAnew.txt
# Ordenar único con límite de tamaño
gotator -sub subs.txt -perm perm.txt -prefixes -adv | head -c 1G | sort -u > output1GSortedUnique.txt
Nota: Se han dado ejemplos usando sort -u, eso ralentizará la generación de resultados. No es necesario ordenar los resultados, se recomienda usar anew.
Aviso: Esta herramienta genera mucha información de salida, se recomienda usar el indicador mindup para reducir el número de líneas.
example.comtest.example.comdev y demo en example.com, obtendremos dev.demo.example.com o demo-dev.example.com además de demo.example.com y dev.example.com. El nivel de profundidad 3 es una extensión de este ejemplo.-mindup puedes controlar y reducir duplicados (debido al alto número de líneas generadas, el objetivo aquí es reducir lo máximo posible los dominios con posibilidades casi nulas de existir):
test.example.com y la siguiente permutación será test de nuevo, se ignora.testing.example.com y aparece test, al coincidir test se unirá con . y -, evitando testtesting.example.com100.example.com y obtiene 90 para permutar, la permutación se ignora ya que ya tiene una característica de permutación numérica.adv:
demo210.example.com, obtenemos el valor demo210 y lo añadimos a la lista de permutaciones. Si tenemos test-dev.domain.com entonces añadimos a las permutaciones test-dev, test y dev (solo si no están ya en la lista).demo-test añade demo-test, demo y test a la lista.tech.example.com y la permutación es test, también intercambiamos la posición para la permutación "-" y "", obteniendo resultados como techtest.example.com y tech-test.example.com (ver ejemplo 1).dev.tech.example.com, se añadirá como objetivo tech.example.com y example.com [-md].1rer, 2, 2tty, admin, api, app, bbs, blog, cdn, cloud, cuali, demo, dev, dev2, email, exchange, forum, ftp, gov, govyty, gw, host, m, mail, mail2, mx1, mysql, news, ns, ns1, owa, portal, pre, pro, prod, prueba, qa, remote, secure, server, shop, smtp, store, support, test, test, tty, vpn, vps, web, ww1, ww42, www, www2.| Indicador | Tipo | Obligatorio | Descripción | Ejemplo |
|---|
| sub | string | sí | Lista de dominios a permutar. | -sub subdomains.txt |
| perm | string | no | Lista de permutaciones. | -perm permutations.txt |
| depth | uint | no | Configurar la profundidad (Entre 1 y 3) - Por defecto 1. | -depth 2 |
| numbers | uint | no | Configurar el número de iteraciones para los números encontrados en las permutaciones (arriba y abajo). Por defecto 0 Saltar. Esta opción penaliza el rendimiento, usa números pequeños | -numbers 10 |
| prefixes | bool | no | Añadir los prefijos predeterminados de gotator a las permutaciones. Si no se configura perm se usa por defecto. Si se especifica perm con este indicador, se fusionan las permutaciones. | -prefixes |
| md | bool | no | Extraer dominios y subdominios 'previos' de los subdominios encontrados en la lista 'sub'. | -md |
| adv | bool | no | Opción avanzada. Generar palabras de permutación con subdominios y palabras con -. Y une la palabra de permutación al final (profundidad 1). | -adv |
| mindup | bool | no | Establece este indicador para minimizar duplicados. (Para cargas de trabajo pesadas, se recomienda activar este indicador). | -mindup |
| fast | bool | no | No verificar dominios raíz (Ten cuidado con tu alcance) | -fast |
| silent | bool | no | El banner de Gotator no se muestra. | -silent |
| t | uint | no | Máximo de rutinas Go (Por defecto 100). Nota: Los datos se pintan en la consola, los hilos pueden aumentar el tiempo de procesamiento | -t 200 |
| version | bool | no | Mostrar la versión de Gotator | -version |