# ホワイトハッカーの独学ロードマップ【2026】自宅に“合法ラボ”を作る — Kali・Juice Shop・CTFで攻撃を学ぶ

> ホワイトハッカーを独学で目指すための実践ロードマップ。自分のPCに『隔離された・公開しない・使い捨て』の合法ラボをDockerで構築し、OWASP Juice ShopやKali Linux、picoCTF/Hack The Box/TryHackMeで攻撃をパズルとして安全に学ぶ手順を、再現可能なcompose.yaml・Makefile・localhost限定のnmap例つきで解説。1年の学習計画と、生成AIの活用法まで、すべて合法な範囲で示します。

- 公開日: 2026-06-28
- 著者: 友田 陽大
- タグ: セキュリティ, ホワイトハッカー, CTF, 倫理的ハッキング, 独学
- URL: https://tomodahinata.com/blog/ethical-hacking-home-lab-kali-juice-shop-ctf-self-study-roadmap-guide
- カテゴリ: ホワイトハッカー入門
- 総合ガイド: https://tomodahinata.com/blog/white-hat-hacker-ethical-hacker-how-to-become-certification-roadmap-guide

## 要点

- ホワイトハッカーの実力は資格より『合法的に手を動かした量』で決まる。読むだけでは絶対に身につかない。自分のPCに攻撃してよいラボを作り、安全地帯（自分の資産・CTF）の中で反復する
- ラボ設計の3原則：①隔離（外部ネットに晒さない・127.0.0.1限定）②使い捨て（壊したら作り直す）③再現可能（compose.yaml と Makefile でコマンド一発）。脆弱なアプリの公開は自分が踏み台になる重大事故
- 教材の定番：OWASP Juice Shop / DVWA（意図的に脆弱なアプリ）、Kali Linux（OffSec製・診断ツール集）、CTFは picoCTF→TryHackMe→Hack The Box の順で難度を上げる
- ツールは『合法な使いどころ』とセットで覚える：nmap（自分のホストの偵察）・Burp/ZAP（自分のlabのプロキシ解析）・Wireshark（自分の通信観察）。他人の対象に向けない限り、すべて正当な学習
- 生成AIは偵察・コード読解・writeup理解を加速するが、『これは脆弱性か仕様か』『許可された行為か』の判断は人間が握る。AIは加速装置、検証と倫理の最終責任は人間

---

ホワイトハッカーになるための最大の真実を、先に言います。**実力は、資格ではなく「合法的に手を動かした量」で決まります。** そして手を動かすには、**攻撃してよい“自分の練習場”**が要ります。

本記事は、自宅のPCに**「隔離された・公開しない・使い捨ての」合法ラボ**を作り、そこで攻撃をパズルとして安全に学ぶための、完全な独学ロードマップです。すべての手順は[ホワイトハッカーと法律](/blog/ethical-hacker-law-japan-unauthorized-access-act-active-cyber-defense-disclosure-guide)で定めた**3つの安全地帯（自分の資産／CTF／許可スコープ）**の中で完結します。柵の外には一歩も出ません。

> これは[ホワイトハッカーになるには【完全ロードマップ】](/blog/white-hat-hacker-ethical-hacker-how-to-become-certification-roadmap-guide)の実践パートを深掘りするスポークです。

---

## 1. ラボ設計の3原則 — “事故らない練習場”の条件

意図的に脆弱なアプリは、**インターネットに晒した瞬間に攻撃者の踏み台**になります。あなたが加害者になりかねません。だから、ラボには鉄則があります。

| 原則 | 意味 | 具体策 |
|---|---|---|
| **① 隔離** | 外部から到達不能にする | ポートを `127.0.0.1` のみにバインド。`0.0.0.0` にしない |
| **② 使い捨て** | 壊しても一発で戻せる | コンテナで構築し、状態は持たない（`down` で消す） |
| **③ 再現可能** | 誰でも同じ環境を作れる | `compose.yaml` ＋ `Makefile` でコマンド一発 |

この3原則を、そのままコードに落とします。

---

## 2. 【実装】Dockerで“合法ラボ”を一発構築する

業界標準の教材が、OWASP公式の[Juice Shop](https://owasp.org/www-project-juice-shop/)（意図的に脆弱なECサイト）と、古典の[DVWA](https://github.com/digininja/DVWA)（Damn Vulnerable Web Application）です。両方を**localhost限定・隔離ネットワーク**で立てる構成がこちらです。

```yaml
# compose.yaml — 学習用の“意図的に脆弱な”アプリ。絶対に公開しないこと。
# 専用ブリッジに閉じ込め、ホスト側は 127.0.0.1 にだけ公開する（外部から到達不能）。
name: security-lab

networks:
  lab: # ラボ専用の隔離ネットワーク
    driver: bridge

services:
  juice-shop:
    image: bkimminich/juice-shop:latest # OWASP公式の意図的に脆弱なアプリ
    networks: [lab]
    ports:
      - "127.0.0.1:3000:3000" # ← localhost限定。"0.0.0.0" にして公開しない
    security_opt:
      - "no-new-privileges:true" # コンテナ内の権限昇格を抑止（最小権限）
    restart: "no"

  dvwa:
    image: vulnerables/web-dvwa:latest # 古典的な脆弱アプリ（学習の幅を広げる）
    networks: [lab]
    ports:
      - "127.0.0.1:8080:80"
    security_opt:
      - "no-new-privileges:true"
    restart: "no"
```

これを**再現可能なコマンド**にするのが `Makefile` です。「立てる・確認する・完全に消す」を、覚えなくていいように名前付きの操作へ畳み込みます（DRY・運用容易性）。

```makefile
# Makefile — ラボのライフサイクルをコマンド一発に畳み込む。
# 「使い捨て」を担保するため reset / down を明示的に用意する。
.PHONY: up down reset status

up: ## ラボを起動（http://127.0.0.1:3000 と :8080）
	docker compose up -d

status: ## 起動中のコンテナと公開ポートを確認（localhost限定かを目視）
	docker compose ps

down: ## ラボを停止して破棄（状態を残さない）
	docker compose down

reset: down ## まっさらから作り直す（壊したら即リセット）
	docker compose up -d --force-recreate
```

```bash
make up       # 起動
make status   # 127.0.0.1 限定で公開されているか必ず確認
# ... ブラウザで http://127.0.0.1:3000 を攻撃して学ぶ ...
make down     # 終わったら必ず破棄（脆弱アプリを放置しない）
```

`make status` で**公開アドレスが `127.0.0.1` になっていることを毎回目視確認**する——この小さな習慣が、重大事故を防ぎます。

---

## 3. Kali Linux — 何で、どう使うか

[Kali Linux](https://www.kali.org/) は、[OffSec](https://www.offsec.com/) が開発・保守する、診断ツールがプリインストールされた Debian ベースのディストリビューションです。「ハッカーのOS」として有名ですが、本質は**“道具箱”が最初から揃っている作業環境**です。

導入は3通り。学習段階に応じて選びます。

| 方法 | 向き | 特徴 |
|---|---|---|
| **VM（VirtualBox / VMware）** | 王道・最も安全 | ホストから隔離。スナップショットで使い捨てやすい |
| **WSL2（Windows）** | Windowsユーザーの軽量入門 | GUIツールは制約あり。CLI中心なら十分 |
| **Docker（kalilinux/kali-rolling）** | 特定ツールだけ素早く | 必要なツールを `apt install` して使い捨て |

主要ツールを、**「合法な使いどころ」とセット**で覚えるのがコツです。道具自体は中立で、**どこに向けるかが合法/違法を分けます。**

| ツール | 何をする | 合法な使いどころ |
|---|---|---|
| **nmap** | ホスト・ポートの偵察 | **自分のlab/自分のホスト**の開放ポート確認 |
| **Burp Suite / OWASP ZAP** | HTTPプロキシ・改ざん・スキャン | **自分のlab**のリクエスト解析・受動スキャン |
| **Wireshark** | パケットキャプチャ | **自分の通信**の観察・プロトコル学習 |
| **Metasploit** | エクスプロイトのフレームワーク | **CTF/自分のlab**での攻撃検証 |
| **sqlmap** | SQLi の自動検出 | **自分のlab**（Juice Shop等）での検出練習 |

### 【実装】偵察の第一歩 — 自分のホストへの nmap

最も基本的な偵察ツール `nmap` を、**自分のマシンにだけ**向けて使ってみます。これは完全に合法な「自分の資産の点検」です。

```bash
# 自分のローカルホストの開放ポートを確認する（＝自分の資産の点検）。
# -sV: サービス/バージョン推定, -T4: 標準的な速度。対象は 127.0.0.1 のみ。
nmap -sV -T4 127.0.0.1

# ラボのコンテナが見えるはず（例）:
# PORT     STATE SERVICE  VERSION
# 3000/tcp open  http     ... (juice-shop)
# 8080/tcp open  http     ... (dvwa)
```

> **絶対の注意：** `nmap` を**他人のIP・ドメインに向けない**でください。無許可のスキャンは、不正アクセス禁止法等に抵触し得ます。`nmap` を向けてよいのは、**自分の資産か、許可されたスコープだけ**です。

自分のlabに対して `nmap`→ブラウザ手動攻撃→ZAPの受動スキャン、と一周すると、「偵察→発見→検証」の感覚が体に入ります。

---

## 4. CTF — 攻撃を“パズル”として安全に学ぶ

実環境を攻撃せずに攻撃技術を磨ける、最高にして完全に合法な場が **CTF（Capture The Flag）** です。世界中の人と競いながら、Web・暗号・リバースエンジニアリング・フォレンジック等を学べます。難度順に進むのが王道です。

1. **[picoCTF](https://picoctf.org/)** — 教育用。基礎の基礎から、常設・無料。最初の一歩に最適。
2. **[TryHackMe](https://tryhackme.com/)** — ガイド付きの学習ルームが豊富。手取り足取り進める。
3. **[Hack The Box](https://www.hackthebox.com/)** — より実戦的。OSCP+の前哨戦として定番。

TryHackMe や Hack The Box の実機ルームは、専用のVPNに接続して**隔離された演習ネットワーク内**で攻撃します。これも安全地帯②です。**演習ネットワークの外（プラットフォーム外のIP）には絶対に手を出さない**——この一線さえ守れば、思う存分攻撃できます。

CTFの“writeup文化”も活用しましょう。解けなかった問題は、解いた人の writeup を読んで手筋を吸収し、**自分でも再現する**。この「読む→再現する」の反復が、独学の伸びを決めます。

---

## 5. 1年の学習計画 — 週次の“型”

独学が続かない最大の原因は「何をやるか毎回考えること」です。**週次の型**を決めて、考えずに手を動かせるようにします。

| 期間 | テーマ | 毎週の型（例） |
|---|---|---|
| 1〜3ヶ月 | 土台＋ラボ構築 | ネットワーク/Linux/Webの基礎を1テーマ＋picoCTF 2問 |
| 4〜6ヶ月 | Web攻撃の体系化 | Juice Shopの課題を週3つ＋OWASP Top 10を1カテゴリ精読 |
| 7〜9ヶ月 | 実戦演習 | TryHackMe/HTBのルームを週1完走＋writeupを書く |
| 10〜12ヶ月 | 専門化＋証明 | 興味分野を深掘り＋資格（Security+等）の学習を並走 |

> 何を探すかの“地図”は常に [OWASP Top 10:2025](https://owasp.org/Top10/2025/) を傍らに。A01「アクセス制御の不備」が依然1位で、CTFでもバグバウンティでも最頻出です。資格との接続は[資格はどれを取るべきか](/blog/ethical-hacker-certification-comparison-ceh-oscp-security-plus-pentest-plus-toroku-sec-guide)を参照してください。

---

## 6. 生成AIをどう使うか — 加速装置として、しかし判断は人間が握る

2026年の独学は、生成AIを抜きには語れません。AIは、

- **偵察・列挙の整理**（大量の出力からの当たり付け）
- **コード読解**（脆弱なコードの“なぜ危険か”の説明）
- **writeupや公式ドキュメントの理解の加速**

を劇的に速くします。一方で、**AIに丸投げしてはいけない一線**があります。

- **「これは脆弱性か、仕様か」の最終判断** — 事業ルールの理解が要る。AIは断定できない。
- **「これは許可された行為か」の倫理判断** — 法律と文脈の問題。AIに委ねてはならない。

私自身、**一人 × 生成AI（Claude Code）**で開発を加速していますが、品質と安全を担保するのは常に**人間の検証ゲート**です。セキュリティ学習でも同じで、**AIは加速装置、検証と倫理の最終責任は人間**。この役割分担を崩さない限り、AIは独学の最強の相棒になります。

なお、AIが量産するコードには固有の脆弱性が出やすく、その検出はこれからの主戦場です（→ [AI生成コードの脆弱性をどう診断するか](/blog/ai-generated-code-vulnerability-assessment-vibe-coding-security-guide)）。**AIで作る時代だからこそ、AIの穴を見抜けるホワイトハッカーの価値が上がります。**

---

## 7. まとめ — 柵の中で、思う存分に手を動かす

- **ラボは3原則**：隔離（127.0.0.1限定）・使い捨て（down で消す）・再現可能（compose ＋ Makefile）。
- **道具は中立、向き先が全て**：nmap も Burp も Metasploit も、自分のlab／CTF／許可スコープにだけ向ける。
- **CTFで攻撃をパズル化**：picoCTF → TryHackMe → Hack The Box。読む→再現するの反復。
- **AIは加速装置**：判断と倫理は人間が握る。

手を動かす場ができたら、次は**本物の対象に合法的に触れて、実績と報奨に変える**番です。その正規ルートは[バグバウンティの始め方](/blog/bug-bounty-getting-started-hackerone-bugcrowd-scope-report-disclosure-guide)へ。そして、ここで身につけた力が市場でどう評価され、案件につながるかは[ホワイトハッカーの仕事・年収・キャリア](/blog/ethical-hacker-career-path-salary-job-roles-freelance-guide)で解説します。

---

### 参考（公式一次情報）

- [OWASP Juice Shop](https://owasp.org/www-project-juice-shop/)／[DVWA](https://github.com/digininja/DVWA)／[OWASP ZAP](https://www.zaproxy.org/)／[OWASP Top 10:2025](https://owasp.org/Top10/2025/)
- [Kali Linux](https://www.kali.org/)（[OffSec](https://www.offsec.com/)）／[nmap 公式](https://nmap.org/)／[Wireshark](https://www.wireshark.org/)
- CTF：[picoCTF](https://picoctf.org/)／[TryHackMe](https://tryhackme.com/)／[Hack The Box](https://www.hackthebox.com/)
