コンテンツにスキップ

pentest-lab-notes 🧪

ペネトレーションテスト — 攻撃者の視点で学ぶ

🔊 このノートについて(音声ガイド)

macOS(Apple Silicon)で、自分のマシンの中だけで完結するペネトレーションテストの練習ノート。 nmap → Metasploit → meterpreter という攻撃の一連の流れを、手を動かしながら再現できる形でまとめています。

⚠️ 大前提:自分の持ち物・許可された対象だけ。 ここで立てる的は、わざと脆弱に作った練習用です。 他人の機器・サービスを許可なくスキャン/攻撃することは違法です。 対象は「自分のマシン内の練習用コンテナ」「scanme.nmap.org(nmap公認の練習台)」などに必ず限定してください。


📖 全体像 — 攻撃者がたどる流れ(キルチェーン)

flowchart LR
    A("① 偵察"):::red --> B("② 侵入口を開ける"):::red --> C("③ 侵入する"):::red --> D("④ 居座る・盗む"):::red --> E("⑤ 広げる"):::red
    classDef red fill:#2d333b,stroke:#f85149,stroke-width:2px,color:#e6edf3
    linkStyle default stroke:#f85149,stroke-width:2px
段階 やること 主な道具 章
① 偵察 相手を知る(nmap のほか OSINT・人への偵察も) nmap / whatweb ほか 06
② 侵入口を開ける 弱点を突く攻撃コードを撃つ Metasploit(exploit) 07
③ 侵入する 侵入後に動く中身を送り込む Metasploit(payload) 07
④ 居座る・盗む 再侵入の仕掛け・情報収集 meterpreter 08
⑤ 広げる 侵入先を踏み台に内部へ meterpreter(横展開) 09

🗺️ 目次

📘 Part I — 基礎を知る

# ドキュメント 内容
01 ペンテストの基礎用語 ブラック/グレー/ホワイトボックス、🔴レッド/🔵ブルー/🟣パープルチーム、頻出用語
02 定番ツールの役割分担 nmap / Metasploit / Burp Suite / ZAP は何が違うか

🛠️ Part II — 環境を作る

# ドキュメント 内容
03 セットアップのパターンを選ぶ Kali VM(定番)/ Mac直(手軽)/ 攻撃役もコンテナ の3パターン
04 Mac に道具をそろえる nmap / Docker / Metasploit を用意する
05 練習用の的を立てる わざと脆弱な練習ターゲットをローカルに

🔴 Part III — 攻撃の流れ(レッドチームの技術)

# ドキュメント 段階
06 偵察 — nmap ① 偵察
07 侵入 — Metasploit ②③ 侵入(exploit + payload)
08 侵入後 — meterpreter ④ 居座る・盗む
09 横展開・内部偵察 ⑤ 広げる

🔵 Part IV — 守りと発展

# ドキュメント 内容
10 守る側(ブルーチーム)のツール 仕掛けられたバックドア・痕跡を調べる
11 AI 時代のペンテスト 情報収集→AIに脆弱性候補と攻撃順序を出させ、人間が検証

📎 付録

ドキュメント 内容
A リファレンス(早見表) nmap オプション・meterpreter コマンド・脆弱性DB の早見表
B Kali Linux を UTM の VM で動かす Apple Silicon の引っかかり対策込み
C AI セットアッププロンプト集 貼れば AI がセットアップを手伝う
D reverse shell が戻らない macOS Docker の罠と解決
E 公開時の安全ルール 仮IP統一・個人情報・図の配色

⚡ 最短で覚える「3つのコマンド」

nmap -sn 10.10.10.0/24         # ① 誰がいる?(ホスト発見)
sudo nmap -sS -sV 対象          # ② 開いてるポート + バージョン(ステルス)
sudo nmap -A 対象               # ③ 全部盛り(OS・詳細・スクリプト)

🏗️ このノートの練習環境

flowchart TB
    subgraph net["Docker ネットワーク(pentest-lab)"]
        ATK("attacker<br/>Metasploit コンテナ"):::red
        TGT("target<br/>脆弱な的サーバー"):::blue
        ATK -->|"攻撃 → reverse shell"| TGT
    end
    classDef red fill:#2d333b,stroke:#f85149,stroke-width:2px,color:#e6edf3
    classDef blue fill:#2d333b,stroke:#58a6ff,stroke-width:2px,color:#e6edf3
    linkStyle default stroke:#8b949e,stroke-width:2px

攻撃役と的を同じ Docker ネットワークに置くのがコツ(理由は 付録D)。


📜 ライセンス / 免責

  • このノートは教育目的です。
  • 記載の手法を許可されていない対象に使って生じた結果について、作者は一切の責任を負いません。
  • 常に「自分の持ち物・書面で許可された対象だけ」の原則を守ってください。