penetration-tester について
penetration-tester は、Web アプリ、API、ネットワーク、クラウド基盤の許可済みセキュリティ評価を支援するスキルです。偵察やツールによるスキャンに加え、手動検証、安全な概念実証テスト、修正レポートを扱います。
主な機能
- 01Web、API、ネットワーク、クラウドの評価
- 02ブラックボックス、グレーボックス、ホワイトボックスの手法
- 03偵察と脆弱性の発見
- 04スキャナー検出結果の手動検証
- 05安全な概念実証テスト
- 06リスク評価と修正レポート
活用シーン
- 01OWASP のリスクに沿った Web アプリのテスト
- 02GraphQL または REST API の認可確認
- 03AWS IAM と S3 の設定評価
- 04自動スキャナーの検出結果の検証
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ 404kidwiz/ claude-supercode-skills --skill penetration-testerインストール後、Claude Code で/penetration-testerを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/attack_vectors.mdcvss_scoring.mdtesting_methodology.mdtool_setup.mdscripts/auth_test.pygenerate_report.pyrecon_scan.pysql_injection_test.pyvuln_scan.pyweb_app_test.pyxss_test.py詳細
ペネトレーションテスター
目的
Web アプリケーション、ネットワーク、クラウドインフラストラクチャ全般にわたる脆弱性評価とペネトレーションテストを専門とする、倫理的なハッキングと攻撃的セキュリティの専門知識を提供します。悪意のある攻撃者が悪用する前に、セキュリティ脆弱性を特定して悪用します。
使用する場面
- Web アプリケーション、API、ネットワークのセキュリティ態勢を評価する場合
- 「ブラックボックス」「グレーボックス」「ホワイトボックス」のペネトレーションテストを実施する場合
- 自動スキャナーの検出結果を検証する場合(誤検知分析)
- 影響を証明するために特定の脆弱性(SQLi、XSS、SSRF、RCE)を悪用する場合
- 対象に対して偵察や OSINT を実施する場合
- GraphQL または REST API の IDOR やロジック上の欠陥を監査する場合
2. 判断フレームワーク
テスト方法の選択
What is the target?
│
├─ **Web Application**
│ ├─ API intensive? → **API Test** (Postman/Burp, focus on IDOR/Auth)
│ ├─ Legacy/Monolith? → **OWASP Top 10** (SQLi, XSS, Deserialization)
│ └─ Modern/SPA? → **Client-side attacks** (DOM XSS, CSTI, JWT)
│
├─ **Cloud Infrastructure**
│ ├─ AWS/Azure/GCP? → **Cloud Pentest** (Pacu, ScoutSuite, IAM privesc)
│ └─ Kubernetes? → **Container Breakout** (Capabilities, Role bindings)
│
└─ **Network / Internal**
├─ Active Directory? → **AD Assessment** (BloodHound, Kerberoasting)
└─ External Perimeter? → **Recon + Service Exploitation** (Nmap, Metasploit)
ツール選択マトリクス
| フェーズ | カテゴリ | ツールの推奨 |
|---|---|---|
| 偵察 | サブドメイン列挙 | Amass、Subfinder |
| 偵察 | コンテンツ検出 | ffuf、dirsearch |
| スキャン | 脆弱性 | Nuclei、Nessus、Burp Suite Pro |
| エクスプロイト | Web | Burp Suite、SQLMap |
| エクスプロイト | ネットワーク | Metasploit、NetExec |
| 侵害後 | Windows/AD | Mimikatz、BloodHound、Impacket |
深刻度スコア(CVSS 3.1)
| 深刻度 | スコア | 基準 | 例 |
|---|---|---|---|
| 重大 | 9.0 - 10.0 | RCE、認証バイパス、SQLi(データダンプ) | リモートコード実行 |
| 高 | 7.0 - 8.9 | 格納型 XSS、IDOR(機密情報)、SSRF | 管理者アカウントの乗っ取り |
| 中 | 4.0 - 6.9 | 反射型 XSS、CSRF、情報漏えい | スタックトレースの漏えい |
| 低 | 0.1 - 3.9 | Cookie フラグ、バナー取得 | HttpOnly フラグの欠落 |
危険信号 → legal-advisor にエスカレーションしてください:
- スコープの逸脱(契約に含まれていないシステムへのアクセス)
- ピーク時間帯の本番環境テスト(DoS のリスク)
- 許可なく PII/PHI にアクセスすること(概念実証のみ)
- 許可なくサードパーティの SaaS プロバイダーをテストすること
3. コアワークフロー
ワークフロー 1:Web アプリケーション評価(OWASP)
目標: Web アプリケーションの重大な脆弱性を特定します。
手順:
-
偵察
# サブドメインの検出 subfinder -d target.com -o subdomains.txt # 稼働中ホストの確認 httpx -l subdomains.txt -o live_hosts.txt -
マッピングと検出
- アプリケーションをクロールします(Burp Suite)。
- すべてのエントリーポイント(入力、URL パラメーター、ヘッダー)を特定します。
- ファジング:
ffuf -u https://target.com/FUZZ -w wordlist.txt -mc 200,403
-
脆弱性の探索
- SQL インジェクション: ログインフォームや ID で
' OR 1=1--をテストします。 - XSS: コメントや検索欄で
<script>alert(1)</script>をテストします。 - IDOR:
user_id=100をuser_id=101に変更します。
- SQL インジェクション: ログインフォームや ID で
-
エクスプロイト(PoC)
- 脆弱性を確認します。
- リクエスト/レスポンスを記録します。
- 影響(機密性、完全性、可用性)を見積もります。
ワークフロー 3:クラウドセキュリティ評価(AWS)
目標: 権限昇格につながる設定ミスを特定します。
手順:
-
列挙
- 認証情報を入手します(漏えいしたもの、または提供されたもの)。
- ScoutSuite を実行します:
scout aws
-
S3 バケットの分析
- 公開バケットがないか確認します。
- 書き込み可能なバケットがないか確認します(認証済みユーザー)。
-
IAM の権限昇格
- 権限を分析します。
iam:PassRole、ec2:CreateInstanceProfileを探します。 - 悪用方法:Admin ロールを持つ EC2 インスタンスを作成して SSH 接続し、メタデータ認証情報を盗みます。
- 権限を分析します。
5. アンチパターンと注意点
❌ アンチパターン 1:「スキャンはペネトレーションテスト」
どのようなものか:
- Nessus/Acunetixを実行し、PDFをエクスポートして、ペネトレーションテストと呼ぶことです。
なぜ失敗するのか:
- スキャナーはビジネスロジックの欠陥(IDOR、ロジックのバイパス)を見逃します。
- スキャナーは誤検知を報告します。
- クライアントが対価を支払うのは、人間の専門知識に対してであり、ツールの出力に対してではありません。
正しいアプローチ:
- カバレッジ(簡単に見つかる問題)にはスキャナーを使用します。
- 深度(重大な欠陥)には手動テストを使用します。
❌ アンチパターン 2:本番環境での破壊的なテスト
どのようなものか:
- 本番データベースで
sqlmap --os-shellを実行することです。 - 脆弱なサーバーに対して、高スレッド数の
dirbusterスキャンを実行することです。
なぜ失敗するのか:
- データの破損。
- 実際のユーザーに対するサービス拒否(DoS)。
- 法的責任。
正しいアプローチ:
- 可能な限り読み取り専用のペイロードを使用します(例:
DROP TABLEではなくSLEEP(5))。 - スキャンツールにレート制限を設定します。
- 可能な限りステージング環境でテストします。
❌ アンチパターン 3:スコープの無視
どのようなものか:
www.target.comのみがスコープ内であるにもかかわらず、admin.target.comをテストすることです。- ソーシャルエンジニアリングが対象外であるにもかかわらず、従業員にフィッシングを行うことです。
なぜ失敗するのか:
- 契約違反。
- 刑事訴追の可能性(CFAA)。
正しいアプローチ:
- 必ずエンゲージメントルール(RoE)を確認します。
- スコープ外で興味深いものを見つけた場合は、まず許可を求めます。
例
例 1:Web アプリケーションのセキュリティ評価
シナリオ: 金融サービスのWebアプリケーションに対して、OWASP Top 10の包括的な評価を実施します。
テストアプローチ:
- 偵察:サブドメインの列挙、技術スタックの特定
- マッピング:アプリケーション全体のスパイダー処理、エンドポイントの発見
- 脆弱性スキャン:自動スキャンと手動検証
- エクスプロイト:重大な検出結果に対する概念実証の開発
主な検出結果:
| 脆弱性 | CVSS | 影響 | 修正方法 |
|---|---|---|---|
| SQLインジェクション(認証バイパス) | 9.8 | データベースへの完全なアクセス | パラメーター化クエリ |
| 格納型XSS(管理者パネル) | 8.1 | セッションハイジャック | 入力のサニタイズ |
| IDOR(アカウント乗っ取り) | 7.5 | 不正アクセス | 認可チェック |
| CSPヘッダーの欠如 | 5.3 | XSSの脆弱性 | CSPを実装 |
修正の検証:
- パッチ適用後にすべての検出結果を再テストしました
- 機能にリグレッションがないことを確認しました
- 最終レポートに誤検知がないことを確認しました
例 2:クラウドインフラストラクチャの評価(AWS)
シナリオ: AWS本番環境のセキュリティ設定ミスを特定します。
評価アプローチ:
- 列挙:IAMポリシー、S3バケットの権限、EC2セキュリティグループ
- 設定ミスの分析:ScoutSuiteによる自動スキャン
- 権限昇格:権限連鎖攻撃の可能性をテスト
- エクスプロイト:PoCを用いて重大な検出結果を検証
重大な検出結果:
- 3つのS3バケットでパブリック読み取りアクセスが可能
- 過剰な権限を持つIAMユーザー(iam:PassRole → ec2:RunInstances)
- 制限のないSSHアクセスを許可するセキュリティグループ(0.0.0.0/0)
- 機密データを含む、暗号化されていないEBSボリューム
ビジネスへの影響:
- データ侵害の潜在的なリスク:50,000件以上の顧客レコード
- 不正なコンピューティングリソース作成のリスク
- コンプライアンス違反(PCI-DSS、SOC 2)
修正:
- パブリックバケットの作成を制限するSCPを実装しました
- IAMポリシーに最小権限の原則を適用しました
- 過度に許容的なセキュリティグループをすべて修正しました
- すべてのEBSボリュームで保存時の暗号化を有効にしました
例 3:API ペネトレーションテスト(GraphQL)
シナリオ: 医療アプリケーションの GraphQL API のセキュリティ評価。
テスト手法:
- イントロスペクション分析:スキーマの再構築とクエリ分析
- 認可テスト:BOLA/IDOR の脆弱性
- DoS テスト:クエリの複雑さとバッチ攻撃
- バイパスの試行:認証とレート制限のバイパス
調査結果:
| 調査結果 | 深刻度 | 悪用の容易さ | 修正方法 |
|---|---|---|---|
| BOLA(オブジェクトレベル認可の不備) | 重大 | 簡単 | 所有権の検証を追加 |
| イントロスペクションが有効 | 中 | 該当なし | 本番環境では無効にする |
| クエリ深度の制限なし | 高 | 簡単 | 最大深度を設定 |
| レート制限なし | 高 | 簡単 | レート制限を追加 |
実証された影響:
- ID パラメーターを操作して、任意の患者の医療記録にアクセス
- 深くネストされたクエリで一時的な DoS を発生
- イントロスペクションを通じて機密メタデータを抽出
ベストプラクティス
偵察と検出
- 徹底的な列挙:偵察では見落としがないようにします
- 自動化ツール:網羅性にはスキャナーを、深掘りには手動テストを活用します
- OSINT の統合:オープンソースインテリジェンスを活用します
- スコープの確認:テストの前に対象を確認します
脆弱性評価
- 手動での検証:自動検出されたすべての結果を確認します
- 誤検知の分析:実際の脆弱性であることを検証します
- ビジネスロジックのテスト:OWASP Top 10 にとどまらずテストします
- 包括的な網羅性:すべてのユーザーロールとフローをテストします
悪用と検証
- 安全な悪用:テスト中の影響を最小限に抑えます
- 概念実証:悪用可能性を明確に記録します
- 証拠の収集:スクリーンショット、ログ、リクエストを記録します
- スコープの境界:許可されたテスト範囲を決して超えません
報告とコミュニケーション
- 明確なドキュメント:証拠を添えて調査結果を詳細に記録します
- リスクスコアリング:CVSS を正確に算出します
- 実行可能な修正策:具体的で実装可能な助言を提示します
- エグゼクティブサマリー:技術に詳しくない関係者にも分かりやすくします
品質チェックリスト
準備:
- スコープ: 署名済みの RoE(ルール・オブ・エンゲージメント)と認可書。
- アクセス: 認証情報/VPN アクセスを確認済み。
- バックアップ: クライアントがバックアップを取得済みであることを確認(該当する場合)。
- 法務: テスト日程と範囲を書面で確認済み。
実施:
- 網羅性: すべてのユーザーロールをテスト済み(管理者、ユーザー、未認証)。
- 検証: スキャナーで検出されたすべての結果を手動で検証済み。
- 証拠: すべての調査結果についてスクリーンショット/ログを収集済み。
- 安全性: テストデータを削除し、恒久的な損害がないことを確認済み。
報告:
- 明確さ: エグゼクティブサマリーが技術に詳しくない関係者にも理解できる。
- リスク: CVSS スコアを正確に算出済み。
- 修正策: 実行可能で具体的な助言を提示(単に「修正してください」ではない)。
- クリーンアップ: テストデータ/アカウントを対象システムから削除済み。
- スケジュール: 合意した期間内に調査結果を提出済み。