
Gotator est un outil pour générer des listes de mots DNS via des permutations.
Gotator est un outil pour générer des listes de mots DNS via des permutations.
Si vous souhaitez effectuer des modifications localement et le compiler, suivez les instructions ci-dessous :
> git clone https://github.com/Josue87/gotator.git
> cd gotator
> go build
Si vous êtes uniquement intéressé par l'utilisation du programme :
> go install github.com/Josue87/gotator@latest
🐳 Option Docker :
> git clone https://github.com/Josue87/gotator.git
> cd gotator
> docker build -t gotator .
# Utilisation
> docker run gotator -sub subdomains.txt [...]
Remarque Si vous utilisez la version 1.16 ou supérieure et que vous rencontrez des erreurs, exécutez la commande suivante :
> go env -w GO111MODULE="auto"
Pour mettre à niveau la version, ajoutez le paramètre -u à la commande d'installation.
Gotator dispose des fonctionnalités suivantes pour la permutation :
example.com, example.com.mx, etc.).-numbers 3], en résultat nous aurons entre 7 et 13.-numbers 3], nous verrons dev0, dev1, dev2, dev3 et dev4 (en évitant les nombres négatifs).test10-demo2 et le flag numbers est défini à 1 [-numbers 1], parmi les résultats nous verrons test11-demo2.example.com, test9-demo2.example.com, test10-demo3.example.com ou test10-demo1.example.com. (Un seul nombre change à la fois).test sur , nous obtiendrons .Les flags qui peuvent être utilisés pour lancer l'outil :
gotator -sub domains.txt -perm permutations.txt -depth 2 -numbers 5 > output.txt
Pour filtrer le résultat et supprimer les doublons éventuels :
gotator -sub domains.txt -perm permutations.txt -depth 3 -numbers 10 -md | uniq > output2.txt
Remplacez uniq par sort -u dans la commande précédente si vous souhaitez les trier. (Déconseillé en raison du temps)
Remarque : Si vous compilez localement, n'oubliez pas le ./ devant votre binaire !
Remarque : Les exemples peuvent correspondre à des versions antérieures (où -mindup et adv n'étaient pas utilisés).
Nous avons les listes suivantes :

Dans le premier exemple, nous mutons sur le sous-domaine spécifié

Dans l'exemple suivant, nous demandons à Gotator d'extraire les domaines possibles à partir des sous-domaines avec -md :

Vous pouvez voir que example.com est pris en compte. Maintenant un exemple avec une liste de permutations contenant test100demo et nous donnons l'argument -numbers 3 :

Il est possible de voir une plus grande profondeur de mutation et également de spécifier le paramètre prefixes (qui ajoute une petite liste de mutations).

Le dernier exemple montre uniquement une partie de la sortie.
Enfin, un exemple avec le mode silencieux et différentes profondeurs avec redirection de la sortie vers un fichier.

Cet outil peut générer des fichiers de très grande taille et des doublons, nous vous encourageons à filtrer la sortie avec uniq ou sort -u et à faire attention au flag depth en raison de la taille de la sortie (il est facile de générer des fichiers > 10 GB). Gardez à l'esprit que la sortie canalisée vers d'autres outils nécessite que l'outil traite l'ensemble de la sortie en une seule fois (sort, uniq).
# Filtrer la sortie par taille
gotator -sub subs.txt -perm perm.txt -depth 2 -numbers 5 -md | head -c 1G > output1G.txt
# Filtrer la sortie par lignes
gotator -sub subs.txt -perm perm.txt -depth 3 -mindup -numbers 20 | head -n 100000 > output100Klines.txt
# Trier les lignes uniques
gotator -sub subs.txt -perm perm.txt -depth 2 -mindup -numbers 10 -prefixes | sort -u > outputSortUnique.txt
# Lignes uniques (supprime uniquement les lignes en double qui se suivent)
gotator -sub subs.txt -perm perm.txt -depth 3 -mindup | uniq > outputUnique.txt
# Lignes uniques
gotator -sub subs.txt -perm perm.txt -depth 3 -mindup -adv | anew > outputAnew.txt
# Trier unique avec limite de taille
gotator -sub subs.txt -perm perm.txt -prefixes -adv | head -c 1G | sort -u > output1GSortedUnique.txt
Remarque : Des exemples ont été donnés en utilisant sort -u, ce qui ralentira la génération des résultats. Il n'est pas nécessaire de trier les résultats, il est recommandé d'utiliser anew.
Avis : Cet outil génère beaucoup d'informations en sortie, il est recommandé d'utiliser le flag mindup pour réduire le nombre de lignes.
example.comtest.example.comdev et demo sur example.com, nous obtiendrons dev.demo.example.com ou demo-dev.example.com en plus de demo.example.com et dev.example.com. Le niveau de profondeur 3 est une extension de cet exemple.-mindup, vous pouvez contrôler et réduire les doublons (en raison du nombre élevé de lignes générées, l'objectif ici est de réduire autant que possible les domaines avec des probabilités quasi nulles d'exister) :
test.example.com et que la prochaine permutation sera à nouveau test, elle est ignorée.testing.example.com et que test apparaît, lors de la correspondance de test, il sera joint avec . et -, évitant ainsi testtesting.example.com100.example.com et qu'il obtient 90 à permuter, la permutation est ignorée car elle possède déjà une fonctionnalité de permutation de nombres.adv :
demo210.example.com, nous obtenons la valeur demo210 et l'ajoutons à la liste des permutations. Si nous avons test-dev.domain.com, alors nous ajoutons aux permutations test-dev, test et dev (uniquement s'ils ne sont pas déjà dans la liste).demo-test, il ajoute demo-test, demo et test à la liste.tech.example.com et que la permutation est test, nous échangeons également la position pour la permutation "-" et "", obtenant des résultats tels que techtest.example.com et tech-test.example.com (voir exemple 1).dev.tech.example.com, elle sera ajoutée comme cible tech.example.com et 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 | Obligatoire | Description | Exemple |
|---|
| sub | string | oui | Liste des domaines à échanger. | -sub subdomains.txt |
| perm | string | non | Liste des permutations. | -perm permutations.txt |
| depth | uint | non | Configure la profondeur (entre 1 et 3) - Par défaut 1. | -depth 2 |
| numbers | uint | non | Configure le nombre d'itérations pour les nombres trouvés dans les permutations (vers le haut et vers le bas). Par défaut 0 Ignorer ! Cette option pénalise les performances, utilisez de petits nombres | -numbers 10 |
| prefixes | bool | non | Ajout des préfixes par défaut de gotator aux permutations. Si non configuré, perm est utilisé par défaut. Si perm est spécifié avec ce flag, vous fusionnez les permutations. | -prefixes |
| md | bool | non | Extraire les domaines et sous-domaines 'antérieurs' des sous-domaines trouvés dans la liste 'sub'. | -md |
| adv | bool | non | Option avancée. Génère des mots de permutation avec des sous-domaines et des mots avec -. Et joint le mot de permutation à la fin (profondeur 1). | -adv |
| mindup | bool | non | Activez ce flag pour minimiser les doublons. (Pour les charges de travail lourdes, il est recommandé d'activer ce flag). | -mindup |
| fast | bool | non | Ne vérifie pas les domaines racines (Attention à votre périmètre) | -fast |
| silent | bool | non | La bannière de Gotator ne s'affiche pas. | -silent |
| t | uint | non | Nombre maximum de goroutines (Par défaut 100). Remarque : Les données sont affichées sur la console, les threads peuvent augmenter le temps de traitement | -t 200 |
| version | bool | non | Affiche la version de Gotator | -version |