mcpField
P
pentest-recon-attack-surface

pentest-recon-attack-surface

github.com/jd-opensourceセキュリティ31561 回インストール28 週間前に更新
リポジトリ

pentest-recon-attack-surface について

許可を得たホワイトボックス評価向けの偵察スキルです。外部ネットワークスキャン、認証済みブラウザーでの探索、ソースコード分析を関連付け、エンドポイント一覧や権限構造、認可上の問題候補をまとめます。

主な機能

  1. 01技術スタックの特定と外部ネットワークのスキャン
  2. 02権限レベル別のウェブ操作探索
  3. 03ソースコードからルートとミドルウェアを抽出
  4. 04認可と入力検証の確認
  5. 05セッションと権限構造の整理

活用シーン

  1. 01認可情報を含むAPIエンドポイント一覧の作成
  2. 02デプロイ設定と公開サービスの照合
  3. 03認可チェックがない可能性のあるルートの特定
  4. 04コードレビュー向けの認可問題候補の整理

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/jd-opensource/joysafeter --skill pentest-recon-attack-surface

インストール後、Claude Code で/pentest-recon-attack-surfaceを入力して読み込まれたか確認します。

同梱ファイルreferences/tools.mdreferences/workflows.md

詳細

ペネトレーションテスト:偵察と攻撃対象領域

目的

外部ネットワークスキャン、認証済みブラウザーによる探索、ソースコード分析という3つのデータソースを関連付け、包括的な攻撃対象領域のマッピングを実施します。認可メタデータ、ロール/権限アーキテクチャ、優先順位付けされた認可脆弱性候補を含む、構造化されたエンドポイント一覧を作成し、後続のコードレビューとエクスプロイトに役立てます。

前提条件

認可要件
  • 偵察およびソースコードへのアクセス範囲を明示した書面による許可
  • 対象アプリケーションのソースコードへのアクセス(ホワイトボックス調査)
  • あらゆる権限レベル(匿名ユーザー、一般ユーザー、管理者、サービス)のテストアカウント
  • ネットワークスキャンの承認 — 許容されるスキャン強度を対象の所有者に確認します
環境のセットアップ
  • 外部偵察用の nmap、subfinder、httpx、whatweb
  • 認証済みブラウザーコンテキストを使用する Playwright
  • Web クロール用の katana または gospider
  • コンテンツ探索用の ffuf
  • ソースコード分析用の semgrep と ripgrep
  • デプロイ設定へのアクセス(Dockerfile、docker-compose、k8s マニフェスト)

中核となるワークフロー

  1. テクノロジーのフィンガープリンティング:whatweb と httpx を実行し、フレームワーク、言語、サーバーのバージョン、WAF の有無、レスポンスヘッダーの特徴を特定します。
  2. 外部スキャンの相関分析:nmap のサービズスキャンと subfinder のサブドメイン列挙を実行します。検出したサービスをデプロイ設定(docker-compose のポート、k8s のサービス定義)と照合し、外部公開サービスと内部専用サービスを特定します。
  3. ブラウザーによる対話的な探索:各権限レベルで、認証済みの Playwright クロールを実行します。すべての XHR/fetch リクエスト、フォーム送信、WebSocket 接続、動的なルート遷移を取得します。認証コンテキストとともにリクエスト/レスポンスのペアを記録します。
  4. ルートマッパー:ソースコードからバックエンドのルート定義をすべて解析し、ファイル名と行番号を記録します。すべてのエンドポイントについて、HTTP メソッド、パスパターン、ミドルウェアチェーン、ハンドラー関数を抽出します。
  5. 認可チェッカー:各ルートについて、ミドルウェアチェーンをたどり、認証/認可の適用状況を特定します。認証ミドルウェアがないエンドポイントや、一貫性のない認可パターンにフラグを付けます。
  6. 入力バリデータ:パラメーターごとの検証ロジックを分析し、サーバー側の検証がないパラメーター、クライアント側でしか検証されないパラメーター、不完全な検証(例:型チェックはあるが範囲チェックがない)を特定します。
  7. セッションハンドラー:トークンの発行から検証、期限切れまでのライフサイクルをたどります。セッションの保存方式、トークンローテーションポリシー、ログアウト時の無効化動作をマッピングします。
  8. 認可アーキテクチャ:ソースコードからロール定義、権限の割り当て、権限階層を統合してまとめます。水平・垂直・ワークフローに関する認可脆弱性候補を特定します。

成果物

成果物説明
API エンドポイント一覧表:メソッド、パス、認証の要否、許可されるロール、検証の概要、ファイル名と行番号
ネットワークインタラクションマップ外部サービス、内部サービス、公開ポート、サブドメイン一覧
ロールと権限のアーキテクチャロール階層、権限マトリックス、権限昇格経路
認可脆弱性候補認可の不備が疑われるエンドポイントの優先順位付きリスト
セッションアーキテクチャトークンの種類、保存方式、ローテーション、期限切れ、無効化の動作

ツールのカテゴリー

カテゴリーツール目的
フィンガープリンティングwhatweb、httpx、wappalyzerテクノロジーとフレームワークの特定
ネットワーク偵察nmap、subfinder、amassサービスの検出とサブドメインの列挙
Web クロールPlaywright、katana、gospider認証済みクロールと動的な探索
コンテンツ探索ffuf、feroxbuster隠れたエンドポイントとディレクトリの検出
コード分析semgrep、ripgrep、ast-grepルートの抽出とミドルウェアの追跡
設定分析手動レビューデプロイ設定との相関分析

参考資料

  • references/tools.md - ツール関数のシグネチャとパラメーター
  • references/workflows.md - 偵察ワークフローの定義と相関手順

コメント