メインコンテンツへスキップ
友田 陽大
ホワイトハッカー入門
セキュリティ
ホワイトハッカー
CTF
倫理的ハッキング
独学

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

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

公開日
読了時間
9分
著者
友田 陽大
シェア

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

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

これはホワイトハッカーになるには【完全ロードマップ】の実践パートを深掘りするスポークです。


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

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

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

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


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

業界標準の教材が、OWASP公式のJuice Shop(意図的に脆弱なECサイト)と、古典のDVWA(Damn Vulnerable Web Application)です。両方をlocalhost限定・隔離ネットワークで立てる構成がこちらです。

# 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 — ラボのライフサイクルをコマンド一発に畳み込む。
# 「使い捨て」を担保するため 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
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 は、OffSec が開発・保守する、診断ツールがプリインストールされた Debian ベースのディストリビューションです。「ハッカーのOS」として有名ですが、本質は**“道具箱”が最初から揃っている作業環境**です。

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

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

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

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

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

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

# 自分のローカルホストの開放ポートを確認する(=自分の資産の点検)。
# -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 — 教育用。基礎の基礎から、常設・無料。最初の一歩に最適。
  2. TryHackMe — ガイド付きの学習ルームが豊富。手取り足取り進める。
  3. Hack The Box — より実戦的。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 を傍らに。A01「アクセス制御の不備」が依然1位で、CTFでもバグバウンティでも最頻出です。資格との接続は資格はどれを取るべきかを参照してください。


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

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

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

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

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

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

なお、AIが量産するコードには固有の脆弱性が出やすく、その検出はこれからの主戦場です(→ AI生成コードの脆弱性をどう診断するか)。AIで作る時代だからこそ、AIの穴を見抜けるホワイトハッカーの価値が上がります。


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

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

手を動かす場ができたら、次は本物の対象に合法的に触れて、実績と報奨に変える番です。その正規ルートはバグバウンティの始め方へ。そして、ここで身につけた力が市場でどう評価され、案件につながるかはホワイトハッカーの仕事・年収・キャリアで解説します。


参考(公式一次情報)

友田

友田 陽大

経済産業大臣賞 受賞プロダクト開発者。TypeScript + Python + AWS で、SaaS・業界DX・ 実用レベルの生成AI(RAG)を、要件定義からインフラ・運用まで一人で完遂します。

この記事の対策、ツールで自動化できます

Next.js / Supabase のセキュリティ統制を、OSS の Aegis で自動化

この記事の対策の多くは、ミドルウェア1枚と静的解析で機械的に検出・強化できます。無料・MIT の Aegis なら、いまのプロジェクトを1コマンドからスキャンできます。設計が要る「縦のリスク」は監査でも承ります。

プロジェクト単位(請負)・技術顧問のどちらにも対応可能です。まずは30分の無料技術相談から。

あわせて読みたい