なぜ専用の演習環境が必要か

サイバーセキュリティの学習では、ツールの実行・脆弱性の検証・ネットワーク解析など、通常の作業環境では絶対に行うべきでない操作が必要になる。自分のメイン PC でスキャンツールや exploit を走らせれば、OS の設定を壊したり、意図せず外部に攻撃パケットを送信してしまうリスクがある。

専用の隔離された演習環境(ラボ)を用意することで、次の3つが実現できる:

  • ホストOSへの影響を完全に分離できる
  • 意図的に脆弱なターゲットマシンを安全に運用できる
  • 仮想ネットワーク内で攻撃・防御シナリオを何度でも再現できる

現場のプロも、新しい exploit を試す前に必ず隔離された検証環境を用意する。本番環境での「うっかりテスト」は、インシデントの原因になりうるからだ。

重要な注意事項

演習で使用するツールや手法は、自分が所有または書面で許可を得たシステムのみで実施すること。他人のシステムへの無断アクセスは不正アクセス禁止法に違反し、刑事罰の対象となる。このラボは完全にオフライン・隔離された環境での使用を前提としている。

必要なソフトウェア

ソフトウェア用途費用
VirtualBox 7.x仮想化プラットフォーム無料
Kali Linux 2024.x攻撃側演習環境(攻撃ツール群搭載)無料
Metasploitable 2意図的に脆弱な標的環境無料

最小システム要件:

  • RAM: 8GB(16GB推奨)
  • ストレージ: 50GB以上の空き容量
  • CPU: 仮想化支援機能(VT-x/AMD-V)が有効なもの
Metasploitable 2 について

Metasploitable 2 はセキュリティ演習用に意図的に脆弱化されたUbuntu 8.04ベースのLinux VMで、Rapid7社が公開している。FTP・SSH・HTTP・MySQL・PostgreSQL など多数のサービスが既知の脆弱な設定で動作しており、ペネトレーションテストの練習台として世界中で使われている。絶対に外部ネットワークに接続してはならない。

ステップ1: VirtualBox のインストール

VirtualBox公式サイトからホストOSに対応したインストーラーをダウンロードし、画面の指示に従ってインストールする。

VBoxManage —version

# 出力例: 7.0.14r161095

ステップ2: Kali Linux VM の作成

Kali Linux の Pre-built Virtual Machines.ova ファイル)を使うと、設定済みの状態でそのまま使えるため最も手軽だ。

  1. Kali公式サイトから VirtualBox 用 OVA をダウンロード
  2. VirtualBox を起動 → ファイル > 仮想アプライアンスのインポート
  3. ダウンロードした .ova を選択してインポート
  4. 仮想マシン設定でメモリを 4096MB 以上に変更(推奨: 8GB)

# パッケージリストの更新(初回は時間がかかる)

sudo apt update && sudo apt upgrade -y

# 主要ツールのバージョン確認

nmap —version

# 出力例: Nmap version 7.94 ( https://nmap.org )

python3 —version

# 出力例: Python 3.11.6

msfconsole —version

# 出力例: Framework Version: 6.3.x-dev

ステップ3: Metasploitable 2 のダウンロードとインポート

ダウンロード

SourceForge の Metasploitable 2 ページから .zip ファイルをダウンロードし展開する。展開後のディレクトリ構成は次のとおり:

Metasploitable2-Linux/
├── Metasploitable.vmdk   ← 仮想ディスクイメージ
├── Metasploitable.vmx    ← VM設定ファイル(VMware形式)
└── Metasploitable.nvram

VirtualBox へのインポート手順

Metasploitable 2 は VMware 形式で配布されているため、VirtualBox では手動でVMを作成してディスクを接続する:

  1. VirtualBox → 新規 をクリック
  2. 名前: Metasploitable2、タイプ: Linux、バージョン: Ubuntu (64-bit)
  3. メモリ: 512MB(軽量なのでこれで十分)
  4. ハードディスク: 既存の仮想ハードディスクファイルを使用Metasploitable.vmdk を選択
  5. 作成後、ネットワーク設定を変更(次のステップ参照)
VMware Workstation Player を使う場合

VMware Workstation Player(無料)を使えば .vmx ファイルを直接開けるため、手順がシンプルになる。VirtualBox でうまく動かない場合の代替として有効だ。

ステップ4: ネットワークの隔離設定

ネットワーク隔離は必須

Metasploitable 2 は意図的に脆弱なため、インターネットや社内ネットワークに接続すると即座に危険な状態になる。必ずホストオンリーアダプターまたは内部ネットワークに設定すること。この手順を省略した演習環境は「自宅に鍵のかかっていない金庫を置く」のと同じだ。

ホストオンリーネットワークの作成

  1. VirtualBox → ファイル > ホストネットワークマネージャー
  2. 作成 ボタンをクリック(vboxnet0 が作成される)
  3. アダプターのIPv4アドレス: 192.168.56.1
  4. マスク: 255.255.255.0
  5. DHCPサーバーを有効化(192.168.56.100192.168.56.254 を割り当て)

両VMのネットワーク設定変更

Kali Linux VM の設定:

  • VM設定 → ネットワーク → アダプター1
  • アタッチメント: ホストオンリーアダプター
  • 名前: vboxnet0

Metasploitable 2 VM の設定:

  • 同様にアダプター1を ホストオンリーアダプターvboxnet0

ステップ5: 起動と疎通確認

両VMを起動し、ネットワーク設定が正しいことを確認する。

Metasploitable 2 の起動確認

起動すると以下のようなバナーが表示される(ログイン: msfadmin / msfadmin):

                _                  _       _ _        _     _      ____
 _ __ ___   ___| |_ __ _ ___ _ __ | | ___ (_) |_ __ _| |__ | | ___|___ \
| '_ ` _ \ / _ \ __/ _` / __| '_ \| |/ _ \| | __/ _` | '_ \| |/ _ \ __) |
| | | | | |  __/ || (_| \__ \ |_) | | (_) | | || (_| | |_) | |  __// __/
|_| |_| |_|\___|\__\__,_|___/ .__/|_|\___/|_|\__\__,_|_.__/|_|\___|_____|

Warning: Never expose this VM to an untrusted network!

Kali Linux からのIPアドレス確認

# Kali Linux 自身のIPアドレスを確認

ip addr show eth0

# 出力例:

# 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP>

# inet 192.168.56.102/24 brd 192.168.56.255 scope global eth0

# 短縮形でも確認できる

ip -4 a show eth0

# 出力例: inet 192.168.56.102/24

# ルーティングテーブルの確認

ip route

# 出力例:

# 192.168.56.0/24 dev eth0 proto kernel scope link src 192.168.56.102

# インターネットへのping(失敗するはずだ)

ping -c 3 8.8.8.8

# 期待される出力:

# ping: connect: Network is unreachable

# または

# Request timeout for icmp_seq 0

# DNS解決も失敗することを確認

nslookup google.com

# 期待される出力: ;; connection timed out; no servers could be reached

Metasploitable 2 のIPアドレス確認と疎通テスト

# Metasploitable 2 のコンソールで実行

ifconfig eth0

# 出力例:

# eth0 Link encap:Ethernet HWaddr 08:00:27:xx:xx:xx

# inet addr:192.168.56.101 Bcast:192.168.56.255 Mask:255.255.255.0

# ===== Kali Linux 側から実行 =====

# Metasploitable への ping 疎通確認

ping -c 4 192.168.56.101

# 期待される出力:

# 64 bytes from 192.168.56.101: icmp_seq=0 ttl=64 time=0.456 ms

# 4 packets transmitted, 4 received, 0% packet loss

# 簡易ポートスキャンで主要サービスの確認

nmap -sV —top-ports 10 192.168.56.101

# 期待される出力(一部):

# PORT STATE SERVICE VERSION

# 21/tcp open ftp vsftpd 2.3.4

# 22/tcp open ssh OpenSSH 4.7p1

# 80/tcp open http Apache httpd 2.2.8

# 3306/tcp open mysql MySQL 5.0.51a

IPアドレスが異なる場合

DHCPによって割り当てられるIPは環境によって変わる。nmap -sn 192.168.56.0/24 でサブネット全体をスキャンし、MACアドレスに「VirtualBox」と表示されているホストが Metasploitable 2 だ。以降の演習では 192.168.56.101 を使う想定で説明する。

ステップ6: スナップショットの活用

VirtualBox のスナップショット機能は演習環境において非常に重要だ。演習を始める前に必ず取得しておくことで、設定を壊したり攻撃を受けたりしても、クリーンな状態に一瞬で戻せる。これは「セーブデータ」のような感覚で使える。

# 現在の状態をスナップショットとして保存

VBoxManage snapshot “Kali-Linux” take “clean-state”
—description “初期クリーン状態 - 演習前ベースライン”

VBoxManage snapshot “Metasploitable2” take “clean-state”
—description “初期クリーン状態”

# スナップショット一覧の確認

VBoxManage snapshot “Kali-Linux” list

# 出力例:

# Name: clean-state (UUID: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)

# Description: 初期クリーン状態 - 演習前ベースライン

# スナップショットへの復元

VBoxManage snapshot “Kali-Linux” restore “clean-state”


トラブルシューティング

よくある問題と解決方法

問題1: Metasploitable 2 が起動しない(VERR_NOT_SUPPORTED)

原因: .vmdk ファイルの形式が VirtualBox と非互換な場合がある。

# VirtualBox形式に変換

VBoxManage clonemedium
/path/to/Metasploitable.vmdk
/path/to/Metasploitable-vbox.vmdk
—format VMDK

問題2: ホストオンリーアダプターが表示されない

VirtualBox → ファイル → ホストネットワークマネージャー で手動作成する。macOS では VBoxNetAdpCtl: Error が出る場合、システム設定 → プライバシーとセキュリティ で VirtualBox の拡張機能を許可する必要がある。

問題3: Kali Linux がIPアドレスを取得できない

# DHCPクライアントを手動実行

sudo dhclient eth0

# それでも取得できない場合は手動設定

sudo ip addr add 192.168.56.102/24 dev eth0 sudo ip link set eth0 up

問題4: Metasploitable 2 への ping が通らない

ファイアウォール設定や VirtualBox のネットワーク設定を確認する。

# Kali 側のルーティング確認

ip route show

# 192.168.56.0/24 dev eth0 の行があるか確認

# ARPテーブルでMACアドレスを確認

arp -n

# 192.168.56.101 のエントリがあれば通信できているはずだ

# Metasploitable 側(コンソール)でリッスン確認

netstat -tlnp

# 0.0.0.0:22 などがLISTENしているか確認

問題5: VirtualBox Extension Pack のインストールが必要

USB 2.0/3.0 やディスプレイ機能を使うには Extension Pack が必要だ。VirtualBox 本体と同じバージョンの Extension Pack をダウンロードしてインストールすること。

sudo VBoxManage extpack install
Oracle_VM_VirtualBox_Extension_Pack-7.0.14.vbox-extpack

# 出力例: Successfully installed “Oracle VM VirtualBox Extension Pack”.


やってみよう: 環境確認チェックリスト

演習環境が正しく構築できているか、以下をすべて確認してほしい:

  • VirtualBox がインストールされ、バージョンが確認できる
  • Kali Linux VM が起動し、ip addr でIPアドレスが表示される
  • Metasploitable 2 VM が起動し、ifconfig でIPアドレスが表示される
  • Kali から Metasploitable 2 へ ping が通る(4/4 パケット受信)
  • Kali からインターネット(8.8.8.8)へ ping失敗する
  • 両VMのスナップショット「clean-state」が作成済み
次のステップ

環境が整ったら、次のレッスンでは**Nmap を使ったネットワークスキャン**を演習する。Metasploitable 2 を標的にした安全な実習で、偵察フェーズの技術を体験的に学んでいこう。


理解度チェック

演習用仮想環境のネットワーク設定として最も適切なものはどれですか?