recon-full について
ペネトレーションテスト向けのアクティブ偵察スキルです。範囲確認から資産の発見、サービス識別、脆弱性スキャンまでを段階的に整理し、結果の記録と優先順位付けを促します。
主な機能
- 01テスト範囲の確認
- 02サブドメイン列挙とポートスキャン
- 03稼働サービスと技術スタックの確認
- 04既知の脆弱性のスキャン
- 05発見事項の優先順位付けと要約
活用シーン
- 01ドメインや IP から攻撃面を整理
- 02公開サービスや管理エンドポイントの特定
- 03技術スタックに基づく追加テストの計画
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ wgpsec/ aboutsecurity --skill recon-fullインストール後、Claude Code で/recon-fullを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
evals/evals.jsonrecall.jsonreferences/web-discovery-methods.md詳細
アクティブな全工程偵察の方法論
このスキルは、ペネトレーションテストの標準的な第一歩です。ドメイン/IP を起点に、できる限り多くの資産と脆弱性を発見することを目的としています。
詳細な参考資料
- Web ディレクトリ、過去のエンドポイント、隠しパラメーター、Next.js/SPA ルートの発見 → references/web-discovery-methods.md
Phase 0: 範囲の確認
テスト対象の範囲とタスクの説明を確認し、できる限り対象範囲を超えないようにしてください。
- タスクでサブドメインをテストしないよう明示されている場合は、Phase 1: サブドメイン列挙の手順をスキップします。
- タスクで他のポートをテストしないよう明示されている場合は、Phase 2: ポートスキャンの手順をスキップします。
Phase 1: サブドメイン列挙
DNS 列挙ツールを使って、より多くのサブドメインを取得します。この手順は非常に重要です。サブドメインは、忘れられた攻撃対象領域(テスト環境、旧バージョン、内部システム)であることがよくあります。
推奨ツール
- ksubdomain
分析のポイント:
- サブドメインの命名パターン:
dev.,test.,staging.,api.,admin.は、通常、価値の高いターゲットです。 - CDN の分布:CDN で保護されたドメインでは、オリジン IP を探す必要がある場合があります。
- ワイルドカードレコード:
*.example.comが存在する場合は、DNS 解析だけでなく、辞書を使って列挙する必要があります。
Phase 2: ポートスキャン
発見した IP/ドメインに対して、ポートスキャンツールでポートをスキャンします。
推奨ツール
- naabu
価値の高いポート:
- Web:80, 443, 8080, 8443, 8888
- データベース:3306(MySQL), 5432(PostgreSQL), 6379(Redis), 27017(MongoDB)
- リモート管理:22(SSH), 3389(RDP), 5900(VNC)
- ミドルウェア:8009(AJP/Tomcat), 9200(Elasticsearch), 2375(Docker API)
推奨事項
- スキャンの結果、対象でポートが一つも開いていないと判断された場合は、全ポートスキャン(1-65535)を実行することを推奨します。
- 利用できるツールが他にない場合を除き、nmap の使用は推奨しません。速度が遅く、効果も低いためです。
Phase 3: 稼働状況の確認
urlive の稼働確認ツールを使って、HTTP/HTTPS サービスの稼働状況を確認します。
推奨ツール
- httpx
分析のポイント:
- HTTP から HTTPS へのリダイレクトチェーン
- ポートごとに異なるアプリケーションが返される場合(同一 IP 上の複数サイト)
- ステータスコード 403/401 のエンドポイント → 認証が必要な管理画面である可能性があります。
- ログインページへの 302 リダイレクト → 保護されたコンテンツがあることを示しています。
Phase 4: フィンガープリント識別
フィンガープリント識別ツールを使って技術スタックを特定します。これは、その後の脆弱性悪用の方向性を直接左右します。
推奨ツール
- nuclei
技術スタック → 攻撃戦略の対応表:
| 技術スタック | 優先的に確認する項目 |
|---|---|
| PHP | LFI/ファイルアップロード/デシリアライズ |
| Java/Spring | デシリアライズ/JNDI/Actuator |
| Python/Django/Flask | SSTI/Pickle |
| Node.js/Express | プロトタイプ汚染/SSRF |
| WordPress/Joomla | CMS 専用 POC |
| Nginx/Apache | パーサーの脆弱性/設定ミス |
Phase 5: POC スキャン
脆弱性スキャンツールを使って、既知の脆弱性をスキャンします。フィンガープリントの結果に基づき、特定の脆弱性カテゴリに注目してください。
推奨ツール
- nuclei
一般的な脆弱性の種類
- フレームワークの脆弱性(Spring4Shell, Struts2, Log4j)
- CMS の脆弱性(WordPress plugin, Joomla, Drupal)
- ミドルウェアの脆弱性(Tomcat Manager, WebLogic, JBoss)
出力要件
各フェーズの終了後に、発見事項を簡潔にまとめます。最終的な結果は、攻撃の優先度順に並べてください。
- 直接悪用できる重大な脆弱性
- 外部に公開された管理画面と機密インターフェース
- さらなる調査が可能な攻撃対象領域
コメント
Markdown 対応