
Gotator ist ein Tool zum Generieren von DNS-Wortlisten durch Permutationen.
Gotator ist ein Werkzeug zur Generierung von DNS-Wortlisten durch Permutationen.
Wenn Sie lokal Änderungen vornehmen und es kompilieren möchten, befolgen Sie die nachstehenden Anweisungen:
> git clone https://github.com/Josue87/gotator.git
> cd gotator
> go build
Wenn Sie nur das Programm nutzen möchten:
> 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 [...]
Hinweis Wenn Sie Version 1.16 oder höher verwenden und Fehler auftreten, führen Sie den folgenden Befehl aus:
> go env -w GO111MODULE="auto"
Um die Version zu aktualisieren, fügen Sie den -u-Parameter zum Installationsbefehl hinzu.
Gotator bietet die folgenden Funktionen für die Permutation:
example.com, example.com.mx, etc.).-numbers 3], als Ergebnis erhalten wir Werte zwischen 7 und 13.-numbers 3], wir sehen dev0, dev1, dev2, dev3 und dev4 (negative Zahlen werden vermieden).test10-demo2 und das Zahlen-Flag ist auf 1 gesetzt [-numbers 1], unter den Ergebnissen sehen wir test11-demo2.example.com, test9-demo2.example.com, test10-demo3.example.com oder test10-demo1.example.com. (Es ändert sich immer nur eine Zahl gleichzeitig).test auf zu permutieren, erhalten wir .Die Flags, die zum Starten des Tools verwendet werden können:
gotator -sub domains.txt -perm permutations.txt -depth 2 -numbers 5 > output.txt
Um das Ergebnis zu filtern und mögliche Duplikate zu entfernen:
gotator -sub domains.txt -perm permutations.txt -depth 3 -numbers 10 -md | uniq > output2.txt
Ersetzen Sie uniq durch sort -u im vorherigen Befehl, wenn Sie sie sortieren möchten. (Nicht empfohlen wegen der Zeit)
Hinweis: Wenn Sie lokal kompilieren, vergessen Sie nicht das ./ vor Ihrer Binärdatei!
Hinweis: Die Beispiele können sich auf frühere Versionen beziehen (in denen -mindup und adv nicht verwendet wurden).
Wir haben die folgenden Listen:

Im ersten Beispiel mutieren wir auf der angegebenen Subdomain

Im folgenden Beispiel weisen wir Gotator an, mögliche Domains aus den Subdomains mit -md zu extrahieren:

Sie sehen, dass example.com berücksichtigt wird. Nun ein Beispiel mit einer Permutationsliste, die test100demo enthält, und wir übergeben das Argument -numbers 3:

Es ist möglich, eine größere Mutationsstiefe zu sehen und auch den prefix-Parameter anzugeben (der eine kleine Mutationsliste hinzufügt).

Das letzte Beispiel zeigt nur einen Teil der Ausgabe.
Schließlich ein Beispiel mit Silent-Modus und verschiedenen Tiefen mit Ausgabeumleitung in eine Datei.

Dieses Tool kann sehr große Dateien und einige Duplikate erzeugen, wir empfehlen, die Ausgabe mit uniq oder sort -u zu filtern und auf das depth-Flag zu achten, da die Ausgabegröße (es können leicht Dateien > 10 GB erzeugt werden). Beachten Sie, dass die Weiterleitung an andere Tools erfordert, dass das Tool die gesamte Ausgabe auf einmal verarbeitet (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
Hinweis: Die Beispiele wurden mit sort -u gegeben, was die Generierung der Ergebnisse verlangsamt. Es besteht keine Notwendigkeit, die Ergebnisse zu sortieren, es wird empfohlen, anew zu verwenden.
Hinweis: Dieses Tool erzeugt viele Ausgabeinformationen, es wird empfohlen, das mindup-Flag zu verwenden, um die Anzahl der Zeilen zu reduzieren.
example.comtest.example.comdev und demo auf example.com permutieren müssen, erhalten wir dev.demo.example.com oder demo-dev.example.com zusätzlich zu demo.example.com und dev.example.com. Tiefenstufe 3 ist eine Erweiterung dieses Beispiels.-mindup-Flag können Sie Duplikate kontrollieren und reduzieren (aufgrund der hohen Anzahl generierter Zeilen ist das Ziel hier, die Domains mit nahezu null Existenzwahrscheinlichkeit so weit wie möglich zu reduzieren):
test.example.com haben und die nächste Permutation wieder test ist, wird sie ignoriert.testing.example.com haben und test auftaucht, wird test beim Abgleich mit . und - verbunden, wodurch testtesting.example.com vermieden wird.100.example.com haben und es 90 zum Permutieren erhält, wird die Permutation ignoriert, da es bereits eine Zahlenpermutationsfunktion gibt.adv-Flag:
demo210.example.com, holen wir den Wert demo210 und fügen ihn der Permutationsliste hinzu. Wenn wir test-dev.domain.com haben, fügen wir test-dev, test und dev zur Permutationsliste hinzu (nur wenn sie nicht bereits in der Liste sind).demo-test erhält, fügt es demo-test, demo und test zur Liste hinzu.tech.example.com ist und die Permutation test ist, tauschen wir auch die Position für die Permutation „-“ und "" und erhalten Ergebnisse wie techtest.example.com und tech-test.example.com (siehe Beispiel 1).dev.tech.example.com ist, wird es als Ziel tech.example.com und example.com hinzugefügt [-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 | Typ | Erforderlich | Beschreibung | Beispiel |
|---|
| sub | string | ja | Liste der zu tauschenden Domains. | -sub subdomains.txt |
| perm | string | nein | Liste der Permutationen. | -perm permutations.txt |
| depth | uint | nein | Konfiguriert die Tiefe (zwischen 1 und 3) - Standard 1. | -depth 2 |
| numbers | uint | nein | Konfiguriert die Anzahl der Iterationen für die in den Permutationen gefundenen Zahlen (auf und ab). Standard 0 Überspringen!. Diese Option beeinträchtigt die Leistung, verwenden Sie kleine Zahlen. | -numbers 10 |
| prefixes | bool | nein | Fügt die Standard-Gotator-Präfixe zu den Permutationen hinzu. Wenn nicht konfiguriert, wird perm standardmäßig verwendet. Wenn perm mit diesem Flag angegeben wird, werden die Permutationen zusammengeführt. | -prefixes |
| md | bool | nein | Extrahiert ‚vorherige‘ Domains und Subdomains aus den in der Liste ‚sub‘ gefundenen Subdomains. | -md |
| adv | bool | nein | Erweiterte Option. Generiert Permutationswörter mit Subdomains und Wörtern mit -. Und hängt das Permutationswort hinten an (Tiefe 1). | -adv |
| mindup | bool | nein | Setzen Sie dieses Flag, um Duplikate zu minimieren. (Bei schweren Arbeitslasten wird empfohlen, dieses Flag zu aktivieren). | -mindup |
| fast | bool | nein | Überprüft keine Root-Domains (Achten Sie auf Ihren Umfang). | -fast |
| silent | bool | nein | Gotator-Banner wird nicht angezeigt. | -silent |
| t | uint | nein | Maximale Go-Routinen (Standard 100). Hinweis: Daten werden über die Konsole ausgegeben, Threads können die Verarbeitungszeit erhöhen. | -t 200 |
| version | bool | nein | Zeigt die Gotator-Version an. | -version |