付録:演習環境クイックスタート(DVWA / Juice Shop / crAPI / MobSF / SSRF→IMDS / Linux/コンテナ)
本付録は、exercises/ 配下の演習環境(DVWA / Juice Shop / crAPI / MobSF / SSRF→IMDS / Linux/コンテナ)を「起動 → 疎通確認 → 停止」まで最短で進めるための導線をまとめる。詳細な注意事項や補足は、各ディレクトリの README.md を参照する。
演習の結果は、後続(PoC 作成・レポート作成)に接続できるよう、付録『学習ログテンプレート(Burp Academy / 演習)』に従って記録することを推奨する。
スクリプトで実行する場合(推奨)
演習環境の起動・停止は、scripts/ 配下の補助スクリプトでも実行できる。
例(DVWA を起動):
bash scripts/setup_exercises.sh dvwa
例(DVWA を停止):
bash scripts/cleanup_exercises.sh dvwa
共通の前提
- 演習環境は意図的に脆弱である。必ずローカル環境(または許可された検証環境)でのみ利用する。
- Docker Engine と
docker compose(Compose v2)が利用可能であること。 - ポート公開は
127.0.0.1バインドを前提とし、外部ネットワークから到達できない構成で運用する。
Juice Shop(Part 2〜3)
- ディレクトリ:
exercises/juice-shop/ - 対応章:Part 2:Web セキュリティ基盤、Part 3:Web Pentest 実践
- 起動:
cd exercises/juice-shop
docker compose up -d
- アクセス:
http://127.0.0.1:3000/ - 停止:
docker compose down
DVWA(Part 2〜3)
- ディレクトリ:
exercises/dvwa/ - 対応章:Part 2:Web セキュリティ基盤、Part 3:Web Pentest 実践
- 起動:
cd exercises/dvwa
docker compose up -d
- アクセス:
http://127.0.0.1:8081/ - 停止:
docker compose down
補足:初回起動時は、画面の案内に従って DB 初期化(
/setup.php)が必要になる場合がある。
crAPI(Part 4)
- ディレクトリ:
exercises/crapi/ - 対応章:Part 4:API Pentest と認証/権限管理
- 事前準備(推奨):
.envを作成し、LISTEN_IP=127.0.0.1を明示する。
cd exercises/crapi
cp .env.example .env
- 起動:
docker compose up -d
- アクセス:
- crAPI Web:
http://127.0.0.1:8888/ - crAPI Web(HTTPS):
https://127.0.0.1:8443/(検証用証明書のためブラウザ警告は想定内) - MailHog UI:
http://127.0.0.1:8025/(テスト用メールの確認に利用可能)
- crAPI Web:
- 停止:
docker compose down
補足:演習ごとにデータベース状態をリセットする場合は
docker compose down -vを利用する(named volume が削除されるため注意)。
MobSF(Part 5)
- ディレクトリ:
exercises/mobsf/ - 対応章:Part 5:モバイル Pentest
- 補足:解析対象の APK / IPA は本リポジトリに同梱しないため、許可された検証用アプリを別途用意する。入手方法・選定観点は付録『モバイル演習用アプリの準備ガイド』を参照する。
- 起動:
cd exercises/mobsf
docker compose up -d
- アクセス:
http://127.0.0.1:8000/ - 停止:
docker compose down
SSRF→IMDS(Part 6)
- ディレクトリ:
exercises/ssrf-imds/ - 対応章:Part 6:クラウド・インフラ Pentest
- 補足:演習はローカル完結で行い、
urlパラメータを用いて第三者システムへの URL フェッチを試行しないこと。 - 起動:
cd exercises/ssrf-imds
docker compose up -d
- SSRF サンプルアプリ(例):
http://127.0.0.1:18080/fetch?url=http://169.254.169.254/latest/meta-data/iam/security-credentials/ - 停止:
docker compose down
Linux/コンテナ(Part 6-4)
- ディレクトリ:
exercises/linux-container/ - 対応章:Linux 権限昇格とコンテナセキュリティ
- 補足:本演習はポート公開を行わず、
docker compose execでコンテナに入り、確認観点を実施する。初回起動時はイメージビルドが走るため、数分かかる場合がある。 - 起動:
cd exercises/linux-container
docker compose up -d --build
- シェル:
docker compose exec target bash
- 停止:
docker compose down