Chuyển đến nội dung chính
友田 陽大
Intro to ethical hacking
セキュリティ
ホワイトハッカー
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の活用法まで、すべて合法な範囲で示します。

Published
Reading time
9 min read
Author
友田 陽大
Chia sẻ

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

本記事は、自宅の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は加速装置:判断と倫理は人間が握る。

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


参考(公式一次情報)

友田

友田 陽大

Người phát triển sản phẩm đoạt Giải thưởng Bộ trưởng (METI). Với TypeScript + Python + AWS, tôi một mình triển khai trọn gói SaaS, chuyển đổi số công nghiệp và AI tạo sinh (RAG) sẵn sàng cho production — từ phân tích yêu cầu đến hạ tầng và vận hành.

The measures in this article can be automated with a tool

Automate your Next.js / Supabase security controls with the OSS Aegis

Many of the measures here can be mechanically detected and hardened with a single middleware file and static analysis. With the free, MIT-licensed Aegis, you can scan your current project from one command. The vertical risks that need design, I also take on as an audit.

Nhận cả dự án trọn gói lẫn vai trò cố vấn kỹ thuật. Hãy bắt đầu bằng buổi tư vấn miễn phí 30 phút.

最短ルート:カレンダーから直接予約

相談内容が固まっている方は、フォーム送信よりその場で日程を確定する方がスムーズです。下記から空き時間をお選びください。

  • 30分のオンライン無料相談
  • Google Meet / Zoom / Microsoft Teams
  • NDA 商談前締結可・無理な営業はいたしません
無料相談の空き枠を予約する

Cũng đáng đọc