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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
OneForAll — 50以上の収集モジュール、DNSブルートフォース、パッシブDNS分析、証明書透過性、検索エンジンスクラピング、およびサブドメイン乗っ取り検出を備えた、偵察用のマルチソースサブドメイン列挙ツール。 | Kitploit
ツール/GitHubGitHub/shmilylty/oneforall
OSINT (オープンソースインテリジェンス)偵察情報収集ペネトレーションテストサブドメイン列挙DNS分析
GitHubshmilylty/oneforall

OneForAll

50以上の収集モジュール、DNSブルートフォース、パッシブDNS分析、証明書透過性、検索エンジンスクラピング、およびサブドメイン乗っ取り検出を備えた、偵察用のマルチソースサブドメイン列挙ツール。

リポジトリを見る
10.0k1.4k3ヶ月前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

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

OneForAll

Build Status codecov Maintainability License python python

👊OneForAllは強力なサブドメイン収集ツールです 📝英語ドキュメント

Example

🚀クイックスタートガイド

📢 このドキュメントを必ずお読みください。OneForAllを素早く使いこなす助けになります!

🐍インストール要件

OneForAllはPython 3.6.0に基づいて開発・テストされています。OneForAllを実行するにはPython 3.6.0より上のバージョンが必要です。Python環境のインストールはPython 3 インストールガイドを参考にしてください。以下のコマンドでPythonとpip3のバージョンを確認します:

root@kitploit:~
python -V
pip3 -V

以下のような出力が表示されればPython環境に問題はありません:

root@kitploit:~
Python 3.6.0
pip 19.2.2 from C:\Users\shmilylty\AppData\Roaming\Python\Python36\site-packages\pip (python 3.6)
✔インストール手順(git版)
  1. ダウンロード

このプロジェクトは開発中であり、常に更新・改良が行われています。ダウンロード時はgit cloneで最新のコードリポジトリをクローンしてください。これにより後の更新も容易になります。Releasesからのダウンロードは推奨しません。Releasesのバージョン更新は遅く、更新も不便だからです。このプロジェクトは码云(Gitee)にミラーされています。国内の方はGiteeからクローンする方が速いです:

root@kitploit:~
git clone https://gitee.com/shmilylty/OneForAll.git

または:

root@kitploit:~
git clone https://github.com/shmilylty/OneForAll.git
  1. インストール

pip3を使ってOneForAllの依存関係をインストールできます。以下はWindowsシステムでpip3を使って依存関係をインストールする例です:注意:Python3がシステムのProgram Filesディレクトリ(例:C:\Program Files\Python36)にインストールされている場合は、管理者としてコマンドプロンプト(cmd)を実行して以下のコマンドを実行してください!

root@kitploit:~
cd OneForAll/
python3 -m pip install -U pip setuptools wheel -i https://mirrors.aliyun.com/pypi/simple/
pip3 install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/
python3 oneforall.py --help

他のプラットフォームについては依存関係のインストールを参照してください。依存関係のインストール中に特定のライブラリのコンパイルに失敗した場合は、よくある質問と回答.mdの解決方法を参照してください。それでも解決しない場合は、グループに参加してフィードバックしてください。

  1. 更新

以下のコマンドを実行してプロジェクトを更新します(/config/setting.pyとへの変更は保持されます):

✔インストール手順(docker版)

まず設定ファイルをダウンロードして編集し、自分自身のapiと個別設定を追加し、元のファイル構造を保持します。

root@kitploit:~
config
├── api.py
├── default.py
├── __init__.py
├── log.py
└── setting.py

イメージをプルして実行します。~/.configは自分の設定ファイルが置かれているフォルダのパスに置き換えてください。

root@kitploit:~
docker pull shmilylty/oneforall
docker run -it --rm -v ~/results:/OneForAll/results -v ~/.config:/OneForAll/config shmilylty/oneforall --target example.com run

引数は直接コマンドの末尾に追加します。結果はローカルディレクトリ~/resultsに出力されます。他の場所に保存したい場合は適宜変更してください。

✨使用例

pip3で依存関係をインストールした場合は、以下のコマンドでサンプルを実行します:

root@kitploit:~
python3 oneforall.py --target example.com run
python3 oneforall.py --targets ./example.txt run

Example

🧐結果の説明

python3 oneforall.py --target example.com runコマンドを例にします。OneForAllがデフォルトパラメータで正常に実行されると、resultsディレクトリに対応する結果が生成されます:

Result

example.com.csvは各メインドメインのサブドメイン収集結果です。

all_subdomain_result_1583034493.csvはOneForAll実行ごとに収集されたサブドメインの集計結果で、example.com.csvを含み、バッチ収集シナリオで全結果を取得するのに便利です。

result.sqlite3はOneForAll実行ごとに収集されたサブドメインを保存するSQLite3結果データベースで、そのデータベース構造は以下の通りです:

Database

example_com_origin_resultのようなテーブルには各モジュールの最初のサブドメイン収集結果が保存されます。

example_com_resolve_resultのようなテーブルにはサブドメインの解決結果が保存されます。

example_com_last_resultのようなテーブルには前回のサブドメイン収集結果が保存されます(2回以上収集すると生成されます)。

example_com_now_resultのようなテーブルには現在のサブドメイン収集結果が保存されます。通常はこのテーブルを確認すれば十分です。

🤔使用方法

コマンドライン引数は一般的なものだけを提供しています。より詳細なパラメータ設定はsetting.pyを参照してください。コマンドラインでよく使うパラメータが不足しているなどの問題があれば、フィードバックをお願いします。周知の理由により、一部の収集インターフェースがブロックされている場合、setting.pyでプロキシを設定してください。一部の収集モジュールではAPIの提供が必要です(ほとんどはアカウント登録で無料で取得できます)。使用する場合はapi.pyでAPI情報を設定してください。使用しない場合は関連するエラーを無視してください。(詳細なモジュールは収集モジュール説明を参照)

OneForAllのコマンドラインインターフェースはFireに基づいています。Fireのより高度な使い方についてはFire CLIの使用を参照してください。

oneforall.pyがメインプログラムのエントリです。oneforall.pyはbrute.py、takerover.py、dbexport.pyなどのモジュールを呼び出せます。サブドメインのブルートフォースを容易にするためにbrute.pyが独立しており、サブドメインの乗っ取りリスクチェックのためにtakerover.pyが独立しており、データベースエクスポートのためにdbexport.pyが独立しています。これらのモジュールは個別に実行でき、より多くのパラメータを受け付けます。個別に使用する場合は使用ヘルプを参照してください。

❗注意:使用中に問題や疑問が生じた場合は、まずIssuesで検索して答えを探し、よくある質問と回答も参照してください。

oneforall.pyの使い方

以下のヘルプ情報は最新ではない可能性があります。python oneforall.py --helpで最新のヘルプ情報を取得してください。

root@kitploit:~
python oneforall.py --help
root@kitploit:~
NAME
    oneforall.py - OneForAll帮助信息

SYNOPSIS
    oneforall.py COMMAND | --target=TARGET <flags>

DESCRIPTION
    OneForAll是一款功能强大的子域收集工具

    Example:
        python3 oneforall.py version
        python3 oneforall.py --target example.com run
        python3 oneforall.py --targets ./domains.txt run
        python3 oneforall.py --target example.com --valid None run
        python3 oneforall.py --target example.com --brute True run
        python3 oneforall.py --target example.com --port small run
        python3 oneforall.py --target example.com --fmt csv run
        python3 oneforall.py --target example.com --dns False run
        python3 oneforall.py --target example.com --req False run
        python3 oneforall.py --target example.com --takeover False run
        python3 oneforall.py --target example.com --show True run

    Note:
        参数alive可选值True,False分别表示导出存活,全部子域结果
        参数port可选值有'default', 'small', 'large', 详见config.py配置
        参数fmt可选格式有 'csv','json'
        参数path默认None使用OneForAll结果目录生成路径

ARGUMENTS
    TARGET
        单个域名(二选一必需参数)
    TARGETS
        每行一个域名的文件路径(二选一必需参数)

FLAGS
    --brute=BRUTE
        s
    --dns=DNS
        DNS解析子域(默认True)
    --req=REQ
        HTTP请求子域(默认True)
    --port=PORT
        请求验证子域的端口范围(默认只探测80端口)
    --valid=VALID
        只导出存活的子域结果(默认False)
    --fmt=FMT
        结果保存格式(默认csv)
    --path=PATH
        结果保存路径(默认None)
    --takeover=TAKEOVER
        检查子域接管(默认False)

🎉プロジェクト概要

プロジェクトURL:https://github.com/shmilylty/OneForAll

ペネトレーションテストにおける情報収集の重要性は言うまでもありません。サブドメイン収集は情報収集に不可欠で非常に重要な要素です。現在、インターネット上には多くのサブドメイン収集ツールがオープンソースとして公開されていますが、以下のような問題が常に存在しています:

  • 能力不足:サブドメイン収集のインターフェースが少なく、バッチサブドメインの自動収集ができず、自動サブドメイン解決、検証、FUZZ、情報拡張などの機能がない。
  • ユーザーフレンドリーでない:コマンドラインモジュールは便利ですが、多くのオプションパラメータがあり、複雑な操作を実現する場合、コマンドラインモードはあまり親しみやすくありません。インタラクティブで操作しやすいフロントエンドがあれば、ユーザーエクスペリエンスは大幅に向上します。
  • メンテナンス不足:多くのツールは何年も更新されておらず、IssuesやPRとは何か?存在しません。
  • 効率の問題:マルチプロセス、マルチスレッド、非同期コルーチン技術を利用しておらず、速度が遅い。

これらの問題点を解決するために、このプロジェクトが生まれました。その名の通り、OneForAllがさまざまな長所を集めた、強力で包括的かつ高速なサブドメイン収集の究極のツールであることを願っています🔨。

現在OneForAllは開発中であり、多くの問題や改善点があることは間違いありません。ぜひIssuesやPRを提出してください。気に入ったらスター✨をください。現在、OneForAllの交流とフィードバックのためのQQグループ👨‍👨‍👦‍👦があります:824414244(グループ参加時の認証:情報収集)。

👍機能特徴

  1. 収集能力が強力:詳細なモジュールは収集モジュール説明を参照してください。
  2. 証明書の透明性を利用したサブドメイン収集(現在6つのモジュール:censys_api、certspotter、crtsh、entrust、google、spyse_api)
  3. 通常のチェックによるサブドメイン収集(現在4つのモジュール:ゾーン転送脆弱性axfr、クロスドメインポリシーファイルcdxのチェック、HTTPS証明書certのチェック、コンテンツセキュリティポリシーcspのチェック、robotsファイルrobotsのチェック、sitemapファイルsitemapのチェック、NSECレコードによるDNSドメイン走査dnssec、今後NSEC3レコードなどのモジュールを追加予定)
  4. Webクローラーアーカイブを利用したサブドメイン収集(現在2つのモジュール:archivecrawl、。このモジュールはまだテスト中で、追加と改善の余地あり)

他にも素晴らしいアイデアがあればぜひ教えてください!😎

🌲ディレクトリ構造

詳細はディレクトリ構造の説明を参照してください。

このプロジェクトのdocsディレクトリには、サブドメイン辞書の出典説明やワイルドカード解決判断フローなどのヘルプと説明が用意されています。

👏使用したフレームワーク

  • aiohttp - 非同期HTTPクライアント/サーバーフレームワーク
  • beautifulsoup4 - HTMLやXMLファイルからデータを簡単に抽出できるPythonライブラリ
  • fire - Python Fireは、任意のPythonオブジェクトから自動的にコマンドラインインターフェース(CLI)を生成するライブラリ
  • loguru - 快適なログ記録を提供するためのPythonライブラリ
  • massdns - 高性能DNSリゾルバ
  • records - Recordsは、ほとんどのリレーショナルデータベースに対して生のSQLクエリを実行するための非常にシンプルで強力なライブラリです。
  • requests - Requestsは唯一の非遺伝子組み換えPython HTTPライブラリであり、人間が安全に使用できます。
  • tqdm - PythonおよびCLI向けの高速で拡張可能なプログレスバーライブラリ

これらの素晴らしいPythonライブラリに感謝します!

🔖バージョン管理

このプロジェクトはSemVer形式を使用してバージョン管理を行っています。過去の変更履歴は変更履歴説明を参照してください。

⌛今後の計画

  • 各モジュールの継続的な最適化と改善
  • 強力でインタラクティブなユーザーフレンドリーなフロントエンドの実装

詳細は今後の開発計画を参照してください。

🙏コントリビューション

このプロジェクトを一緒に改善してくださる皆様を大歓迎します!

👨‍💻コントリビューター

  • Jing Ling
    • コア開発者

全コントリビューターとその貢献はコントリビューター用ドキュメントで確認できます。OneForAllをより強力で使いやすくしてくれたことに感謝します。

☕寄付

このプロジェクトが役に立ったと感じたなら、コーヒー1杯分の寄付で応援できます:)

📄ライセンス

このプロジェクトはGPL-3.0ライセンスの下で提供されています。詳細はLICENSEを参照してください。

😘謝辞

オープンソースのサブドメイン収集プロジェクトに感謝します!

A-Teamの皆様の熱心で無私な質問回答に感謝します!

📜免責事項

このツールは、十分な合法的な許可を得た企業のセキュリティ構築においてのみ使用できます。このツールを使用する際、お客様はすべての行動が現地の法令に準拠していることを確認する必要があります。このツールの使用中に違法行為があった場合、お客様はすべての結果を自己負担するものとし、本ツールのすべての開発者およびコントリビューターは一切の法的責任および連帯責任を負いません。本契約のすべての条項を十分に読み、完全に理解し、同意しない限り、本ツールをインストールおよび使用しないでください。お客様の使用行為、またはその他の明示的もしくは黙示的な方法で本契約を受け入れた場合、本契約を読み、その拘束に同意したものとみなされます。

💖スターの傾向

Stargazers over time

ツールをダウンロード
/config/api.py
root@kitploit:~
git stash        # ローカルの変更を一時保存
git fetch --all  # プロジェクトの更新を取得
git pull         # ダウンロードして上書き
git stash pop    # ローカルの変更を復元

詳細はフィールド説明を参照してください。

commoncrawl
  • DNSデータセットを利用したサブドメイン収集(現在24のモジュール:bevigil_api, binaryedge_api, bufferover, cebaidu, chinaz, chinaz_api, circl_api, cloudflare, dnsdb_api, dnsdumpster, hackertarget, ip138, ipv4info_api, netcraft, passivedns_api, ptrarchive, qianxun, rapiddns, riddler, robtex, securitytrails_api, sitedossier, threatcrowd, wzpc, ximcx)
  • DNSクエリを利用したサブドメイン収集(現在5つのモジュール:一般的なSRVレコードの列挙とクエリによるsrv、およびMX、NS、SOA、TXTレコードのDNSクエリによる収集)
  • 脅威インテリジェンスプラットフォームのデータを利用したサブドメイン収集(現在6つのモジュール:alienvault、riskiq_api、threatbook_api、threatminer、virustotal、virustotal_api。このモジュールはまだ追加・改善の余地あり)
  • 検索エンジンを利用したサブドメイン発見(現在18のモジュール:ask, baidu, bing, bing_api, duckduckgo, exalead, fofa_api, gitee, github, github_api, google, google_api, shodan_api, so, sogou, yahoo, yandex, zoomeye_api)。検索モジュールでは、特殊な検索エンジンを除き、一般的な検索エンジンは自動除外検索、全量検索、再帰検索をサポートしています。
  • サブドメインブルートフォース対応:このモジュールは通常の辞書ブルートフォースに加え、カスタムfuzzモードを備え、バッチブルートフォースと再帰ブルートフォースをサポートし、ワイルドカード解決を自動判断して処理します。
  • サブドメイン検証対応:デフォルトでサブドメイン検証が有効になっており、サブドメインのDNSを自動解決し、HTTPリクエストでタイトルとバナーを取得し、総合的にサブドメインの生存状況を判断します。
  • サブドメインクロール対応:既存のサブドメインに基づき、レスポンスボディとその中のJSをリクエストし、そこから新たなサブドメインを発見します。
  • サブドメイン置換対応:既存のサブドメインを使用して、サブドメイン置換技術により新たなサブドメインを発見します。
  • サブドメインテイクオーバー対応:デフォルトでサブドメインテイクオーバーリスクチェックが有効になっており、自動テイクオーバー(現時点ではGithubのみ、改善予定)およびバッチチェックをサポートしています。
  • 処理機能が強力:発見されたサブドメイン結果は自動除去、自動DNS解決、HTTPリクエストプローブに対応し、有効なサブドメインを自動フィルタリング、サブドメインのバナー情報を拡張します。最終的にサポートされるエクスポート形式はtxt、csv、jsonです。
  • 速度が非常に速い:収集モジュールはマルチスレッド呼び出しを使用し、ブルートフォースモジュールはmassdnsを使用しており、DNS解決速度は毎秒350,000以上のドメイン名を解決できます。サブドメイン検証ではDNS解決とHTTPリクエストに非同期マルチコルーチンを使用し、サブドメインテイクオーバーリスクチェックはマルチスレッドで行います。
  • 良好なユーザーエクスペリエンス:各モジュールにプログレスバーがあり、各モジュールの結果を非同期で保存します。