本文へ移動
cccskills
無料GitHub で公開

pentest-executor

ペネトレーションテストを対話的に実行するスキル。認可確認(Authorization Gate)→カテゴリ選択(Methodology, Reconnaissance, Scanning, VulnerabilityScanning, WebAppTesting, APITesting, PasswordAttacks, Exploitation, PrivilegeEscalation, ActiveDirectory, PostExploitation, WirelessAttacks, NetworkAttacks, SocialEngineering, CloudPentesting, MobileAppTesting, ContainerK8s, BinaryExploitation, OWASPTop10, Reporting, EmailSecurity, DatabaseAttacks, VPNRemoteAccess の全23カテゴリ)→ツール選択→コマンド実行→発見記録(Finding)→レポート生成をステップバイステップで進行。スコープ/除外チェック・ガードレール付き。「ペンテスト実行」「pentest」「侵入テスト」「脆弱性診断」「セキュリティテスト」「pentest executor」で発火。

インストール方法を見る

含まれるファイル(28)

  • SKILL.md14.8 KB
  • .gitignore10 B
  • assets/finding-template.md552 B
  • README.md10.8 KB
  • references/00-INDEX.md5.5 KB
  • references/01-Methodology.md25.6 KB
  • references/02-Reconnaissance.md36.0 KB
  • references/03-Scanning.md25.8 KB
  • references/04-VulnerabilityScanning.md27.8 KB
  • references/05-WebAppTesting.md41.2 KB
  • references/06-APITesting.md53.2 KB
  • references/07-PasswordAttacks.md27.6 KB
  • references/08-Exploitation.md41.6 KB
  • references/09-PrivilegeEscalation.md37.4 KB
  • references/10-ActiveDirectory.md43.7 KB
  • references/11-PostExploitation.md45.1 KB
  • references/12-WirelessAttacks.md20.3 KB
  • references/13-NetworkAttacks.md35.5 KB
  • references/14-SocialEngineering.md22.8 KB
  • references/15-CloudPentesting.md32.1 KB
  • references/16-MobileAppTesting.md37.7 KB
  • references/17-ContainerK8s.md37.2 KB
  • references/18-BinaryExploitation.md25.7 KB
  • references/19-OWASPTop10.md38.0 KB
  • references/20-Reporting.md26.8 KB
  • references/21-EmailSecurity.md52.9 KB
  • references/22-DatabaseAttacks.md52.1 KB
  • references/23-VPNRemoteAccess.md52.8 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Pentest Executor スキルを読み込みました。対話的にペネトレーションテストを実行します。

このスキルは references/ ディレクトリ内の実務リファレンス(23カテゴリ・24,000行超)をナレッジベースとして、認可確認→カテゴリ選択→ツール選択→コマンド実行→発見記録→レポート生成を一貫して行います。


A. Authorization Gate — 全実行の前提条件

コマンド実行前に必ず認可情報を確認すること。これを省略してはならない。

AskUserQuestion で以下を確認し、target_context として保持する:

確認項目

項目説明例
ターゲットテスト対象のドメイン/IP/CIDRexample.com, 192.168.1.0/24
スコープテスト範囲(含む対象)*.example.com, ポート1-65535
除外対象テストしてはならない対象prod-db.example.com, DoS系テスト
テスト種別Black Box / Gray Box / White BoxGray Box(認証情報あり)
テスト期間開始日〜終了日2026-03-11 〜 2026-03-15
制約事項禁止行為・特別条件DoS禁止、営業時間外のみ
認可根拠書面/口頭/契約番号「契約書 #PT-2026-001 に基づく」

確認フロー

1. AskUserQuestion でターゲットとスコープを質問
2. AskUserQuestion でテスト種別と制約を質問
3. 入力情報を target_context としてまとめて表示し、最終確認
4. ユーザーが承認したら実行フェーズへ進む

target_context フォーマット(以降のコマンドで変数置換に使用):

TARGET: [ドメイン/IP]
SCOPE: [範囲]
EXCLUDE: [除外]
TYPE: [Black/Gray/White]
PERIOD: [期間]
CONSTRAINTS: [制約]

認可が不明確な場合は「認可の証拠が確認できないため、実行できません」と明示して停止する。


B. Category Selection

AskUserQuestion (multiSelect: true) で実行カテゴリを選択させる。

カテゴリ一覧(PTESベースのフェーズ順 = 番号順)

フェーズ#カテゴリ概要
計画01MethodologyPTES, OSSTMM, NIST SP800-115, MITRE ATT&CK
偵察02ReconnaissanceOSINT・サブドメイン列挙・DNS調査
分析03Scanningネットワーク/ポートスキャン
分析04VulnerabilityScanning脆弱性スキャナ・Webスキャナ
攻撃05WebAppTestingSQLi・XSS・ディレクトリ探索
攻撃06APITestingREST/GraphQL/gRPC/WebSocket・JWT攻撃・OWASP API Top 10
攻撃07PasswordAttacksクラック・ブルートフォース
攻撃08ExploitationMetasploit・ペイロード生成
後処理09PrivilegeEscalationLinux/Windows権限昇格
後処理10ActiveDirectoryAD攻撃・Kerberos・横展開
後処理11PostExploitation永続化・データ収集・Exfiltration・痕跡消去
専門12WirelessAttacksWi-Fi攻撃・WPA/WPA2
専門13NetworkAttacksMITM・スニッフィング
専門14SocialEngineeringフィッシング・SE
専門15CloudPentestingAWS/Azure/GCP
専門16MobileAppTestingAndroid/iOS診断・Frida・objection・MobSF
専門17ContainerK8sコンテナエスケープ・K8s RBAC攻撃・レジストリ
専門18BinaryExploitationリバースエンジニアリング・BOF・ROP・pwntools
横断19OWASPTop10OWASP Top 10 (2021)
報告20Reportingレポート構成・リスク評価・修正提案
企業インフラ21EmailSecuritySPF/DKIM/DMARC検証・Exchange/M365攻撃・SMTP診断
企業インフラ22DatabaseAttacksMSSQL/Oracle/PostgreSQL/MySQL/NoSQL固有攻撃
企業インフラ23VPNRemoteAccessSSL VPN/IPSec/RDP/SSH診断・既知CVE

選択肢の構成

AskUserQuestion の options:

  1. 全カテゴリ順次実行 — 番号順(01→02→...→23)で全て実行
  2. 計画フェーズ (01-Methodology) — テスト方法論の選定
  3. 偵察フェーズ (02-Recon) — まず情報収集から
  4. 分析フェーズ (03-Scan, 04-VulnScan) — ポート/脆弱性スキャン
  5. 攻撃フェーズ (05-Web, 06-API, 07-Pass, 08-Exploit) — 脆弱性の実証
  6. 後処理フェーズ (09-PrivEsc, 10-AD, 11-PostExploit) — 権限昇格・横展開・永続化
  7. 専門フェーズ (12-Wireless, 13-Network, 14-SE, 15-Cloud, 16-Mobile, 17-Container/K8s, 18-Binary) — 特化領域
  8. 横断チェック (19-OWASP) — OWASP Top 10 準拠確認
  9. 企業インフラフェーズ (21-Email, 22-Database, 23-VPN/RemoteAccess) — メール・DB・リモートアクセス
  10. 報告フェーズ (20-Reporting) — レポート生成

※ multiSelect: true なので、ユーザーは複数選択または「Other」でカテゴリ番号を直接指定できる。

フェーズ選択後、そのフェーズに含まれるカテゴリを順番に実行する。


C. Execution Flow Per Category — スキルの中核

各カテゴリについて以下のサイクルを回す:

Step 1: リファレンス読み込み

Read で references/XX-Name.md を読み込む(1カテゴリずつ)
  • リファレンスパス: スキルベースディレクトリからの相対パス references/XX-Name.md

Step 2: ツール選択

リファレンス内の「ツール一覧」比較表をユーザーに提示し、AskUserQuestion で使用ツールを選択させる。

提示フォーマット:

[カテゴリ名] で使用するツールを選択してください:

1. [ツール名A] — [1行説明]
2. [ツール名B] — [1行説明]
3. [ツール名C] — [1行説明]

Step 3: 対話的コマンド実行

選択されたツールのリファレンスセクションから、コマンドを1つずつ提示して実行する。

コマンド提示のルール:

  1. 変数置換: コマンド内の <target>, <domain>, <ip> 等を target_context の値で置換
  2. 説明: コマンドが何をするか1-2行で説明
  3. 確認: ユーザーの承認を得てから Bash で実行(自動実行は禁止)
  4. 出力分析: 実行結果を解析し、重要な発見(開いているポート、脆弱性、認証情報等)をハイライト
  5. 次のアクション選択: AskUserQuestion で以下から選択
次のアクション:
1. 次のステップへ進む
2. 発見事項を記録する (Finding)
3. オプションを変更して再実行
4. 次のツールへ進む
5. 次のカテゴリへ進む

コマンド実行時の注意:

  • 出力が大きい場合は重要部分を抽出して表示
  • エラーが出た場合はトラブルシューティングを提案
  • ツールがインストールされていない場合はインストールコマンドを提示(macOS: Homebrew優先)

Step 4: カテゴリ完了サマリー

カテゴリの全ツール完了後(またはユーザーがスキップ時):

## [カテゴリ名] 完了サマリー

### 実施内容
- [ツール名]: [何を実行したか]
- ...

### 発見事項
- F-001: [タイトル] (深刻度)
- F-002: [タイトル] (深刻度)

### 次カテゴリへの引き継ぎ情報
- 発見されたホスト: [一覧]
- 開放ポート: [一覧]
- 検出された脆弱性: [一覧]

カテゴリ間データフロー

前カテゴリの出力を次カテゴリのターゲット情報として自動提案する:

                                                  19-OWASP(横断的チェック)
                                                       ↕
02-Recon (ドメイン/IP発見) → 03-Scan (ポート/サービス特定) → 04-VulnScan (CVE検出)
                                    ↓                              ↓
                          05-WebApp / 06-API / 07-Password → 08-Exploit
                                                                ↓
                                              09-PrivEsc → 10-AD → 11-PostExploit
                                                                ↓
                          12-18 専門領域(対象環境に応じて選択)→ 20-Reporting

19-OWASP は特定フェーズの後段ではなく、Web/API テストを中心に全フェーズに横断的に適用する観点。

具体例:

  • 02-Recon でサブドメイン admin.example.com (10.0.0.5) を発見 → 03-Scan で nmap 10.0.0.5 を自動提案
  • 03-Scan でポート 443/tcp (HTTPS) を検出 → 05-WebApp で https://admin.example.com をターゲットに自動設定
  • 04-VulnScan で Web アプリの脆弱性を検出 → 05-WebApp / 06-API で詳細テストを提案
  • 04-VulnScan で CVE-2024-XXXX を検出 → 08-Exploit で該当エクスプロイトモジュールを提案
  • 08-Exploit で初期アクセス獲得 → 09-PrivEsc で権限昇格、11-PostExploit で永続化・データ収集を提案
  • 03-Scan でコンテナ環境を検出 → 17-ContainerK8s でコンテナエスケープ・K8s攻撃を提案

D. Finding Tracking — 発見事項の記録

記録タイミング

ユーザーが「発見事項を記録する」を選択した時、または明らかな脆弱性を検出した時に提案する。

記録フォーマット

assets/finding-template.md のテンプレートに従い、以下を記録する:

## F-[連番3桁]: [タイトル]

| 項目 | 内容 |
|------|------|
| ID | F-[連番3桁] |
| 日付 | [実行日] |
| カテゴリ | [XX-Name] |
| ツール | [ツール名] |
| 深刻度 | Critical / High / Medium / Low / Informational |
| CVSS | [スコア] ([ベクタ文字列]) |
| CWE | CWE-XXX |
| 対象 | [host:port or URL] |

### 説明
[脆弱性の技術的説明]

### 証拠
[実行コマンドと出力]

### 影響
[攻撃者が悪用した場合の影響]

### 修正提案
- **短期対策**: [即時対応]
- **長期対策**: [根本対応]

深刻度の判定基準

深刻度CVSS条件
Critical9.0-10.0リモートから認証なしで任意コード実行、データ全件漏洩
High7.0-8.9認証バイパス、権限昇格、重要データ漏洩
Medium4.0-6.9情報漏洩(限定的)、DoS、設定不備
Low0.1-3.9軽微な情報漏洩、推奨設定の欠如
Informational0.0セキュリティ改善の推奨事項

進捗管理

TaskCreate で発見事項の追跡タスクを作成し、修正確認まで管理する。


E. Report Generation — レポート生成

生成タイミング

  • 全カテゴリ完了後に自動提案
  • ユーザーが任意のタイミングで要求した時

レポート構成

references/20-Reporting.md のレポート構成ガイド(構成例・品質チェック・再テスト・提出後フォローを含む)を参照し、以下の構成で生成する:

# ペネトレーションテスト報告書

## 1. エグゼクティブサマリー
- テスト概要(1段落)
- 重要な発見事項(Critical/High のみ箇条書き)
- 全体的なセキュリティ評価(A〜F)

## 2. テスト概要
- 対象: [target_context から]
- 期間: [target_context から]
- 種別: [Black/Gray/White]
- 手法: [実施したカテゴリ一覧]
- 使用ツール: [全ツール一覧]

## 3. 発見事項詳細
### 3.1 Critical
[F-XXX の詳細]
### 3.2 High
[F-XXX の詳細]
### 3.3 Medium
[F-XXX の詳細]
### 3.4 Low / Info
[F-XXX の詳細]

## 4. リスクマトリクス
| 深刻度 | 件数 | 対応優先度 |
|--------|------|-----------|
| Critical | X件 | 即時対応 |
| High | X件 | 1週間以内 |
| Medium | X件 | 1ヶ月以内 |
| Low | X件 | 次回メンテ |
| Informational | X件 | 推奨 |

## 5. 修正提案サマリー
[全発見事項の修正提案を優先度順に一覧]

## 6. 付録
- A. 詳細スキャン結果
- B. ツールバージョン一覧
- C. テスト実施ログ

出力

ファイルとして pentest-report-YYYY-MM-DD.md をカレントディレクトリに生成する。


F. Guard Rails — 安全装置

必須ルール

  1. 認可確認: セクションAのAuthorization Gateを通過しない限り、一切のコマンドを実行しない
  2. コマンド単位の確認: すべてのコマンドはユーザー承認後に実行する。自動実行は禁止
  3. スコープ境界チェック: target_context の SCOPE/EXCLUDE と照合し、スコープ外のターゲットへのコマンドは実行を拒否する
  4. 出力の機密管理: 発見された認証情報・トークン等はレポートでマスク処理を提案する

禁止事項

禁止行為理由
無確認でのコマンド実行意図しない攻撃の防止
スコープ外への攻撃法的リスク
DoS/DDoS の実行明示的許可がない限り禁止
本番環境への破壊的操作データ損失リスク
発見した認証情報の悪用倫理的境界

環境対応

環境対応
macOSHomebrew でのインストールコマンドを優先提示。Linux専用ツールは代替手段を提案
root/sudosudo 実行時は「root権限で実行します」と警告表示
Dockerコンテナ内実行が推奨されるツール(Metasploit等)はDocker runコマンドも提示
ツール未インストールwhich [tool] で確認し、未インストール時はインストール手順を提示

エラーハンドリング

  • ツールがタイムアウトした場合: タイムアウト値の調整を提案
  • 権限エラー: 必要な権限と取得方法を提示
  • ネットワークエラー: 接続確認コマンドを提示(ping, traceroute)
  • ツールのバージョン不一致: 必要バージョンとアップデート方法を提示

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

このスキルの問題を報告する