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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
puredns — 高速DNSリゾルバーとサブドメインブルートフォースツール。正確なワイルドカードフィルタリングとDNSポイズニング検証による精密な偵察を実現。 | Kitploit
ツール/GitHubGitHub/d3mondev/puredns
偵察DNSおよびサブドメイン列挙情報収集サブドメイン列挙DNSファジングDNS分析DNS分析 第5位DNSファジング 第2位DNSおよびサブドメイン列挙 第6位サブドメイン列挙 第6位
2.2k190616ヶ月前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

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

puredns

高速DNSリゾルバーとサブドメインブルートフォースツール。正確なワイルドカードフィルタリングとDNSポイズニング検証による精密な偵察を実現。

リポジトリを見る

高速なドメインリゾルバーとサブドメインのブルートフォース攻撃、正確なワイルドカードフィルタリングを備えています
はじめに »

使い方 · 仕組み · スポンサーシップ · FAQ

概要

puredns は、ワイルドカードサブドメインやDNSポイズニングエントリを正確にフィルタリングできる、高速なドメインリゾルバーおよびサブドメインブルートフォースツールです。

massdns(強力なスタブDNSリゾルバー)を使用してバルクルックアップを実行します。適切な帯域幅と優れた公開リゾルバーのリストがあれば、数百万のクエリを数分で解決できます。残念ながら、massdnsの結果は公開リゾルバーから得られる回答の質に依存します。結果は、誤ったDNS回答やワイルドカードサブドメインによる誤検出で汚染されることがよくあります。

puredns は、独自のワイルドカード検出アルゴリズムでこの問題を解決します。信頼できるリゾルバーのセットから得られたDNS回答に基づいてワイルドカードを除去できます。また、それらの信頼できるリゾルバーを使用して回答を検証することで、DNSポイズニングを回避しようとします。

これが便利だと思ったら? ⭐ GitHubでスターを付けてください! 役に立ちます。

puredns ターミナル

機能

  • massdnsと公開DNSリゾルバーのリストを使用して、毎秒数千のDNSクエリを解決
  • ワードリストとルートドメインを使用してサブドメインをブルートフォース
  • 最小限のクエリ数でワイルドカードを除去し、ワイルドカードルートを検出して正確な結果を保証
  • ワイルドカード検出中にDNS負荷分散を回避
  • 既知の信頼できるリゾルバーのリストに対して実行し、結果にDNSポイズニングがないことを検証
  • 有効なドメイン、ワイルドカードサブドメインルート、および有効なエントリのみを含むクリーンなmassdns出力を保存
  • stdinからドメインまたはワードのリストを読み取り、静音モードを有効にしてカスタム自動化パイプラインに簡単に統合

スポンサーシップ

私の仕事であなたが収入を得ているなら、スポンサーになることを検討してください! ユニークな特典を得ることができます!

また、それはとても大きな意味があります ❤️。コミュニティのために無料で作業を続けることが可能になるからです。しかし、あなたが何をしようと、私のソフトウェアはあなたが使用するために無料でオープンソースであり続けることをお約束します。

はじめに

前提条件

massdns

Purednsを使用するには、ホストマシンにmassdnsが必要です。massdnsバイナリへのパスがPATH環境変数に存在する場合、purednsはすぐに動作します。massdns実行ファイルを配置するのに適した場所は、ほとんどのシステムで /usr/local/bin です。それ以外の場合は、--bin コマンドライン引数を使用してmassdnsバイナリファイルへのパスを指定する必要があります。

以下は、ほとんどのDebianベースのシステムで動作するはずです。詳細は公式の手順に従ってください。

root@kitploit:~
git clone https://github.com/blechschmidt/massdns.git
cd massdns
make
sudo make install

公開DNSリゾルバーサーバーのリスト

purednsを使用するには、公開DNSサーバーのリストを取得する必要があります。FAQを参照して、動作するサーバーの独自リストを作成する方法を学んでください。

インストール

バイナリリリースをダウンロードできます。

または、最新バージョンを簡単にコンパイルすることもできます。まず、Goがシステムにインストールされていることを確認してください。Goの最後の2つのメジャーリリースがサポートされています。インストール手順については、公式のGoインストールページを参照してください。その後、次のコマンドを実行します。

root@kitploit:~
go install github.com/d3mondev/puredns/v2@latest

使い方

利用可能なすべてのコマンドとオプションの完全なリストを確認するには、puredns --help を実行してください。

現在の作業ディレクトリに resolvers.txt ファイルが存在する場合、purednsはデフォルトでそれを使用します。存在しない場合、~/.config/puredns/resolvers.txt または ~/.config/puredns/resolvers-trusted.txt ファイルが存在すれば、purednsは自動的にそれらをリゾルバーとして使用します。これらのオプションのいずれも利用できない場合は、--resolvers および --resolvers-trusted 引数で使用するリゾルバーを指定してください。

信頼できるリゾルバーの指定はオプションです。デフォルトでは、purednsは単純に 8.8.8.8 と 8.8.4.4 を使用します。

サブドメインのブルートフォース

all.txt というワードリストを使用して、大規模なサブドメインリストをブルートフォースする方法は次のとおりです。

puredns bruteforce all.txt domain.com

また、-d オプションを使用して、単一のドメインを引数として指定する代わりに、ドメインを含むテキストファイルを読み込むことで、複数のドメインを一度にブルートフォースすることもできます。

puredns bruteforce all.txt -d domains.txt

ドメインリストの解決

テキストファイル(1行に1ドメイン)に含まれるドメインのリストを解決することもできます。

puredns resolve domains.txt

標準入力操作

解決するドメインのリストを標準入力から渡すことができます。

cat domains.txt | puredns resolve

または、ブルートフォースに使用するワードのリスト:

cat wordlist.txt | puredns bruteforce domain.com

-q スイッチを追加して、見つかったドメインのみを出力し、他のツールにパイプすることもできます。

cat domains.txt | puredns resolve -q | httprobe

結果をファイルに保存

ワークフローで再利用するために、次の情報をファイルに保存できます。

  • domains: 正しく解決されるドメインのクリーンなリスト
  • wildcard root domains: 見つかったワイルドカードルートドメインのリスト(例: *.store.yahoo.com)
  • massdns results file (-o Snl text output): 参照用やAレコードおよびCNAMEレコードの抽出に使用できます。
root@kitploit:~
puredns resolve domains.txt --write valid_domains.txt \
                            --write-wildcards wildcards.txt \
                            --write-massdns massdns.txt

仕組み

puredns 動作中

上の画像は、最も一般的なサブドメイン10万個の小さなワードリストを使用して、purednsが google.com ドメインに対して動作している様子です。

ワークフローの一部として、purednsは自動的に3つのステップを実行します。

  1. 公開DNSサーバーを使用した一括解決
  2. ワイルドカード検出
  3. 検証

1. 公開DNSサーバーを使用した一括解決

massdnsを使用して、purednsはすべてのドメインとサブドメインの一括解決を実行します。データは標準入力からmassdnsに供給され、必要に応じて1秒あたりのクエリ数を制限したり、生成されたドメインリストの基本的なサニタイズを実行したりできます。

デフォルトでは、入力ドメインは小文字に設定され、有効な文字(基本的に [a-z0-9.-])を含むエントリのみが受け入れられます。これは --skip-sanitize フラグで無効にできます。

このステップの後、結果は通常汚染されています。一部の公開リゾルバーが誤った回答を送り返したり、ワイルドカードサブドメインが結果を急速に膨らませたりする可能性があります。

2. ワイルドカード検出

次にPurednsは、ワイルドカード検出アルゴリズムを使用して、massdns結果ファイルからすべてのワイルドカードサブドメインルートを検出し抽出します。

ステップ1からのmassdns出力をDNSキャッシュとして使用して、実行する必要のあるクエリ数を最小限に抑えます。正確な結果を保証するために、DNSクエリを実行してキャッシュ結果を検証する必要がある場合があります。

このステップは --skip-wildcard フラグでスキップできます。

3. 検証

DNSポイズニングから保護するために、purednsは最後にもう一度massdnsを使用して、信頼できるDNSリゾルバーを使用して残りの結果を検証します。現在、内部で使用される信頼できるリゾルバーは 8.8.8.8 と 8.8.4.4 です。このステップは、信頼できるリゾルバーのレート制限に引っかからないように、低速で実行されます。

このステップは --skip-validation フラグでスキップできます。

この時点で、結果ファイルはワイルドカードサブドメインとDNSポイズニングされた回答からクリーンになっているはずです。

FAQ

purednsで使用するリゾルバーを入手するにはどうすればよいですか?

Trickestが有効なリゾルバーのリストを維持しています:https://github.com/trickest/resolvers

または、public-dns.info から公開リゾルバーのリストを取得し、DNS Validator プロジェクトを使用して、有効な回答を提供するリゾルバーのみを保持することもできます。

公開リゾルバーが誤った情報をpurednsに提供する場合(例えば、ポイズニングされた応答を送り返すなど)、一部のサブドメインがフィルタリングされて失われる可能性があります。ヒント: 中国などインターネットを検閲する国のリゾルバーは避けてください。

カスタムリゾルバーのリストを用意したら、-r 引数でpurednsに渡すか、~/.config/puredns/resolvers.txt に配置して使用できます。

puredns resolve domains.txt -r resolvers.txt

デフォルトの信頼できるリゾルバーは現在 8.8.8.8 と 8.8.4.4 です。変更する場合は、--resolvers-trusted 引数を使用するか、~/.config/puredns/resolvers-trusted.txt にファイルを配置してカスタムリストを指定することもできます。purednsに最適な信頼できるリゾルバーを見つけるために多くのテストを行いました。変更する場合は結果を注意深く検証し、--rate-limit-trusted でレート制限を調整してください。

puredns resolve domains.txt -r resolvers.txt --resolvers-trusted trusted.txt

結果にIPアドレスに解決されないドメインが含まれるのはなぜですか?

Purednsは、NXDOMAINを含むDNS回答を単純に無視するわけではありません。NXDOMAIN回答には、期限切れのドメインを指す有効なCNAMEレコードが含まれている場合があります。そのようなレコードが存在する場合、未登録のドメインを指している可能性があり、サブドメインテイクオーバーが可能になります。

IPアドレスに解決されないドメインが返ってきた場合は、それらに関心のあるCNAMEレコードが含まれているか確認してください。

dig @8.8.8.8 CNAME example.com

一部のドメインでワイルドカードが正しくフィルタリングされないのはなぜですか?

最も可能性の高い原因はDNS負荷分散です。一意のDNSクエリごとに異なるIPアドレスが返されることがあります。これにより、DNSレコードを比較してワイルドカードサブドメインを検出することが非常に困難になります。

ワイルドカード検出中に、purednsがサブドメインのすべての異なるIPアドレスを収集するために実行するテストの数を指定できます。デフォルトのテスト数は3で、非常に低いです。負荷分散が多いドメインでは、完全ではないが十分な結果を返すために50回以上のクエリが必要な場合を見たことがあります。

--wildcard-tests 引数を使用して、ワイルドカードサブドメインを検出するために実行するテストの数を増やしてみてください。

puredns resolve domains.txt --wildcard-tests 50

非常に大きなリストを解決するときに、purednsがメモリ不足エラーでクラッシュするのはなぜですか?

ワイルドカードを検出するために、purednsは見つかったDNS回答のキャッシュを保持する必要があります。ドメインのリストが数億に及び、多くのワイルドカードサブドメインが含まれている場合、ホストのメモリが不足する可能性があります。しかし、簡単な解決策があります。

デフォルトでは、purednsはすべてのドメインを1つのバッチにまとめて、DNSクエリの数と実行時間を節約します。メモリが懸念される場合は、--wildcard-batch 引数を使用して、複数の小さなバッチでドメインを処理することが可能です。1GB RAMのVPSでは、100万から200万のサブドメインが適切なサイズであることがわかりました。

puredns resolve domains.txt --wildcard-batch 1000000

結果に重複したドメインが含まれることがあるのはなぜですか?

Purednsはパイプラインのどこでも重複を削除しません。入力ファイルに同一のワードやドメインなどの重複アイテムが含まれている場合、purednsは重複要素を出力します。sort -u のようなツールを使用して、purednsに提供する入力ファイルに重複がないことを確認できます。

結果に関係のないドメインが含まれることがあるのはなぜですか?

おそらく使用している公開リゾルバーが原因です。一部のリゾルバーはクエリに関係のない回答を返すことがあり、その結果、出力にランダムなドメイン名が含まれます。現在purednsはこのケースを処理せず、ユーザーが出力をサニタイズして、見つかったドメインがスコープ内であることを確認する必要があります。

リソース

public-dns.info は、公開および無料のDNSリゾルバーのリストを継続的に更新しています。

DNS Validator を使用して、独自の公開DNSリゾルバーリストを作成できます。

all.txt ワードリスト Jhaddixの象徴的な all.txt ワードリストは、サブドメイン列挙によく使用されます。

shuffleDNS は、別のアルゴリズムを使用してワイルドカードサブドメインを処理する、Goで書かれた良い代替手段です。

貢献

purednsには次の方法で貢献できます。

  • 新しい機能のアイデアを提出する
  • バグを報告する をIssueとして
  • このリポジトリにスター ⭐ を付ける
  • purednsについて広める
  • スポンサーになる 🥇 してユニークな特典を得る

素晴らしい新機能のアイデアはありますか? 修正したいバグを見つけましたか? 素晴らしい! プルリクエストを行う前に、Issueを提出して議論してください。

タイプミスの修正、ベストプラクティス、軽微な修正などの些細な変更については、プルリクエストを受け付けません。

免責事項とライセンス

このリポジトリに含まれるリゾルバーは、参照目的でのみ提供されています。作者はそのリストのリゾルバーの誤用について責任を負いません。使用が許可されているリゾルバーのリストを管理するのはユーザーの責任です。

同意なしにターゲットを攻撃するためにこのプログラムを使用することは違法です。該当するすべての法律を遵守するのはユーザーの責任です。開発者は一切の責任を負わず、このプログラムによって引き起こされた誤用や損害について責任を負いません。責任を持って使用してください。

このリポジトリに含まれる資料は、GNU GPLv3 の下でライセンスされています。

ツールをダウンロード