pentest-recon-attack-surface について
許可を得たホワイトボックス評価向けの偵察スキルです。外部ネットワークスキャン、認証済みブラウザーでの探索、ソースコード分析を関連付け、エンドポイント一覧や権限構造、認可上の問題候補をまとめます。
主な機能
- 01技術スタックの特定と外部ネットワークのスキャン
- 02権限レベル別のウェブ操作探索
- 03ソースコードからルートとミドルウェアを抽出
- 04認可と入力検証の確認
- 05セッションと権限構造の整理
活用シーン
- 01認可情報を含むAPIエンドポイント一覧の作成
- 02デプロイ設定と公開サービスの照合
- 03認可チェックがない可能性のあるルートの特定
- 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 マニフェスト)
中核となるワークフロー
- テクノロジーのフィンガープリンティング:whatweb と httpx を実行し、フレームワーク、言語、サーバーのバージョン、WAF の有無、レスポンスヘッダーの特徴を特定します。
- 外部スキャンの相関分析:nmap のサービズスキャンと subfinder のサブドメイン列挙を実行します。検出したサービスをデプロイ設定(docker-compose のポート、k8s のサービス定義)と照合し、外部公開サービスと内部専用サービスを特定します。
- ブラウザーによる対話的な探索:各権限レベルで、認証済みの Playwright クロールを実行します。すべての XHR/fetch リクエスト、フォーム送信、WebSocket 接続、動的なルート遷移を取得します。認証コンテキストとともにリクエスト/レスポンスのペアを記録します。
- ルートマッパー:ソースコードからバックエンドのルート定義をすべて解析し、ファイル名と行番号を記録します。すべてのエンドポイントについて、HTTP メソッド、パスパターン、ミドルウェアチェーン、ハンドラー関数を抽出します。
- 認可チェッカー:各ルートについて、ミドルウェアチェーンをたどり、認証/認可の適用状況を特定します。認証ミドルウェアがないエンドポイントや、一貫性のない認可パターンにフラグを付けます。
- 入力バリデータ:パラメーターごとの検証ロジックを分析し、サーバー側の検証がないパラメーター、クライアント側でしか検証されないパラメーター、不完全な検証(例:型チェックはあるが範囲チェックがない)を特定します。
- セッションハンドラー:トークンの発行から検証、期限切れまでのライフサイクルをたどります。セッションの保存方式、トークンローテーションポリシー、ログアウト時の無効化動作をマッピングします。
- 認可アーキテクチャ:ソースコードからロール定義、権限の割り当て、権限階層を統合してまとめます。水平・垂直・ワークフローに関する認可脆弱性候補を特定します。
成果物
| 成果物 | 説明 |
|---|---|
| API エンドポイント一覧 | 表:メソッド、パス、認証の要否、許可されるロール、検証の概要、ファイル名と行番号 |
| ネットワークインタラクションマップ | 外部サービス、内部サービス、公開ポート、サブドメイン一覧 |
| ロールと権限のアーキテクチャ | ロール階層、権限マトリックス、権限昇格経路 |
| 認可脆弱性候補 | 認可の不備が疑われるエンドポイントの優先順位付きリスト |
| セッションアーキテクチャ | トークンの種類、保存方式、ローテーション、期限切れ、無効化の動作 |
ツールのカテゴリー
| カテゴリー | ツール | 目的 |
|---|---|---|
| フィンガープリンティング | whatweb、httpx、wappalyzer | テクノロジーとフレームワークの特定 |
| ネットワーク偵察 | nmap、subfinder、amass | サービスの検出とサブドメインの列挙 |
| Web クロール | Playwright、katana、gospider | 認証済みクロールと動的な探索 |
| コンテンツ探索 | ffuf、feroxbuster | 隠れたエンドポイントとディレクトリの検出 |
| コード分析 | semgrep、ripgrep、ast-grep | ルートの抽出とミドルウェアの追跡 |
| 設定分析 | 手動レビュー | デプロイ設定との相関分析 |
参考資料
references/tools.md- ツール関数のシグネチャとパラメーターreferences/workflows.md- 偵察ワークフローの定義と相関手順
コメント
Markdown 対応