Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

フィードお問い合わせプライバシー© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
domainim — 高速かつ包括的な組織ネットワークスキャンツール | Kitploit
ツール/GitHubGitHub/pptx704/domainim
OSINT (オープンソースインテリジェンス)偵察ネットワークマッピングポートスキャンDNSおよびサブドメイン列挙情報収集ペネトレーションテストDNS分析
GitHubpptx704/domainim

domainim

高速かつ包括的な組織ネットワークスキャンツール

リポジトリを見る
13813474日前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

DOMAINIM

機能 • 使用方法 • インストール • 使用方法 • コントリビューション • 補足事項

Domainim は、組織のネットワークスキャン向けの高速なドメイン偵察ツールです。本ツールは、OSINT、ブルートフォース、DNS 解決などの手法を用いて、組織の構造の概要を提供することを目的としています。

機能

現在の機能 (v1.3.0)-

  • サブドメイン列挙 (6 つのエンジン + ブルートフォース)。エンジンは同時に問い合わせられます-
    • dnsdumpster.com
    • crt.sh
    • anubisdb.com
    • hackertarget.com
    • certspotter.com
    • rapiddns.io
  • ユーザーフレンドリーな出力
  • A レコードの解決 (IPv4)

  • バーチャルホスト名の列挙

  • 逆引き DNS ルックアップ

  • ワイルドカードサブドメインを検出します。ワイルドカード IP のみに解決されるパッシブな結果は、TLS 証明書で確認されていない限り非表示になります。ブルートフォースは --force-brute で強制でき、その場合ワイルドカード IP のみに解決される結果は破棄されます

  • 基本的な TCP ポートスキャン

  • サブドメインを入力として受け付けます

  • 結果を JSON ファイルにエクスポート

一部の機能は開発中です。詳細は予定されている機能を参照してください。

本プロジェクトは Sublist3r に触発されています。ポートスキャナモジュールは NimScan に大きく基づいています。

インストール

このリポジトリはソースからビルドできます-

  • リポジトリをクローンする
git clone [email protected]:pptx704/domainim
  • バイナリをビルドする
nimble build
  • バイナリを実行する
./domainim <domain> [--ports=<ports>]

または、リリースページからバイナリをダウンロードするだけでも構いません。バイナリはDebianベースのシステムでのみテストされていることにご注意ください。

使用方法

./domainim <domain> [--ports=<ports> | -p:<ports>] [--wordlist=<filename> | -l:<filename> [--rps=<int> | -r:<int>] [--force-brute | -f]] [--dns=<dns> | -d:<dns>] [--out=<filename> | -o:<filename>]
  • <domain> は列挙対象のドメインです。サブドメインを指定することもできます。
  • -- ports | -p はスキャンするポートを指定する文字列です。以下のいずれかを指定できます-
    • all - すべてのポートをスキャンします (1-65535)
    • none - ポートスキャンをスキップします (デフォルト)
    • t<n> - 最も一般的な上位 n 個のポートをスキャンします (nmap と同じ)。例: t100 は上位 100 個のポートをスキャンします。最大値は 5000 です。n が 5000 より大きい場合は 5000 に設定されます。
    • 単一値 - 単一のポートをスキャンします。例: 80 はポート 80 をスキャンします
    • 範囲値 - ポートの範囲をスキャンします。例: 80-100 はポート 80 から 100 をスキャンします
    • カンマ区切り値 - 複数のポートをスキャンします。例: 80,443,8080 はポート 80、443、8080 をスキャンします
    • 組み合わせ - 上記の組み合わせをスキャンします。例: 80,443,8080-8090,t500 はポート 80、443、8080 から 8090、および上位 500 個のポートをスキャンします
  • --dns | -d は DNS サーバーのアドレスです。有効な IPv4 アドレスである必要があり、オプションでポート番号を含めることができます-
    • a.b.c.d - a.b.c.d のポート 53 の DNS サーバーを使用します
    • a.b.c.d#n - a.b.c.d のポート n の DNS サーバーを使用します
  • --wordlist | -l - ワードリストファイルへのパス。これはサブドメインのブルートフォースに使用されます。ファイルが無効な場合、ブルートフォースはスキップされます。空行および # で始まる行は無視されます。ワードリストは SecLists から取得できます。ワードリストはリリースページでも提供されています。
  • --force-brute | -f - ワイルドカードレコードが見つかった場合でもブルートフォースを実行します。ワイルドカード IP のみに解決されるサブドメインは破棄されます。
  • --rps | -r - ブルートフォース中に 1 秒あたりに行うリクエスト数。デフォルト値は 1024 req/s です。DNS クエリはバッチで行われ、前のバッチが完了した後にのみ次のバッチが行われることに注意してください。クエリはレート制限される可能性があるため、値を増やしても常に高速な結果が保証されるわけではありません。
  • --out | -o - 出力ファイルへのパス。出力は JSON 形式で保存されます。ファイル名は .json で終わる必要があります。

例

  • ./domainim nmap.org --ports=all
  • ./domainim google.com --ports=none --dns=8.8.8.8#53
  • ./domainim pptx704.com --ports=t100 --wordlist=wordlist.txt --rps=1500
  • ./domainim pptx704.com --ports=t100 --wordlist=wordlist.txt --out=results.json
  • ./domainim nmap.org --wordlist=wordlist.txt --force-brute
  • ./domainim mysite.com --ports=t50,5432,7000-9000 --dns=1.1.1.1

ヘルプメニューは ./domainim --help または ./domainim -h を使用してアクセスできます。

Usage:
    domainim <domain> [--ports=<ports> | -p:<ports>] [--wordlist=<filename> | -l:<filename> [--rps=<int> | -r:<int>] [--force-brute | -f]] [--dns=<dns> | -d:<dns>] [--out=<filename> | -o:<filename>]
    domainim (-h | --help)

Options:
    -h, --help              Show this screen.
    -p, --ports             Ports to scan. [default: `none`]
                            Can be `all`, `none`, `t<n>`, single value, range value, combination
    -l, --wordlist          Wordlist for subdomain bruteforcing. Bruteforcing is skipped for invalid file.
    -f, --force-brute       Bruteforce even if a wildcard record is found. Results resolving only to wildcard IPs are discarded.
    -d, --dns               IP and Port for DNS Resolver. Should be a valid IPv4 with an optional port [default: system default]
    -r, --rps               DNS queries to be made per second [default: 1024 req/s]
    -o, --out               JSON file where the output will be saved. Filename must end with `.json`

Examples:
    domainim domainim.com -p:t500 -l:wordlist.txt --dns:1.1.1.1#53 --out=results.json
    domainim sub.domainim.com --ports=all --dns:8.8.8.8 -l:wordlist.txt -r:1500 -f -o:results.json

結果の JSON スキーマは次のとおりです-

[
  {
    "subdomain": string,
    "data": [
      {
        "ipv4": string,
        "vhosts": [string],
        "reverse_dns": string,
        "ports": [int]
      }
    ]
  }
]

nmap.org の JSON 例はこちらにあります。

コントリビューション

コントリビューションを歓迎します。お気軽にプルリクエストや issue を作成してください。

予定されている機能

  • TCP ポートスキャン
  • UDP ポートスキャンのサポート
  • AAAA レコードの解決(IPv6)
  • カスタム DNS サーバー
  • ワードリストを使用したサブドメインのブルートフォースの追加
  • 強制ブルートフォース(ワイルドカードサブドメインが見つかった場合でも実行)
  • サブドメイン列挙のためのエンジンの追加
  • ファイル出力(JSON)
  • 複数ドメインの列挙
  • ディレクトリおよびファイルの探索

その他

  • エラー発生時の詳細出力の更新(v0.2.0)
  • 長時間の処理におけるプログレスバーの表示
  • 個別ポートスキャンのプログレスバーの追加
  • テストの追加
  • コメントと docstring の追加

補足

このプロジェクトはまだ初期段階です。私が認識しているいくつかの制限があります。

私が使用しているエンジン(Sublist3r がそう呼んでいるため、エンジンと呼んでいます)は無料のキー不要サービスであり、ほとんどに何らかの応答制限があります。dnsdumpster は無料ユーザーに対して最大 50 個のサブドメインを返し、rapiddns は約 100 個を返します。hackertarget は IP ごとに 1 日あたり数回のクエリのみを許可し、certspotter は現在有効な証明書のみを返します。crt.sh は結果が多すぎる場合に結果をランダム化し、頻繁に過負荷になります(HTTP 502)。そのため、一部のドメインでは実行ごとに結果が異なる場合があります。失敗したエンジンは報告されてスキップされ、スキャンが停止することはありません。パッシブソースには、古い名前やワイルドカードによって生成された名前が含まれている場合もあります。

すべての IP は単一のイベントループ上で並行してポートスキャンされます(同時接続試行は最大 4096、開始は毎秒 5000 までなので、ローカルおよびルーターのキューが SYN パケットを破棄しません)。ping に応答しないホストはスキャンされません。ポートスキャナーのタイムアウトは ping 応答時間 + 750ms のみです。これにより偽陰性が発生する可能性があります。domainim はポートスキャン用ではなく、迅速な概要を提供することを目的としているため、そのようなケースは許容されます。ただし、タイムアウトを増やすためのフラグを追加する予定です。同じ理由で、フィルタリングされたポートは表示されません。より包括的なポートスキャンには Nmap の使用をお勧めします。Domainim はレート制限(存在する場合)も回避しません。

vhostname の出力方法は、単に繰り返しを生み出しているように見えるかもしれません。

次のように出力する方が良かったかもしれません-

ack.nmap.org, issues.nmap.org, nmap.org, research.nmap.org, scannme.nmap.org, svn.nmap.org, www.nmap.org
  ↳ 45.33.49.119
    ↳ Reverse DNS: ack.nmap.org. 

しかし以前のテスト中に、すべての IP が同じ vhostname の集合によって共有されているわけではないケースを発見しました。そのため、このままの形にすることにしました。

DNS サーバーには何らかのレート制限があるかもしれません。そのため、クエリごとの IPv4 解決にランダムな遅延(0〜300ms)を追加しました。これは DNS サーバーがすべてのクエリを一度に受け取るのではなく、より自然な形で受け取るようにするためです。ブルートフォース方式では、デフォルトで 0〜1000ms の値になりますが、--rps | -r フラグで変更できます。

私を悩ませている特定の制限の一つは、DNS リゾルバがドメインのすべての IP を返すわけではないことです。そのため、すべて(または大部分)の IP を取得するには複数のクエリを実行する必要があります。しかしまた、ドメインにいくつの IP が存在するかを知ることはできません。これについてはまだ解決策を考える必要があります。CNAME レコードを持つドメインは、CNAME ターゲットの IPv4 アドレスに解決されます。

ツールをダウンロード