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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
apidetector — マルチスレッドスキャナーで、Webドメインおよびサブドメイン全体で露出したSwagger/OpenAPIエンドポイントを検出し、自動XSS検出、PoC生成、およびAPIセキュリティ評価のための偽陽性フィルタリングを備えています。 | Kitploit
ツール/GitHubGitHub/brinhosa/apidetector
偵察脆弱性スキャナーAPIセキュリティテスト情報収集ウェブセキュリティ
GitHubbrinhosa/apidetector

apidetector

マルチスレッドスキャナーで、Webドメインおよびサブドメイン全体で露出したSwagger/OpenAPIエンドポイントを検出し、自動XSS検出、PoC生成、およびAPIセキュリティ評価のための偽陽性フィルタリングを備えています。

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

人気

すべて見る →

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

すべてのツールを探索

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

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

APIDetector Web Interface

APIDetector は、さまざまなサブドメインで公開された Swagger エンドポイントをテストするために設計された、強力かつ効率的なツールです。誤検知を検出する独自のスマート機能を備えており、API テストや脆弱性スキャンに携わるセキュリティ専門家や開発者にとって特に有用です。

BlackHat Arsenal 2024 で発表 (Link)

バージョン履歴

バージョン 3 の新機能 (最新)

  • 最新の Web インターフェース: 使いやすいインターフェースで API エンドポイントのスキャンが簡単に
  • リアルタイム結果: 発見されたエンドポイントや脆弱性のライブ更新
  • インタラクティブダッシュボード: Tailwind CSS と Alpine.js を使用したクリーンでレスポンシブな UI
  • ファイルアップロード対応: テキストファイルをアップロードして複数のドメイン/サブドメインを一度にスキャン
  • ドメイン検証: 正規表現パターンマッチングによる入力検証
  • 柔軟な設定: 改善されたデフォルト設定と使いやすいスキャン設定フォーム
  • 視覚的な結果: スキャン結果と PoC の表示を改善
  • スクリーンショット管理: 脆弱なエンドポイントのスクリーンショットを自動で取得・表示(サブドメインごとに 1 枚)
  • 対象を絞った PoC 生成: /swagger-ui/index.html エンドポイントに対してのみ概念実証を生成
  • レスポンシブデザイン: モバイルからデスクトップまで全ての画面サイズに最適化
  • エラーハンドリング: 改善されたエラーフィードバックとログ
  • アクセシビリティの向上: キーボードナビゲーションとスクリーンリーダーのサポートを改善

バージョン 2 の機能

  • 自動 XSS 検出: 脆弱な Swagger バージョンを識別
  • 視覚的な PoC 生成: 脆弱性の概念実証を作成
  • 強化されたエラーハンドリング: より優れたフィードバックとログ
  • パフォーマンス向上: 最適化されたスキャンアルゴリズム

コア機能

  • 柔軟な入力: 単一ドメインまたはサブドメインのリストを受け入れ
  • 複数プロトコル: HTTP と HTTPS の両方でエンドポイントをテスト
  • 並行処理: マルチスレッドスキャンによる高速化
  • スマート検出: 高度な誤検知検出機能
  • カスタマイズ可能な設定: スレッド数、ユーザーエージェントなどを設定可能

要件

APIDetector v3 には Python 3.x と以下のパッケージが必要です:

root@kitploit:~
flask         # Web フレームワーク
requests      # HTTP クライアント
playwright    # スクリーンショット用ブラウザ自動化
nest_asyncio  # Async IO サポート

すべての依存関係は requirements.txt に記載されており、セットアップ時に自動的にインストールされます。

初回セットアップ

必要なパッケージをインストールした後、Playwright ブラウザをインストールする必要があります:

root@kitploit:~
python -m playwright install

これはスクリーンショット機能を正しく動作させるために必要です。

はじめに

前提条件

  • Python 3.x (ダウンロード)
  • pip (Python パッケージインストーラ)
  • Git (リポジトリのクローン用)

インストール

  1. リポジトリをクローン:
root@kitploit:~
git clone https://github.com/brinhosa/apidetector.git
cd apidetector
  1. 仮想環境を作成して有効化:
root@kitploit:~
# macOS/Linux の場合:
python3 -m venv venv
source venv/bin/activate

# Windows の場合:
python -m venv venv
venv\Scripts\activate
  1. 依存関係をインストール:
root@kitploit:~
pip install -r requirements.txt
  1. ブラウザ自動化をインストール:
root@kitploit:~
playwright install

Web インターフェース (バージョン 3)

  1. Web サーバーを起動:
root@kitploit:~
python app.py
  1. デフォルトではサーバーは http://127.0.0.1:5000 で動作します。別のポートやホストを指定できます:
root@kitploit:~
python app.py --port 8080 --host 0.0.0.0
  1. ブラウザを開き、ターミナルに表示された URL にアクセスします。

  2. Web インターフェースの使い方:

    • 単一のドメインを入力するか、複数のドメインが記載されたファイル(1行に1ドメイン)をアップロード
    • スキャンオプションを設定(スレッド数、混合モード、ユーザーエージェント)
    • 「Start Scan」をクリックして開始
    • リアルタイムで結果を確認
    • 脆弱なエンドポイントのスクリーンショットが自動的に表示されます
  3. スクリーンショットは後で参照できるよう screenshots ディレクトリに保存されます。

使用方法

APIDetector v3 では、最新の Web インターフェース(v3 の新機能)と従来のコマンドラインインターフェース(オリジナル)の 2 つの操作方法を提供しています。

Web インターフェース

  1. Web サーバーを起動:
root@kitploit:~
python app.py [options]

使用可能なオプション:

例:

root@kitploit:~
# デフォルト設定で実行 (localhost:5000)
python app.py

# カスタムポートで実行
python app.py -p 8080

# 外部アクセスを許可
python app.py --host 0.0.0.0

# デバッグモードで実行
python app.py -d
  1. Web インターフェースにアクセス:

    • ブラウザを開き、表示された URL に移動
    • ターゲットドメインを入力するか、複数のドメインが記載されたファイル(1行に1ドメイン)をアップロード
    • スキャンオプションを設定:
      • HTTP/HTTPS モード
      • スレッド数(デフォルト: 10)
      • カスタム User-Agent
    • 「Start Scan」をクリック
  2. 結果を表示:

    • 発見された API エンドポイントが進捗状況とともにリアルタイムで表示
    • 脆弱なエンドポイントは自動的にテスト
    • 確認された脆弱性については PoC スクリーンショットが生成
    • スキャン中でも結果を確認可能

コマンドラインインターフェース

コマンドラインで APIDetector を実行します。以下に使用例を示します:

  • 一般的な使用方法: 30 スレッド、Chrome ユーザーエージェントでサブドメインリストをスキャンし、結果をファイルに保存:

    root@kitploit:~
    python apidetector.py -i list_of_company_subdomains.txt -o results_file.txt -t 30 -ua "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36"
    
  • 単一ドメインのスキャン:

    root@kitploit:~
    python apidetector.py -d example.com
    
  • ファイルから複数ドメインをスキャン:

    root@kitploit:~
    python apidetector.py -i input_file.txt
    
  • 出力ファイルを指定:

    root@kitploit:~
    python apidetector.py -i input_file.txt -o output_file.txt
    
  • 特定のスレッド数を使用:

    root@kitploit:~
    python apidetector.py -i input_file.txt -t 20
    
  • HTTP と HTTPS の両方のプロトコルでスキャン:

    root@kitploit:~
    python apidetector.py -m -d example.com
    
  • 静音モードで実行(詳細出力を抑制):

    root@kitploit:~
    python apidetector.py -q -d example.com
    
  • カスタムユーザーエージェントで実行:

    root@kitploit:~
    python apidetector.py -d example.com -ua "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36"
    

APIDetector v2 を使用している場合は、コマンドを apidetectorv2.py に置き換えてください。

オプション

  • -d, --domain: テストする単一のドメイン。
  • -i, --input: テストするサブドメインを含む入力ファイル。
  • -o, --output: 有効な URL を書き込む出力ファイル。
  • -t, --threads: スキャンに使用するスレッド数(デフォルトは 10)。
  • -m, --mixed-mode: HTTP と HTTPS の両方のプロトコルをテスト。
  • -q, --quiet: 詳細出力を無効にする(デフォルトモードは詳細)。
  • -ua, --user-agent: リクエストのカスタム User-Agent 文字列。

APIDetector が発見する各エンドポイントのリスク詳細

Swagger や OpenAPI のドキュメントエンドポイントを公開すると、主に情報漏洩に関連するさまざまなリスクが生じる可能性があります。以下は、潜在的なリスクレベルに基づいて並べたリストで、類似のエンドポイントを APIDetector がスキャンするグループとしてまとめています。

1. 高リスクエンドポイント(直接的な API ドキュメント):

  • エンドポイント:
    • '/swagger-ui.html', '/swagger-ui/', '/swagger-ui/index.html', '/api/swagger-ui.html', '/documentation/swagger-ui.html', '/swagger/index.html', '/api/docs', '/docs', '/api/swagger-ui', '/documentation/swagger-ui'
  • リスク:
    • これらのエンドポイントは通常、Swagger UI インターフェースを提供し、すべての API エンドポイントの完全な概要(リクエスト形式、クエリパラメータ、場合によってはリクエストとレスポンスの例)を表示します。
    • リスクレベル: 高。これらを公開すると、潜在的な攻撃者に API 構造や攻撃ベクトルに関する詳細な情報を提供することになります。

2. 中高リスクエンドポイント(API スキーマ/仕様):

  • エンドポイント:
    • '/openapi.json', '/swagger.json', '/api/swagger.json', '/swagger.yaml', '/swagger.yml', '/api/swagger.yaml', '/api/swagger.yml', '/api.json', '/api.yaml', '/api.yml', '/documentation/swagger.json', '/documentation/swagger.yaml', '/documentation/swagger.yml'
  • リスク:
    • これらのエンドポイントは、生の Swagger/OpenAPI 仕様ファイルを提供します。パス、パラメータ、場合によっては認証方法など、API エンドポイントに関する詳細情報が含まれています。

3. 中リスクエンドポイント(API ドキュメントのバージョン):

  • エンドポイント:
    • '/v2/api-docs', '/v3/api-docs', '/api/v2/swagger.json', '/api/v3/swagger.json', '/api/v1/documentation', '/api/v2/documentation', '/api/v3/documentation', '/api/v1/api-docs', '/api/v2/api-docs', '/api/v3/api-docs', '/swagger/v2/api-docs', '/swagger/v3/api-docs', '/swagger-ui.html/v2/api-docs', '/swagger-ui.html/v3/api-docs', ,

4. 低リスクエンドポイント(設定とリソース):

  • エンドポイント:
    • '/swagger-resources', '/swagger-resources/configuration/ui', '/swagger-resources/configuration/security', '/api/swagger-resources', '/api.html'
  • リスク:
    • これらのエンドポイントは、多くの場合、補助情報、設定詳細、または API ドキュメントのセットアップに関連するリソースを提供します。
    • リスクレベル: 低。API エンドポイントの詳細を直接明らかにすることはありませんが、API ドキュメントの設定やセットアップに関する洞察を与える可能性があります。

まとめ:

  • 最高リスク: インタラクティブな API ドキュメントインターフェースを直接公開すること。
  • 中高リスク: 生の API スキーマ/仕様ファイルを公開すること。
  • 中リスク: バージョン固有の API ドキュメント。
  • 低リスク: API ドキュメントの設定およびリソースファイル。

推奨事項:

  • アクセス制御: これらのエンドポイントが公開アクセス可能でないこと、または少なくとも認証メカニズムで保護されていることを確認してください。
  • 環境固有の公開: 詳細な API ドキュメントは、本番環境ではなく開発環境やステージング環境でのみ公開することを検討してください。
  • 監視とログ: これらのエンドポイントへのアクセスを監視し、異常なアクセスパターンに対してアラートを設定してください。

コントリビューション

APIDetector へのコントリビューションを歓迎します! リポジトリをフォークし、変更を加え、プルリクエストを送信してください。 テストや機能提案に協力してくれたコントリビューターに特別な感謝を捧げます:

  • Filipi Pires (Ambassador) - https://www.linkedin.com/in/filipipires/
  • Denis Lourenço - https://www.linkedin.com/in/🚲denis-lourenço-18b07a128/
  • Bruno Francisco Cardoso - https://www.linkedin.com/in/bruno-francisco-cardoso-27445953/

法的免責事項

APIDetector ツールは、厳密にテストおよび教育目的のみを意図しています。APIDetector の開発者は、このツールの使用に起因する誤用、意図しない結果、または損害について一切の責任を負わず、免責します。APIDetector の不正、違法、または有害な使用は明示的に禁止されています。エンドユーザーは、関連するすべての地域、州、連邦、国際法の遵守について全責任を負います。このツールを使用することにより、ユーザーはスキャン対象のネットワークまたはシステムをテストするために必要な権限を有していることを確認し、その使用に起因するすべての請求から開発者を補償することに同意したものとみなされます。 エンドユーザーは、このツールの使用がテスト対象のネットワークまたはシステムを管理する法的制限や利用規約に違反していないことを確認する単独の責任を負います。

免責事項: APIDetector ツールの使用について APIDetector ツールは、合法的なテストおよび教育目的のためにのみ設計されています。明示的または黙示的な種類の保証なしに「現状のまま」提供されます。APIDetector の開発者および配布者は、このツールの使用に起因する誤用、意図しない結果、または損害について一切の責任を明示的に否認します。 重要な法的通知: APIDetector の不正、違法、または非倫理的な使用は固く禁じられています。ユーザーは、関連するすべての地域、州、連邦、国際法、およびエンゲージするネットワークまたはシステムを管理する利用規約を遵守する単独の責任を負います。APIDetector を使用することにより、ユーザーは対象のネットワークまたはシステムをテストするために必要な権限を有していることを確認します。 リスクの想定と補償: APIDetector をダウンロード、インストール、または使用することにより、ユーザーはその使用に関連するすべての法的影響に対する全責任を負います。APIDetector の開発者および配布者は、その使用に起因する法的結果、損害、または第三者からの請求について一切の責任を負いません。ユーザーは、自身の行為に起因するすべての請求、弁護士費用、または責任から開発者および配布者を補償し免責することに同意します。

ライセンス

このプロジェクトは MIT ライセンス の下でライセンスされています。

謝辞

  • テスト、提案、改善に協力してくれたすべてのコントリビューターに感謝します。
  • Author: Rafael B. Brinhosa - https://www.linkedin.com/in/brinhosa/
ツールをダウンロード
オプション説明デフォルト
-p, --portポート番号5000
--hostホストアドレス127.0.0.1
-d, --debugデバッグモードを有効にするFalse
  • リスクレベル: 中高。UI インターフェースよりも解釈が必要ですが、それでも API に関する広範な情報を明らかにします。
  • '/api/swagger/v2/api-docs'
    '/api/swagger/v3/api-docs'
  • リスク:
    • これらのエンドポイントは、多くの場合、バージョン固有のドキュメントや API 説明を参照します。API の構造と機能に関する情報を明らかにし、攻撃者が API の機能や潜在的な弱点を理解するのに役立つ可能性があります。
    • リスクレベル: 中。完全なドキュメントやスキーマファイルほど詳細ではないかもしれませんが、それでも攻撃者に有用な情報を提供します。