付録C. AI セットアッププロンプト集 🤖¶
セットアップを AI(Claude Code / ChatGPT 等のコマンドを実行できる AI アシスタント)に 手伝ってもらうための、コピペで使えるプロンプト集です。 下のブロックをそのまま貼れば、AI が手順を進めてくれます。
⚠️ 使う前に必ず読む - AI が実行しようとするコマンドは、実行前に自分で内容を確認してください。 - 導入する道具(nmap / Metasploit / Kali 等)は、自分の持ち物・許可された対象にのみ使うこと。 - AI は間違える(ハルシネーション)ことがあります。最終判断は人間です。 - 環境(OS・チップ・既存の設定)によって手順が変わるので、AI には自分の環境を伝えてください。
プロンプト1:道具一式を入れる(パターンA)¶
あなたは私の Mac(Apple Silicon / macOS)のセットアップを手伝うアシスタントです。
ペネトレーションテストの「学習用ローカル練習環境」を作りたいので、次を順に進めてください。
前提・ルール:
- 対象は私自身のマシン内の練習用コンテナだけ。外部や他人の資産には一切触れない。
- 各コマンドは実行前に、何をするものか1行で説明してから実行してください。
- 既に入っているものは再インストールせず、確認だけしてください。
やってほしいこと:
1. Homebrew があるか確認(無ければ入れ方だけ案内)
2. nmap をインストール(無ければ)、バージョンを表示
3. Docker が動いているか確認(無ければ Docker Desktop の案内)
4. Metasploit の公式 Docker イメージ metasploitframework/metasploit-framework を取得
5. 最後に、入ったものの一覧を表示して完了報告
完了したら「次は練習用の的を立てる段階」であることを教えてください。
プロンプト2:練習用の的(ターゲット)を立てる¶
私の Mac(Docker 稼働中)に、ペンテスト学習用の「わざと脆弱な練習ターゲット」を
ローカル(127.0.0.1 のみ公開)で立ててください。
ルール:
- 必ず 127.0.0.1 バインドにして、外部ネットワークには公開しないこと。
- 立てる前に、使うポートが空いているか確認してください。
立ててほしい的:
1. Vulhub の Struts2 S2-045(vulhub/struts2:2.3.30)を 127.0.0.1:8088 に
2. OWASP Juice Shop(bkimminich/juice-shop)を 127.0.0.1:3000 に
起動後、それぞれ HTTP 応答が返るか確認して、アクセス用の URL を教えてください。
終わったら止め方(docker stop / rm)も教えてください。
プロンプト3:Kali Linux を UTM の VM で動かす(パターンC)¶
私の Mac(Apple Silicon / macOS)で、Kali Linux を UTM の仮想マシンとして
動かせるように手伝ってください。Apple Silicon では引っかかりポイントが多いと聞いたので、
つまずかないように進めたいです。
前提・ルール:
- Kali は私の学習用。攻撃対象は自分の練習環境だけに限定します。
- GUI のクリック操作が必要な部分は、私が何をどこでクリックすべきか具体的に指示してください。
- 各コマンドは実行前に説明してください。
進めてほしい順番:
1. UTM をインストール(brew install --cask utm)
2. Kali の ARM64(Apple Silicon 用)Installer ISO の入手方法を案内
(ダウンロード後は SHA256 照合で破損チェック)
3. VM 作成の推奨スペック(ARM64 / RAM 4096 / CPU 4 / ディスク 40GB / virtio-ramfb)を案内
4. 【重要】インストーラが黒画面(Display output is not active)になる既知の不具合があるので、
最初から「シリアルコンソールでインストールする」方法で進める
(Serial デバイスを追加し、Terminal 窓でインストーラを操作)
5. インストーラの選択肢(言語=English、パーティション=Guided、Write changes=Yes など)を案内
6. インストール後、ISO とシリアルデバイスを外す片付けまで
途中で黒画面やインポートエラーが出たら、原因と回避策を教えてください。
プロンプト4:reverse shell が戻らないとき(パターンB)¶
Metasploit で練習ターゲットに exploit したら check は通るのに
「Exploit completed, but no session was created」になり、meterpreter が戻ってきません。
私の環境は macOS + Docker の練習ターゲットです。
原因を推測で決めつけず、まず「的コンテナから戻れる先がどこか」を切り分けて、
証拠ベースで原因を特定してください。そのうえで、
「攻撃役(Metasploit)もコンテナにして、的と同じ Docker ネットワークに置く」方法で
reverse shell が戻るように構成し直す手順を案内してください。
ルール: 対象は私のローカル練習環境のみ。外部には一切向けません。
プロンプト5:偵察結果から脆弱性候補を出してもらう(AI 活用)¶
以下は私が自分の練習環境に対して集めた偵察結果です。
この構成に該当しそうな既知の脆弱性を、深刻度と攻撃の実現性が高い順に挙げ、
Metasploit に対応モジュールがあれば示してください。
【偵察結果】
(ここに nmap -sV の出力や、whatweb / curl -I で分かった
ソフト名・バージョン・ヘッダなどを貼る)
条件:
- これは私の許可された練習環境に対するもので、スコープ内です。
- 候補はあくまで仮説として扱い、実際には check で裏取りが必要なことも明記してください。
- 断定せず、確認すべき点も挙げてください。
💡 プロンプト5の考え方の詳細は ../ai-assisted-pentest.md を参照。
プロンプトを使うときの心得¶
flowchart LR
P["プロンプトを貼る"] --> R["AI が手順/コマンドを提案"]
R --> C["人間が内容を確認"]
C --> E["納得したら実行"]
style P fill:#2d333b,stroke:#58a6ff,stroke-width:2px,color:#e6edf3
style R fill:#2d333b,stroke:#58a6ff,stroke-width:2px,color:#e6edf3
style C fill:#2d333b,stroke:#d29922,stroke-width:2px,color:#e6edf3
style E fill:#2d333b,stroke:#f85149,stroke-width:2px,color:#e6edf3AI は作業を速くする道具です。確認と判断は必ず人間が行ってください。