Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

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

domainim

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

リポジトリを見る
1381332年前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

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

DOMAINIM

機能 • 使用方法 • インストール • 使い方 • 貢献 • 補足

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

機能

現在の機能(v1.0.1)

  • サブドメイン列挙(2つのエンジン + ブルートフォース)
  • ユーザーフレンドリーな出力
  • A レコード(IPv4)の解決

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

  • リバース DNS ルックアップ

  • ワイルドカードサブドメインの検出(ブルートフォース用)

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

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

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

一部の機能は開発中です。詳細は「計画中の機能」を参照してください。

このプロジェクトは Sublist3r に触発されました。ポートスキャナモジュールは NimScan をベースにしています。

インストール

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

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

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

使用方法

root@kitploit:~
./domainim <domain> [--ports=<ports> | -p:<ports>] [--wordlist=<filename> | l:<filename> [--rps=<int> | -r:<int>]] [--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 - ポート53で DNS サーバ を使用

例

  • ./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 --outfile=results.json
  • ./domainim mysite.com --ports=t50,5432,7000-9000 --dns=1.1.1.1

ヘルプメニューは ./domainim --help または ./domainim -h で表示できます。

root@kitploit:~
Usage:
    domainim <domain> [--ports=<ports> | -p:<ports>] [--wordlist=<filename> | l:<filename> [--rps=<int> | -r:<int>]] [--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.
    -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 -t:1500 -o:results.json

結果の JSON スキーマは以下の通りです:

root@kitploit:~
[
  {
    "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)
  • 長時間処理のプログレスバー表示
  • 個別ポートスキャンのプログレスバー追加
  • テストの追加
  • コメントとドキュメンテーション文字列の追加

補足

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

現在使用している2つのエンジン(Sublist3r に倣ってエンジンと呼んでいます)には、応答数の制限があります。dnsdumpster は最大100個のサブドメインを取得できます。crt.sh も結果が多い場合に結果をランダム化します。また、crt.sh は時々 SQL エラーを返すという問題もあります。そのため、ドメインによっては実行ごとに結果が異なる可能性があります。将来的にはさらにエンジンを追加する予定です(少なくともブルートフォースエンジン)。

ポートスキャナのタイムアウトは ping 応答時間 + 750ms のみです。これにより偽陰性が発生する可能性があります。ただし、domainim はポートスキャンではなく、概要を迅速に把握するためのものであるため、そのようなケースは許容されます。しかし、タイムアウトを増やすフラグを追加する予定です。同じ理由で、フィルタリングされたポートは表示されません。より包括的なポートスキャンには、Nmap を使用することをお勧めします。Domainim はレート制限も回避しません(存在する場合)。

VHost 名の表示方法は、テーブル上で重複を引き起こしているように見えるかもしれません。

以下のように表示したほうが良いかもしれません:

root@kitploit:~
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 が同じ VHost セットを共有しているわけではないケースがありました。そのため、このような表示方法を採用しました。

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

特に気になる制限の一つは、DNS リゾルバがドメインのすべての IP を返さないことです。そのため、すべて(またはほとんど)の IP を取得するには複数のクエリを実行する必要があります。しかし、ドメインにいくつの IP があるかを知ることはできません。これに対する解決策はまだ考えていません。また、nim-ndns は CNAME レコードをサポートしていません。そのため、ドメインに CNAME レコードがある場合、解決されません。この件については作者からの返答を待っています。

現時点では、可能性のあるワイルドカードサブドメインが見つかった場合、ブルートフォースはスキップされます。なぜなら、ドメインにワイルドカードサブドメインがある場合、ブルートフォースはすべての可能なサブドメインに対して IPv4 を解決してしまうからです。ただし、これにより有効なサブドメイン(例:scanme.nmap.org はワイルドカード値ではないにもかかわらずスキップされます)もスキップされます。後で --force-brute | -fb フラグを追加して、ブルートフォースを強制できるようにする予定です。

同様のことは、サブドメイン入力に対する VHost 列挙にも当てはまります。指定されたサブドメインで終わる URL が返されるため、類似したドメインのサブドメインは考慮されません。例えば、ack.nmap.org に対して scannme.nmap.org は表示されませんが、something.ack.nmap.org は表示される可能性があります。nmap.org のすべてのサブドメインを検索することもできますが、それではサブドメインを入力として受け付ける目的が損なわれます。

ライセンス

MIT ライセンス。全文については LICENSE を参照してください。

ツールをダウンロード
a.b.c.d
  • a.b.c.d#n - ポート e で DNS サーバ a.b.c.d を使用
  • --wordlist | -l - ワードリストファイルへのパス。サブドメインのブルートフォースに使用します。ファイルが無効な場合はブルートフォースがスキップされます。SecLists からワードリストを入手できます。リリースページにもワードリストが用意されています。
  • --rps | -r - ブルートフォース中の1秒あたりのリクエスト数。デフォルト値は 1024 req/s です。DNS クエリはバッチで行われ、前のバッチが完了した後にのみ次のバッチが行われます。クエリはレート制限される可能性があるため、値を増やしても必ずしも結果が速くなるとは限りません。
  • --out | -o - 出力ファイルへのパス。出力は JSON 形式で保存されます。ファイル名は .json で終わる必要があります。