
Gotator é uma ferramenta para gerar wordlists de DNS através de permutações.
Gotator é uma ferramenta para gerar wordlists de DNS através de permutações.
Se você quiser fazer modificações localmente e compilá-lo, siga as instruções abaixo:
> git clone https://github.com/Josue87/gotator.git
> cd gotator
> go build
Se você está interessado apenas em usar o programa:
> go install github.com/Josue87/gotator@latest
🐳 Docker opção:
> git clone https://github.com/Josue87/gotator.git
> cd gotator
> docker build -t gotator .
# Uso
> docker run gotator -sub subdomains.txt [...]
Nota Se você estiver usando a versão 1.16 ou superior e tiver algum erro, execute o seguinte comando:
> go env -w GO111MODULE="auto"
Para atualizar a versão, adicione o parâmetro -u ao comando de instalação.
Gotator possui as seguintes funcionalidades para permutação:
example.com, example.com.mx, etc.).-numbers 3], como resultado teremos entre 7 e 13.-numbers 3], veremos dev0, dev1, dev2, dev3 e dev4 (evitando números negativos).test10-demo2 e a flag numbers está definida para 1 [-numbers 1], entre os resultados veremos test11-demo2.example.com, test9-demo2.example.com, test10-demo3.example.com ou test10-demo1.example.com. (Apenas um número muda por vez).test em , obteremos .As flags que podem ser usadas para executar a ferramenta:
gotator -sub domains.txt -perm permutations.txt -depth 2 -numbers 5 > output.txt
Para filtrar o resultado e remover possíveis duplicatas:
gotator -sub domains.txt -perm permutations.txt -depth 3 -numbers 10 -md | uniq > output2.txt
Substitua uniq por sort -u do comando anterior se quiser ordená-los. (Não recomendado devido ao tempo)
Nota: Se você estiver compilando localmente, não se esqueça do ./ na frente do seu binário!
Nota: Os exemplos podem corresponder a versões anteriores (onde -mindup e adv não eram usados).
Temos as seguintes listas:

No primeiro exemplo, mutamos no subdomínio especificado

No exemplo a seguir, instruímos Gotator a extrair possíveis domínios dos subdomínios com -md:

Você pode ver que example.com é levado em consideração. Agora um exemplo com uma lista de permutações contendo test100demo e damos o argumento -numbers 3:

É possível ver uma profundidade de mutação maior e também especificar o parâmetro prefixes (que adiciona uma pequena lista de mutação).

O último exemplo mostra apenas parte da saída.
Finalmente, um exemplo com modo silencioso e diferentes profundidades com redirecionamento de saída para um arquivo.

Esta ferramenta pode gerar arquivos de tamanho enorme e algumas duplicatas, recomendamos filtrar a saída com uniq ou sort -u e tomar cuidado com a flag depth devido ao tamanho da saída (é fácil gerar arquivos > 10 GB). Lembre-se de que a saída canalizada para outras ferramentas exige que a ferramenta processe toda a saída de uma só vez (sort, uniq).
# Filtrar saída por tamanho
gotator -sub subs.txt -perm perm.txt -depth 2 -numbers 5 -md | head -c 1G > output1G.txt
# Filtrar saída por linhas
gotator -sub subs.txt -perm perm.txt -depth 3 -mindup -numbers 20 | head -n 100000 > output100Klines.txt
# Linhas únicas ordenadas
gotator -sub subs.txt -perm perm.txt -depth 2 -mindup -numbers 10 -prefixes | sort -u > outputSortUnique.txt
# Linhas únicas (remove apenas linhas duplicadas consecutivas)
gotator -sub subs.txt -perm perm.txt -depth 3 -mindup | uniq > outputUnique.txt
# Linhas únicas
gotator -sub subs.txt -perm perm.txt -depth 3 -mindup -adv | anew > outputAnew.txt
# Linhas únicas ordenadas com limite de tamanho
gotator -sub subs.txt -perm perm.txt -prefixes -adv | head -c 1G | sort -u > output1GSortedUnique.txt
Nota: Exemplos foram dados usando sort -u, isso irá diminuir a geração de resultados. Não há necessidade de ordenar os resultados, é recomendado usar anew.
Aviso: Esta ferramenta gera muita informação de saída, é recomendado usar a flag mindup para reduzir o número de linhas.
example.comtest.example.comdev e demo em example.com, obteremos dev.demo.example.com ou demo-dev.example.com além de demo.example.com e dev.example.com. O nível de profundidade 3 é uma extensão deste exemplo.-mindup você pode controlar e reduzir duplicatas (devido ao alto número de linhas geradas, o objetivo aqui é reduzir ao máximo os domínios com probabilidade quase nula de existir):
test.example.com e a próxima permutação for test novamente, ela é ignorada.testing.example.com e test aparecer, ao combinar test ele será unido com . e -, evitando testtesting.example.com100.example.com e ele receber 90 para permutar, a permutação é ignorada pois já possui uma funcionalidade de permutação de números.adv:
demo210.example.com, obtemos o valor demo210 e o adicionamos à lista de permutações. Se tivermos test-dev.domain.com, então adicionamos às permutações test-dev, test e dev (apenas se eles ainda não estiverem na lista).demo-test, ele adiciona demo-test, demo e test à lista.tech.example.com e a permutação for test, também trocamos a posição para a permutação "-" e "", obtendo resultados como techtest.example.com e tech-test.example.com (veja o exemplo 1).dev.tech.example.com, ele será adicionado como alvo tech.example.com e 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.| Flag | Type | Mandatory | Description | Example |
|---|
| sub | string | sim | Lista de domínios a serem trocados. | -sub subdomains.txt |
| perm | string | não | Lista de permutações. | -perm permutations.txt |
| depth | uint | não | Configura a profundidade (Entre 1 e 3) - Padrão 1. | -depth 2 |
| numbers | uint | não | Configura o número de iterações para os números encontrados nas permutações (para cima e para baixo). Padrão 0 Pular!. Esta opção penaliza o desempenho, use números pequenos | -numbers 10 |
| prefixes | bool | não | Adiciona os prefixos padrão do gotator às permutações. Se não configurado, perm é usado por padrão. Se perm for especificado com esta flag, você mescla as permutações. | -prefixes |
| md | bool | não | Extrai domínios 'anteriores' e subdomínios dos subdomínios encontrados na lista 'sub'. | -md |
| adv | bool | não | Opção avançada. Gera palavras de permutação com subdomínios e palavras com -. E une a palavra de permutação na parte de trás (depth 1). | -adv |
| mindup | bool | não | Defina esta flag para minimizar duplicatas. (Para cargas de trabalho pesadas, recomenda-se ativar esta flag). | -mindup |
| fast | bool | não | Não verificar domínios raiz (Cuidado com seu escopo) | -fast |
| silent | bool | não | O banner do Gotator não é exibido. | -silent |
| t | uint | não | Máximo de Go routines (Padrão 100). Nota: Os dados são exibidos no console, threads podem aumentar o tempo de processamento | -t 200 |
| version | bool | não | Mostra a versão do Gotator | -version |