もっと知りたいセキュリティのこと

TOUCH THE SECURITY

TOUCH THE SECURITY vol.05

VirtualBoxで脆弱性を検証できる環境を作ろう

セキュリティサービスグループ編集部

VirtualBoxで脆弱性を検証できる環境を作ろう

年間を通じて、数多くの情報が公開されるソフトウェアの脆弱性。ITシステムに関わる職種の方であれば、これらの情報をネット検索される機会も非常に多いことでしょう。更には調べた情報について、手元で実際に検証したいというケースも少なからずあるのではないでしょうか。

TOUCH THE SECURITYの第5回は、Oracle社の提供する仮想化ソフトウェアVirtualBoxをベースに、二つの仮想マシンを軸としたプライベートな検証環境の導入方法をご紹介します。

1.VirtualBoxとは

このサイトをご覧の方はご存知の方も多いはずですが、先ずはOracle社VirtualBoxの簡単なご説明を。VirtualBoxとは、デスクトップ上に仮想のPCをシミュレーションする為のソフトウェアです。PCを一台しか所有していない方でも、実機のリソース(ディスクやメモリ、CPU)の許容範囲内であれば、デスクトップ上に複数の仮想マシンを作成する事が出来ます。仮想マシンにインストールするOSは実機のそれと一致させる必要はありませんので、windowsをOSとするノートPC上でLinuxマシンを稼働させ、お互いが通信を行う事も可能です。

筆者のWindows10のノートPC。VirtualBoxが2台の仮想Linuxマシンをシミュレーションしている。


筆者のWindows10のノートPC。VirtualBoxが2台の仮想Linuxマシンをシミュレーションしている。

また、作成した仮想マシンイメージはファイル(vdi形式、もしくはvmware社の仮想ソフトウェアと互換性のあるova形式)として保存が可能。各種Linuxディストリビューションのサイトをはじめ、仮想マシンイメージのファイルは数多く配布されていますので、これらをVirtualBoxにデプロイすれば、インストール工程を経ずに目的のマシンを動作させる事が出来ます。

2.今回作成する検証環境のイメージ

VirtualBoxの仮想領域の配下に「テスター役」と「やられ役」の2つの仮想マシンを用意します。今回、「テスター役」にはペネトレーションテスト(※)向けのツールが多数インストールされたLinuxディストリビューション「KaliLinux」のイメージをデプロイ。また「やられ役」としては、Rapid7社の配布する、複数の脆弱性が予め用意されたubuntuのイメージ「Metasploitable2」をデプロイしてみましょう。
(※)ペネトレーションテスト・・・システムに内在する脆弱性を探る為の侵入テストの事。

3.作業の大まかな流れ

大まかには以下の三つの作業に大別。以降、それぞれの詳細な手順について解説します。

  • 【ホストPC】VirtualBoxをインストール
  • 【テスター役マシン】KaliLinuxのマシンイメージ(ova形式)をデプロイ
  • 【やられ役マシン】Metasploitable2のマシンイメージ(vmware社のvmdk形式)をデプロイ

4.【ホストPC】VirtualBoxをインストール

  • ① 製品の入手

    公式サイトより、「Oracle VM VirtualBox Base Packages」、及び「Oracle VM VirtualBox Extension Pack」をダウンロード。前者はVirtualBox本体、後者は機能拡張用のパッケージとなります。

    https://www.virtualbox.org/wiki/Downloads

    製品の入手


  • ② 本体のインストール

    先ずは本体「Oracle VM VirtualBox Base Packages」をインストールします。

    本体のインストール


  • ③ 機能拡張「Oracle VM VirtualBox Extension Pack」のインストール

    機能拡張ファイルをインストールします。VirtualBoxの起動後、メニューより「ファイル > 環境設定」を選択。ポップアップした画面では、左メニューで「機能拡張」を選択、「右上のボタン」をクリックして、ダウンロードした「Oracle VM VirtualBox Extension Pack」のファイルを選択、インストールします。

    機能拡張「Oracle VM VirtualBox Extension Pack」のインストール


5.【テスター役マシン】KaliLinuxのマシンイメージをデプロイ

  • ① 製品の入手

    KaliLinux公式サイトより、ova形式で提供される「KaliLinux(64bit版)」のVirtualBox用イメージをダウンロード。

    https://www.offensive-security.com/kali-linux-vmware-virtualbox-image-download/

    製品の入手


  • ② VirtualBoxにイメージをデプロイ

    VirtualBoxにダウンロードしたイメージをデプロイします。VirtualBoxの起動後、メニューより「ファイル > 仮想アプライアンスのインポート」を選択。ポップアップした画面の「右のボタン」をクリックして、ダウンロードした「Kali-Linux-2017.1-vbox-amd64.ova」のファイルを選択、デプロイします。

    VirtualBoxにイメージをデプロイ


  • ③ 仮想マシンを起動

    左メニューよりデプロイしたマシンを選択、起動ボタンを押下します。

    仮想マシンを起動1


    画面が立ち上がったら、アカウント:root、パスワード:toorでログインします。

    仮想マシンを起動2


  • ④ アップデート

    ターミナルを起動して、以下のコマンドを順次投入。
    パッケージリストの更新 #apt-get update
    ディストリビューションの更新 #apt-get –y dist-upgrade ※かなり時間を要します。

    尚、アップグレードの途中、パッケージによっては設定に関する質問が返される場合がありますので、適宜入力を行ってください。


  • ⑤ 日本語入力への対応

    言語設定とキーボード配列を日本仕様に変更します。先ずはメニュー右側の三角のボタンをクリック、開いたウインドウ内の”赤印のボタン(「all settings」)”を押下。

    日本語入力への対応1


    All settingsのウインドウより、Region&Language のアイコンを押下

    日本語入力への対応2


    上段がデフォルトの状態。言語設定、およびキーボード配列はUS仕様となっている為、適宜下段の状態へ変更します。尚、設定反映の為にログアウトが求められますが、再ログイン後はメニューの表記は日本語となり、キーボードのレイアウトも日本仕様に添った入力が可能となります。

    日本語入力への対応3


    日本語入力への対応3


    次に日本語の入力を可能とすべく、インプッドメソッドとして「uim」と日本語入力用の「anthy」を導入します。以下のコマンドを投入後、再起動すれば日本語の入力が可能となります。
    # apt-get install uim uim-anthy


  • ⑥ ネットワーク設定の変更(必要な方のみ)

    KaliLinuxには、ペネトレーションテスト用の様々なツールがインストールされています。ツールの意図を介さないまま外部へ通信を試みた場合、迷惑行為に発展する可能性もありますので、自信の無い方は本設定を実施してみて下さい。

    KaliLinuxのマシンをシャットダウン後、マシン名を右クリックして「設定」を選択。

    ネットワーク設定の変更1


    ポップアップした画面の左メニューより、「ネットワーク」を選択。現在のネットワーク設定が「NAT」モードである事を確認します。「NAT」モードとは、ホストOSを介して、ゲストOSであるKaliLinuxが、インターネットへの通信を許可されている設定です。

    ネットワーク設定の変更2


    ホストOSとゲストOS間の通信は許可されるが、ゲストOSがインターネットへ通信する事が出来ない「ホストオンリーアダプター」へ変更します。尚、後述する「やられ役」マシンのMetasploitable2についても同様の設定とする事で、「テスター役」KaliLinuxと「やられ役」Metasploitable2を同じネットワークに配置する事が出来ます。

    ネットワーク設定の変更3


6.【やられ役マシン】Metasploitable2のマシンイメージをデプロイ

  • ① 製品の入手

    配布先より、vmdk形式(※)で提供される「Metasploitable2」のイメージをダウンロード。

    https://sourceforge.net/projects/metasploitable/files/Metasploitable2/

    (※)・・・vmdk形式はvmwareの仮想イメージですが、Virtualboxにデプロイする事が可能です。

    製品の入手


  • ② 仮想マシンの作成

    VirtualBoxのメニューより「新規」を押下。以下を選択の上、「次へ」へ。

    仮想マシンの作成


    名前:任意のマシン名(Metasploitable2など)
    タイプ:Linux
    バージョン:ubuntu(64-bit)

    仮想マシンの作成2


    メモリーサイズは「1024MB」

    仮想マシンの作成3


    「すでにある仮想のハードディスクファイルを使用する」のラジオボタンを選択後、右のボタンを押下して、ダウンロードした「Metasploitable.vmdk」を選択。

    仮想マシンの作成4


  • ③ ネットワーク設定の変更

    仮想マシンが作成された後、KaliLinuxと同様の手順でネットワーク設定を「NAT」から「ホストオンリーネットワーク」へ変更します。

    ネットワーク設定の変更


  • ④ 仮想マシンを起動

    左メニューよりデプロイしたマシンを選択して、起動ボタンを押下。ユーザ名とパスワードは msfadmin/msfadminです。

    仮想マシンを起動


これで作成作業は完了となります。尚、今回やられ役として用意したMetasploitable2は、KaliLinuxに同梱されるペネトレーション用ソフトウェア「Metasploit」の検証用途として提供されるものです。Metasploitの使用方法については書籍等も発売されていますが、くれぐれも外部へ通信を試みる事の無いよう、慎重なトライをお願いします。こちらは本サイトでもいずれ紹介の予定です。