
Gotatorは、パーミュテーションを通じてDNSワードリストを生成するツールです。
Gotatorは、パーミュテーションによってDNSワードリストを生成するツールです。
ローカルで変更を加えてコンパイルする場合は、以下の手順に従ってください:
> git clone https://github.com/Josue87/gotator.git
> cd gotator
> go build
プログラムのみを使用する場合:
> go install github.com/Josue87/gotator@latest
🐳 Docker オプション:
> git clone https://github.com/Josue87/gotator.git
> cd gotator
> docker build -t gotator .
# 使用方法
> docker run gotator -sub subdomains.txt [...]
注意 バージョン1.16以上を使用していてエラーが発生した場合は、以下のコマンドを実行してください:
> go env -w GO111MODULE="auto"
バージョンをアップグレードするには、インストールコマンドに -u パラメータを追加してください。
Gotator には、パーミュテーションのための以下の機能があります:
example.com、example.com.mxなど)。-numbers 3]、結果として7から13の間になります。-numbers 3]、dev0、dev1、dev2、dev3、dev4が表示されます(負の数は回避されます)。test10-demo2 で、numbersフラグが1に設定されている場合 [-numbers 1]、結果の一部として test11-demo2.example.com、test9-demo2.example.com、test10-demo3.example.com または test10-demo1.example.com が表示されます。(一度に1つの数字のみが変わります)。test という単語を example.com に対してパーミュテーションすると、 が得られます。ツールの起動に使用できるフラグ:
gotator -sub domains.txt -perm permutations.txt -depth 2 -numbers 5 > output.txt
結果をフィルタリングし、重複を除去する場合:
gotator -sub domains.txt -perm permutations.txt -depth 3 -numbers 10 -md | uniq > output2.txt
前のコマンドの uniq を sort -u に変更すると、ソートも行われます。(時間がかかるため非推奨)
注意: ローカルでコンパイルする場合は、バイナリの前に ./ を忘れないでください!
注意: これらの例は以前のバージョン(-mindup や adv が使用されていなかった頃)に該当する場合があります。
以下のリストがあるとします:

最初の例では、指定されたサブドメインに対して変異を行います。

次の例では、Gotatorに -md を使用してサブドメインから可能なドメインを抽出するよう指示します:

example.com が考慮されていることがわかります。次に、test100demo を含むパーミュテーションリストを使用し、-numbers 3 を指定した例:

より深い変異と、prefixesパラメータの指定(小さな変異リストを追加)が可能です。

最後の例では、出力の一部のみを示しています。
最後に、サイレントモードと異なる深さでの例、出力をファイルにリダイレクトしたものです。

このツールは非常に大きなサイズのファイルやいくつかの重複を生成する可能性があります。出力を uniq や sort -u でフィルタリングし、depth フラグには注意してください(出力サイズが大きくなり、10 GB を超えるファイルが簡単に生成される可能性があります)。他のツールへのパイプ出力は、ツールが一度に全体の出力を処理する必要があることに注意してください(sort、uniqなど)。
# サイズで出力をフィルタリング
gotator -sub subs.txt -perm perm.txt -depth 2 -numbers 5 -md | head -c 1G > output1G.txt
# 行数で出力をフィルタリング
gotator -sub subs.txt -perm perm.txt -depth 3 -mindup -numbers 20 | head -n 100000 > output100Klines.txt
# ソート・ユニーク行
gotator -sub subs.txt -perm perm.txt -depth 2 -mindup -numbers 10 -prefixes | sort -u > outputSortUnique.txt
# ユニーク行(連続する重複行のみ削除)
gotator -sub subs.txt -perm perm.txt -depth 3 -mindup | uniq > outputUnique.txt
# ユニーク行
gotator -sub subs.txt -perm perm.txt -depth 3 -mindup -adv | anew > outputAnew.txt
# サイズ制限付きソート・ユニーク
gotator -sub subs.txt -perm perm.txt -prefixes -adv | head -c 1G | sort -u > output1GSortedUnique.txt
注: 例では sort -u を使用していますが、これにより結果の生成が遅くなります。結果をソートする必要はなく、anew の使用をお勧めします。
注意: このツールは大量の出力情報を生成するため、mindup フラグを使用して行数を減らすことをお勧めします。
test.example.comdev と demo を example.com に対してパーミュテーションする場合、demo.example.com と dev.example.com に加えて、dev.demo.example.com または demo-dev.example.com が得られます。深さレベル3はこの例の拡張です。-mindup フラグを使用すると、重複を制御・削減できます(生成される行数が膨大になるため、存在する可能性がほぼゼロのドメインを可能な限り減らすことが目的です):
test.example.com があり、次のパーミュテーションが再び test である場合、無視されます。testing.example.com があり、test が来た場合、test と . または - を結合する際に testtesting.example.com を回避します。100.example.com があり、90 をパーミュテーションする場合、既に数値パーミュテーション機能があるため、パーミュテーションは無視されます。adv フラグを使用:
demo210.example.com)について、demo210 の値を取得し、パーミュテーションリストに追加します。test-dev.domain.com がある場合、test-dev、test、dev をパーミュテーションに追加します(まだリストにない場合のみ)。demo-test を受け取った場合、demo-test、demo、test をリストに追加します。tech.example.com でパーミュテーションが test の場合、パーミュテーションの "-" と "" の位置も交換し、techtest.example.com や tech-test.example.com などの結果が得られます(例1を参照)。dev.tech.example.com の場合、ターゲットとして tech.example.com と 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。| フラグ | タイプ | 必須 | 説明 | 例 |
|---|
| sub | string | yes | スワップするドメインのリスト。 | -sub subdomains.txt |
| perm | string | no | パーミュテーションのリスト。 | -perm permutations.txt |
| depth | uint | no | 深さを設定(1〜3)- デフォルト1。 | -depth 2 |
| numbers | uint | no | パーミュテーションで見つかった数値の反復回数を設定(上下)。デフォルト0 スキップ!このオプションはパフォーマンスに影響するため、小さな数値を使用してください | -numbers 10 |
| prefixes | bool | no | デフォルトのgotatorプレフィックスをパーミュテーションに追加。設定しない場合、permがデフォルトで使用されます。このフラグとともにpermが指定された場合、パーミュテーションをマージします。 | -prefixes |
| md | bool | no | 'sub'リスト内のサブドメインから「以前の」ドメインとサブドメインを抽出。 | -md |
| adv | bool | no | 詳細オプション。サブドメインと - を含むパーミュテーションを生成し、パーミュテーションワードを後方に結合(深さ1)。 | -adv |
| mindup | bool | no | このフラグを設定して重複を最小化。(大量のワークロードでは、このフラグを有効にすることを推奨)。 | -mindup |
| fast | bool | no | ルートドメインをチェックしない(スコープに注意)。 | -fast |
| silent | bool | no | Gotatorのバナーを表示しない。 | -silent |
| t | uint | no | 最大Goルーチン数(デフォルト100)。注:データはコンソールに出力されるため、スレッド数が多いと処理時間が増加する可能性があります | -t 200 |
| version | bool | no | Gotatorのバージョンを表示 | -version |