【VulnHub 徹底入門】DC-1の使い方から始めるセキュリティ学習

サイバーセキュリティ学習用に設計された仮想マシンを無料で配布しているプラットフォーム
- VulnHub -

本記事では、VulnHubの使い方について、仮想マシンのダウンロードからセットアップ、セキュリティ診断の始め方まで、ステップバイステップで解説!

初心者向けの仮想マシン「DC-1」を題材に、VulnHubの使い方を実践形式で解説しています。

スクリーンショットを豊富に掲載しているので、初学者でも迷わずに進めることができます。

目次

VulnHubとは

VulnHubは、脆弱性診断やペネトレーションテストのスキルを安全に磨くための学習用プラットフォームです。意図的に脆弱性を組み込んだ仮想マシン(VM)を多数公開しており、受動的な学習では得られない〝手を動かす経験〟を積むことができます。

VulnHubは2012年にg0tmi1k氏が創設し、2020年からOffensive Security社が運営しています。

Offensive Security社とは

サイバーセキュリティのトレーニングやコンサルティングサービスを提供している企業で、Kali Linuxの開発企業としても広く認知されています。

VulnHubのコンテンツは、CTF(Capture The Flag)形式の課題だけでなく、実際の企業ネットワークを模した複数段階の侵害シナリオや、特定の脆弱性を深く理解するための専用VMなど多岐にわたります。難易度も幅広く、初心者向けの基礎理解レベルから、横展開や権限昇格の知識が求められる上級者向けシナリオまで揃っているため、段階的にスキルを向上させやすい点も特徴です。

VulnHubは完全無料で利用でき、ユーザー登録も不要です。

VulnHubの特徴

セキュリティ学習プラットフォーム

VulnHubは、脆弱性診断やペネトレーションテストのスキルを実践的に学べるプラットフォームです。

脆弱性を意図的に組み込んだ仮想マシンが700以上(※)公開されており、実際に手を動かしながら、脆弱性診断やペネトレーションテストのスキルを身に付けることができます。※2025年11月17日時点

セキュリティ学習用に構築された仮想マシンのことを「やられアプリ」(別名:やられサイト、やられサーバー)と呼びます。

仮想マシン形式で配布

現在公開されている仮想マシンの多くは、OVAVDIVMDK形式で公開されているため、一般的な仮想化ソフトウェア(例.VirtualBox、VMware)に簡単にインポートできます。

仮想マシンのメリット
  • 特別な環境構築は不要で、数分で演習を始まられます。
  • 初期状態をスナップショットとして保存しておけば、学習プロセスの途中で環境が破損しても即座に復元可能です。

完全オフライン環境で安全に練習できる

VulnHubで提供される仮想マシンは、ローカル環境上の仮想化ソフトウェア(例.VirtualBox、VMware)で起動して使用します。インターネット接続を必要としないため、実際のネットワークに影響を与えることなく、完全に隔離された環境でトレーニングを行うことができます。

業務用ネットワークや第三者への影響を心配することなく学習を進められます。

課題のジャンルが豊富

VulnHubには、幅広いジャンルの課題が用意されています。

  • Webアプリケーションの脆弱性
  • Linux権限昇格
  • ネットワーク探索
  • パスワード管理や認証周りの実装不備
  • サービスの脆弱性 など

実際の診断業務で求められる技術領域を、演習を通じて網羅的に習得できます。

無料で利用でき、ユーザー登録も不要

VulnHubは完全無料で利用でき、ユーザー登録も不要です。個人学習や企業研修においてコストを発生させることなく、継続的に環境を利用できる点は大きなメリットです。

注意事項

  • 仮想マシンはローカル環境や隔離されたネットワークで実行すること
    • 仮想マシンには脆弱性が含まれるため、インターネットに接続された環境で実行すると、不正アクセスの踏み台になるリスクがあります。
  • 法律とモラルを守った学習を心がけること
    • セキュリティ分野は社会的責任が伴う分野です。技術を正しく使うことはもちろん、倫理的な判断が常に求められます。

VulnHubで公開されている代表的な仮想マシン

VulnHubには、脆弱性診断やペネトレーションテストの学習に適した様々な仮想マシンが公開されています。ここでは、特に利用頻度が高く、学習目的で広く活用されている代表的な仮想マシンをご紹介します。

仮想マシン概要
OWASP BWA30以上の脆弱なWebアプリケーションを1つの仮想マシンにまとめた学習環境。
仮想マシンを1台セットアップするだけで、複数のWebアプリケーションを学習に使用できるので、初学者におすすめ。
DVWA脆弱性理解と対策習得を目的とした学習用Webアプリケーション。
難易度が「Low」「Medium」「High」「Impossible」の4段階で提供されており、利用者の習熟度に合わせて調整できる。
Metasploitable2Metasploit Frameworkの学習環境として設計されたLinuxベースの脆弱な仮想マシン。
SSHやSMTPなど、脆弱なサービスが多数稼働しており、プラットフォーム診断の基礎〜応用を体系的に学習できる。
OWASP WebGoatJava、Spring Bootで構築された脆弱なWebアプリケーション。
OWASP Top 10に焦点を当て、体系的に脆弱性の仕組みを学習できる。
DC-1CTF形式に近い課題構成となっており、Boot2Root形式の学習環境。
ネットワーク偵察から始まり、脆弱性の特定、エクスプロイトによるユーザー権限の獲得、最終的に権限昇格を通じてrootを奪取することがゴール。

以下の記事では、インストール手順や使い方について解説していますので、あわせてご覧ください。

VulnHubから仮想マシンをダウンロード

脆弱性診断・ペネトレーションテストの初学者向けとして広く推奨されているのが「DCシリーズ」です。その中でも「DC-1」は難易度が比較的低く、Webアプリケーションの基本的な脆弱性から権限昇格の基礎までカバーできます。

本記事では例として「DC-1」を取り上げ、VulnHubの使い方を解説します。

STEP

学習で使用する仮想マシンを選ぶ

VulnHubの公式サイトにアクセスし、検索ボックスに「DC-1」と入力して検索します。

VulnHubの公式サイトにアクセスし、検索ボックスに「DC-1」と入力する。

検索結果に対象の仮想マシンが表示されますので、「DC-1」を選択すると、詳細情報のページへ遷移します。

検索結果に対象の仮想マシンが表示されますので、「DC-1」を選択する。
詳細ページに掲載されている内容
  • About Release(リリース内容)
  • Download(ダウンロード)
  • Description(概要)
  • File Information(ファイル情報)
  • Virtual Machine(仮想マシン)
  • Networking(ネットワーク) などの各情報

詳細ページの中でNetworking(ネットワーク)に記載している内容は、後続のネットワーク設定で必要なので、確認しておきます。

Networking(ネットワーク情報)
  • DHCP service:Enabled(DHCPサービスは有効)
  • IP address:Automatically assign(IPアドレスは自動割り当て)
STEP

仮想イメージのダウンロード

DC-1の場合、five86のダウンロードサイトはリンクが切れているので、ミラーサイトからダウンロードします。

DC-1の仮想マシンをミラーサイトからダウンロードする。

DC-1の場合、ダウンロードファイルはZIP形式になっているので解凍します。ZIP内には、VirtualBoxで使用可能な仮想アプライアンス「DC-1.ova」が格納されています。このファイルには、仮想マシンの構成情報とディスクイメージが含まれています。

仮想マシンをセットアップ

VulnHubからダウンロードした仮想マシン「DC-1」を稼働させるためには、VirtualBoxにセットアップする必要があります。ここでは、仮想アプライアンスのインポートからネットワーク設定、必要な構成変更まで、順を追って詳しく解説します。

主な流れ
  1. VirtualBox用のネットワークアダプターを作成
  2. VirtualBoxに仮想マシンをセットアップ
  3. 仮想マシンのネットワークアダプターを変更
  4. その他の設定

VirtualBox用のネットワークアダプターを作成

VulnHubで提供されている多くの仮想マシンは、インターネット等の外部ネットワークへの接続を必要としません。そのため、意図しない外部通信を防止する目的で、ホストオンリーアダプターによるネットワーク隔離が推奨されます。

ホストオンリーアダプターを作成済みで、DHCPサーバーを有効にしている場合、このセクションはスキップしてください。

STEP

ホストオンリーアダプターの作成

VirtualBoxのメニューバーから、ファイル>ツール>ネットワークマネージャーを選択し、ホストオンリーネットワークタブを開きます。

VirtualBoxのメニューバーからネットワークマネージャーを起動

まだ、ホストオンリーアダプターを作成していない場合、作成アイコンをクリックして、ホストオンリーアダプターを作成します。

作成アイコンをクリックして、ホストオンリーアダプターを作成。

本記事で使用しているホストオンリーアダプターの設定内容

本記事で使用しているホストオンリーアダプターの設定内容

ホストオンリーアダプターを複数作成している場合、使用するホストオンリーアダプターの名前を控えておきます。(後続の作業で使うため)

STEP

DHCPサーバーの有効化

前述の通り、DC-1のIPアドレスは「DHCPによる自動割り当て」を前提としているため、DHCPサーバーを有効化します。

DHCPサーバーを有効にする。

DHCPサーバータブを選択し、サーバーを有効化にチェックを入れ、適用ボタンをクリックします。

VirtualBoxに仮想マシンをセットアップ

STEP

仮想アプライアンスのインポート

VirtualBoxのメニューバーから、ファイル>仮想アプライアンスのインポートを選択し、インポートウィザードを開始します。

仮想アプライアンスのインポートウィザードを起動
STEP

ソース・ファイルの指定

インポートのソース画面で、先ほどダウンロードおよび解凍したDC-1.ovaファイルを指定します。

DC-1.ovaファイルを指定。
STEP

インポートの設定変更

インポートの設定画面で、CPU数やメモリサイズなど必要に応じて設定を変更します。

仮想アプライアンスのインポートの設定画面

設定例)本記事の場合

CPU2
RAM2048MB
仮想マシンの基本フォルダー環境に合わせて指定
MACアドレスのポリシーすべてのネットワークアダプターでMACアドレスを生成
STEP

完了をクリック

最後に完了ボタンをクリックし、仮想アプライアンスのインポートを開始します。

仮想アプライアンスをインポート中

インポートが完了すると、DC-1の仮想マシンがVirtualBox上に追加されます。

DC-1の仮想マシンがVirtualBox上に追加される。

仮想マシンのネットワークアダプターを変更

DC-1の場合、ブリッジアダプターが初期設定されています。この設定では外部ネットワークへの接続が可能で、脆弱性のある仮想マシンをそのまま接続するとセキュリティリスクが生じてしまいます。

このリスクを回避するため、外部ネットワークと接続しないホストオンリーアダプターに変更します。

参考サイト

ブリッジアダプターとホストオンリーアダプターの違いは、下記のVirtualBox公式サイトをご覧ください。

VirtualBox公式ドキュメント:Table 6.1. Overview of Networking Modes

ブリッジアダプターやホストオンリーアダプターなど、各ネットワークアダプターの相違点が表形式で整理されています。

STEP

DC-1の設定画面を開く

仮想マシンDC-1を選択し、設定アイコンをクリックします。

仮想マシンDC-1を選択し、設定アイコンをクリック。
STEP

ネットワークアダプターを変更

Expert>ネットワークを選択し、アダプター1の割り当てをホストオンリーアダプターに変更し、OKボタンをクリックします。

アダプター1の割り当てを「ホストオンリーアダプター」に変更

ホストオンリーアダプターを複数作成している場合、DC-1で使用するホストオンリーアダプターの名前を選択してください。

その他の設定

DC-1をインポートした際、一部の環境ではグラフィックコントローラーの警告が発生する場合があります。

グラフィックコントローラーの警告メッセージ

この場合、ディスプレイのグラフィックコントローラーをVMSVGAに変更します。

ディスプレイのグラフィックコントローラーをVMSVGAに変更する。

仮想マシンの起動

STEP

起動アイコンをクリック

VirtualBoxのホーム画面で、対象となるDC-1マシンを選択し、起動アイコンをクリックします。

DC-1マシンを選択し、起動アイコンをクリック。
STEP

新規ウィンドウが起動

新規ウィンドウが開き、Linuxカーネルのブートメッセージが表示されます。

新規ウィンドウが開く。
Linuxカーネルのブートメッセージが表示される。
STEP

ログイン画面が表示

OSの起動プロセスが完了すると、DC-1のログイン画面(CUIベース)が表示されます。

DC-1のログイン画面(CUIベース)

脆弱性診断・ペネトレーションテストを開始

仮想マシン「DC-1」の起動が完了したら、次は脆弱性診断・ペネトレーションテストの工程に進みます。

このセクションでは、ペネトレーションテスト向けディストリビューションであるKali Linuxを用いて、脆弱性診断およびペネトレーションテストを実施します。

OSIPアドレス
自分のマシンKali Linux固定IPアドレス
(192.168.10.11)
ターゲットマシンDC-1自動割り当て

※Kali Linux、およびDC-1は、同じホストオンリーアダプター上で稼働している仮想マシンです。

STEP

ターゲットマシンのIPアドレスを特定

仮想マシン「DC-1」の起動後、最初に必要となるのが「ターゲットマシンのIPアドレス」です。まずは、Kali Linuxのネットワーク情報(ネットワークインタフェース)を確認します。

Kali Linuxで実行

$ ip a
〜 省略 〜
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 08:00:27:29:e7:15 brd ff:ff:ff:ff:ff:ff
    inet 192.168.10.11/24 brd 192.168.10.255 scope global eth1
       valid_lft forever preferred_lft forever
    inet6 fe80::a00:27ff:fe29:e715/64 scope link proto kernel_ll
       valid_lft forever preferred_lft forever

次にnetdiscoverコマンドを使って、LAN内に存在するマシンのIPアドレスをリストアップします。

$ sudo netdiscover -i eth1 -P -r 192.168.10.0/24
  • -i:Kali Linuxのネットワークインターフェース(デバイス)
  • -P:結果を解析しやすい形式で出力し、スキャン後にプロセスを停止する
  • -r:スキャン対象のIPアドレス範囲

実行結果

 _____________________________________________________________________________
   IP            At MAC Address     Count     Len  MAC Vendor / Hostname
 -----------------------------------------------------------------------------
 192.168.10.1    0a:00:27:00:00:05      1      60  Unknown vendor
 192.168.10.2    08:00:27:4b:84:9e      1      60  PCS Systemtechnik GmbH
 192.168.10.202  08:00:27:e8:59:35      1      60  PCS Systemtechnik GmbH

-- Active scan completed, 3 Hosts found.

本検証環境の場合、192.168.10.1はホストOS、192.168.10.2はDHCPサーバーに割り当てられているので、DC-1のIPアドレスは192.168.10.202であると特定できます。

STEP

ポートスキャンを実施

ターゲットのIPアドレスを特定したら、次はNnmapを用いてポートスキャンを行い、サービスの稼働状況を確認します。

$ nmap -sV -p- 192.168.10.202
Starting Nmap 7.95 ( https://nmap.org ) at 2025-11-16 16:39 JST
Nmap scan report for 192.168.10.202
Host is up (0.000097s latency).
Not shown: 65531 closed tcp ports (reset)
PORT      STATE SERVICE VERSION
22/tcp    open  ssh     OpenSSH 6.0p1 Debian 4+deb7u7 (protocol 2.0)
80/tcp    open  http    Apache httpd 2.2.22 ((Debian))
111/tcp   open  rpcbind 2-4 (RPC #100000)
56643/tcp open  status  1 (RPC #100024)
MAC Address: 08:00:27:E8:59:35 (PCS Systemtechnik/Oracle VirtualBox virtual NIC)
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 14.53 seconds
  • -sV:稼働しているサービスのバージョンを確認
  • -p-:すべてのポート(1〜65535番)を対象にスキャン

ポートスキャンを実施すると、開放されているポート番号に加え、稼働中のサービス(例:SSH、Apache)とそのバージョン情報が取得できます。これらの結果を踏まえ、次のフェーズ(脆弱性の調査)を進めていきます。

STEP

次の作業は・・・

この時点で、ターゲットマシンの基本的な情報が揃いました。次は、発見したサービスやバージョンに対して、既知の脆弱性が存在するかを調査し、エクスプロイトの有無を確認していく工程に進みます。

例えば、Searchsploitを用いて脆弱性の情報を検索したり、GVM/OpenVASsqlmapなどのツールでWebアプリケーション診断を実施したりすることが考えられます。

実際のアプローチは多岐に渡るため、ぜひ自らの手で手法を試し、失敗と成功を繰り返しながら学習を深めてください。VulnHubはそのための安全な環境を提供してくれます。

国内外問わず、多数のユーザーが仮想マシンの解説記事を公開しています。これにより、自力での攻略が難しい場合も学習を継続しやすく、また異なるアプローチやツールの使い方も学べるため、知見を深める助けになります。

手順に行き詰まったら、仮想マシン名 Walkthrough 仮想マシン名 WriteupでGoogle検索!

デフォラボ

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
目次