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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ツール/GitHubGitHub/austinjump-sec/api-spy-api-probe
偵察スクリプトと自動化ウェブアプリケーション悪用APIセキュリティテスト情報収集ペネトレーションテストクローラー
GitHubaustinjump-sec/api-spy-api-probe

API-SPY-API-PROBE

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有
API-SPY-API-PROBE — 再帰的/多重操作、APIの発見と列挙、JSファイルのスクレイピング、APIのHTTPメソッドの一覧化に特化した、1つのコマンドで実行できる強力なディレクトリブルートフォースツール。これはAPI専用というわけではありません。ただ、このツールが特に得意とする分野がAPIなのです。 | Kitploit

再帰的/多重操作、APIの発見と列挙、JSファイルのスクレイピング、APIのHTTPメソッドの一覧化に特化した、1つのコマンドで実行できる強力なディレクトリブルートフォースツール。これはAPI専用というわけではありません。ただ、このツールが特に得意とする分野がAPIなのです。

リポジトリを見る
512ヶ月前未レビュー

API-SPY 🕵️👻

API偵察とペネトレーションテスト用に設計された強力なディレクトリブルートフォースツールです。隠れたAPIエンドポイントを自動的に発見し、再帰的なサブスキャンを実行し、より深いAPI列挙のためにHTTPメソッドを調査します。

screenie work

特徴

✨ 主な機能:

  • 🎯 ワードリストベースのブルートフォースによる高速エンドポイント発見
  • 🔄 発見したエンドポイントの自動再帰サブスキャン
  • 🔍 HTTPメソッドのプロービング(GET、POST、PUT、DELETE、PATCH、OPTIONS)
  • ⚡ パフォーマンス向上のためのマルチスレッドスキャン
  • 📊 スマートなステータスコード処理(200、401、403)
  • 🔗 選択的なサブスキャンとプロービングのための対話型プロンプト
  • 🕷️ 一般的な /api/ エンドポイントのJavaScriptスクレイピング
  • 🪟 並列操作用のターミナルマルチプレクサ(tmux)サポート
  • ⏱️ 設定可能なタイムアウトによるプロンプトの自動スキップ

インストール

前提条件

  • Python 3.6+
  • requests ライブラリ
  • tmux(オプション、--split フラグ用)
  • xfce-terminal(Linuxデスクトップ環境用)

セットアップ

root@kitploit:~
# Clone the repository
git clone https://github.com/austinjump-sec/API-SPY.git
cd API-SPY

# Install dependencies
pip install requests

# Make scripts executable (optional)
chmod +x apispy.py apiprobe.py

使用方法

基本構文

root@kitploit:~
python3 apispy.py <baseUrl> <wordlist> [OPTIONS]

必須引数

引数説明
<baseUrl>対象URL(例:http://example.com または http://api.example.com)
<wordlist>エンドポイントを含むワードリストファイルへのパス(1行に1つ)

オプション引数

使用例

デフォルト設定での基本スキャン(シングルスレッド)

root@kitploit:~
python3 apispy.py http://api.example.com wordlist.txt

10スレッドでのマルチスレッドスキャン

root@kitploit:~
python3 apispy.py http://api.example.com wordlist.txt -t10

並列操作にtmuxを使用

root@kitploit:~
python3 apispy.py http://api.example.com wordlist.txt -t5 --split

より多くのスレッドで特定のURLをサブスキャン

root@kitploit:~
python3 apispy.py http://api.example.com/v1 wordlist.txt -t20

動作の仕組み

フェーズ1:一般的なAPIエンドポイントのテスト

このツールは、事前定義された一般的なAPIパスのセットをテストすることから始めます:

  • api、v1、v2、api/v1、api/v2、graphql、rest

フェーズ2:ワードリストブルートフォース

  • ワードリストからエンドポイントを読み込みます(# で始まるコメントは無視)
  • 各エンドポイントをHTTP GETリクエストでテスト
  • より高速なスキャンのためのマルチスレッド実行
  • ステータスコード 200、401、403 で応答するエンドポイントを特定

フェーズ3:対話型サブスキャン(オプション)

エンドポイントが見つかると、次のプロンプトが表示されます:

root@kitploit:~
'-> Subscan <url>? (y/n) [Auto-skip in 5s]:
  • y/yes を選択すると、同じワードリストでそのエンドポイントを再帰的にスキャンします
  • 新しいターミナルまたはtmuxスプリットウィンドウで自動的に起動します
  • 入力がない場合、5秒後に自動スキップします

フェーズ4:HTTPメソッドのプロービング(オプション)

サブスキャン後、次のプロンプトが表示されます:

root@kitploit:~
'-> Probe methods on <url>? (y/n) [Auto-skip in 5s]:
  • 発見したエンドポイントでHTTPメソッドをテストする apiprobe.py を起動します
  • テスト対象:GET、POST、PUT、DELETE、PATCH、OPTIONS
  • 色分けされた出力(200は緑、認証関連エラーは黄)
  • レスポンスサイズと Allow ヘッダーのヒントを表示

出力の解釈

API-SPYメインスクリプト

root@kitploit:~
[+] Url found: http://api.example.com/v1            ← 200 OK (accessible)
    '-> Subscan http://api.example.com/v1? (y/n) [Auto-skip in 0s]: 
[-] Timeout: Skipped prompt for http://api.example.com/v1?
    '-> Probe methods on http://api.example.com/v1? (y/n) [Auto-skip in 4s]: 
[-] Url found but not permitted (403 ERR): ...      ← Forbidden but exists
[-] Url found but not permitted (401 ERR): ...      ← Requires authentication

API-Probeスクリプト

root@kitploit:~
[+] GET     -> STATUS: 200 OK (Size: 1024)
[-] POST    -> STATUS: 405 (Size: 0)
[Header Hint] Allow: GET, HEAD, OPTIONS

ワードリストの形式

エンドポイントを1行に1つずつ含むシンプルなテキストファイルを作成します:

root@kitploit:~
admin
users
api/users
v1/products
v2/customers
/api/v1/auth
/graphql
search
data
config

注: # で始まる行はコメントとして扱われ、無視されます。

推奨ワードリスト

API-SPYで使用できる人気のAPIワードリスト:

  • SecLists - API endpoints
  • Assetnote API wordlist
  • FuzzDB API routes

パフォーマンスのヒント

スレッド数のガイドライン

  • 1〜5スレッド:控えめ、検出リスクが低い、低速
  • 5〜20スレッド:パフォーマンスとステルス性のバランス
  • 20〜50スレッド:積極的なスキャン、より高速な結果
  • 50〜150スレッド:最大速度(WAF/IDSをトリガーする可能性があります)
root@kitploit:~
# Stealth mode (low threads)
python3 apispy.py http://target.com wordlist.txt -t3

# Balanced mode
python3 apispy.py http://target.com wordlist.txt -t15

# Aggressive mode
python3 apispy.py http://target.com wordlist.txt -t50

タイムアウト動作

  • 対話型プロンプトは 5秒 後に自動的にスキップされます
  • 大規模なターゲットリストの無人スキャンに便利
  • ソースコードの timeout=5 を変更してカスタマイズします

トラブルシューティング

「ワードリストが見つかりません」

ワードリストのパスが正しく、ファイルが存在することを確認してください:

root@kitploit:~
ls -la /path/to/wordlist.txt

スクリプト名が正しくないエラー

サブスキャン時には、以下を確認してください:

  • メインスクリプトの名前:apispy.py
  • プローブスクリプトの名前:apiprobe.py
  • 両方が同じディレクトリにあること

tmuxスプリットウィンドウが動作しない

--split が失敗する場合:

  • tmuxをインストール:sudo apt install tmux
  • tmuxセッションで実行していることを確認:tmux new-session -s scan
  • 自動的にxfce-terminalにフォールバックします

すべてのエンドポイントで「接続失敗」

  • ベースURLが正しくアクセス可能であることを確認
  • ファイアウォール/プロキシ設定を確認
  • ターゲットサービスが実行中であることを確認
  • 手動でテスト:curl http://your-url/

結果が見つからない場合

  • ワードリストに関連するエンドポイントが含まれているか確認
  • ターゲットが200/401/403以外のステータスコードを返すかどうか確認
  • タイムアウトを避けるため、少ないスレッドで試す
  • check_status() 関数のリクエストタイムアウトを増やす

セキュリティ上の考慮事項

⚠️ 法的および倫理的:

  • 所有しているシステム、または明示的な書面によるテスト許可を得たシステムのみをテストしてください
  • コンピュータシステムへの不正アクセスは、ほとんどの法域で違法です
  • 許可されたペネトレーションテストとセキュリティ研究のためにAPI-SPYを責任を持って使用してください
  • レート制限を尊重し、DoS攻撃を行わないでください

ベストプラクティス

  1. 認可を得る:テスト前に書面による許可を取得する
  2. 適切なワードリストを使用する:ターゲットに関連するエンドポイントを選択する
  3. 検出を監視する:WAF/IDSブロックやアカウントロックアウトに注意する
  4. レート制限を尊重する:本番システムでは低いスレッド数を使用する
  5. 発見事項を文書化する:レポート用に発見したすべてのエンドポイントを記録する

高度な使用法

カスタムタイムアウト値

ソースコードを編集してタイムアウト値を調整します:

root@kitploit:~
def ask_subscan(url, wordlist, timeout=10):  # Change from 5 to 10 seconds

結果のフィルタリング

特定のAPIパスを対象としたワードリストを作成します:

root@kitploit:~
# Admin endpoints only
grep -i "admin" full-wordlist.txt > admin-wordlist.txt

# v1 API only
grep "v1" full-wordlist.txt > v1-wordlist.txt

バッチスキャン

ループで複数のターゲットをスキャンします:

root@kitploit:~
for target in http://target1.com http://target2.com http://target3.com; do
    python3 apispy.py "$target" wordlist.txt -t10
done

アーキテクチャ

apispy.py(メインスキャナー)

  • スキャンワークフローを調整します
  • スレッドと同時リクエストを管理します
  • 対話型プロンプトとターミナルの起動を処理します
  • サブスキャンとプローブ操作を調整します

apiprobe.py(メソッドプローバー)

  • 発見したエンドポイントでHTTPメソッドをテストします
  • メソッドの利用可能性とステータスコードを報告します
  • HTTPヘッダーからヒントを抽出します
  • エンドポイントの機能評価を提供します

コントリビューション

コントリビューションを歓迎します!お気軽に:

  • バグや問題を報告
  • 新機能を提案
  • ドキュメントを改善
  • パフォーマンスを最適化

免責事項

このツールは、教育および許可されたセキュリティテストの目的でのみ提供されます。システムをスキャンする前に適切な許可を得ていることを確認する責任は利用者にあります。コンピュータシステムへの不正アクセスは違法です。

ライセンス

このプロジェクトは、セキュリティ研究および許可されたテスト目的のために現状有姿(as-is)で提供されます。


作成者: austinjump-sec
リポジトリ: austinjump-sec/API-SPY

ツールをダウンロード
引数説明
--t<number>スレッド数(最大150、デフォルト:1)
--split新しいターミナルウィンドウの代わりにtmuxスプリットウィンドウを使用
--debug通常は非表示のエラーメッセージを表示
--loud404以外を返すものを強調しながら、成功メッセージとエラーの両方を含むすべてのメッセージを表示
--jsJavaScriptファイルをスキャンし、見つかったファイルから一般的なハードコードされたAPIエンドポイントをスクレイピング