TOUCH THE SECURITY Powered by Security Service G
年間を通じて、数多くの情報が公開されるソフトウェアの脆弱性。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マシンをシミュレーションしている。
また、作成した仮想マシンイメージはファイル(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」のファイルを選択、インストールします。
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」のファイルを選択、デプロイします。
-
③ 仮想マシンを起動
左メニューよりデプロイしたマシンを選択、起動ボタンを押下します。
画面が立ち上がったら、アカウント:root、パスワード:toorでログインします。
-
④ アップデート
ターミナルを起動して、以下のコマンドを順次投入。
パッケージリストの更新 #apt-get update
ディストリビューションの更新 #apt-get –y dist-upgrade ※かなり時間を要します。
尚、アップグレードの途中、パッケージによっては設定に関する質問が返される場合がありますので、適宜入力を行ってください。 -
⑤ 日本語入力への対応
言語設定とキーボード配列を日本仕様に変更します。先ずはメニュー右側の三角のボタンをクリック、開いたウインドウ内の”赤印のボタン(「all settings」)”を押下。
All settingsのウインドウより、Region&Language のアイコンを押下
上段がデフォルトの状態。言語設定、およびキーボード配列はUS仕様となっている為、適宜下段の状態へ変更します。尚、設定反映の為にログアウトが求められますが、再ログイン後はメニューの表記は日本語となり、キーボードのレイアウトも日本仕様に添った入力が可能となります。
次に日本語の入力を可能とすべく、インプッドメソッドとして「uim」と日本語入力用の「anthy」を導入します。以下のコマンドを投入後、再起動すれば日本語の入力が可能となります。
# apt-get install uim uim-anthy -
⑥ ネットワーク設定の変更(必要な方のみ)
KaliLinuxには、ペネトレーションテスト用の様々なツールがインストールされています。ツールの意図を介さないまま外部へ通信を試みた場合、迷惑行為に発展する可能性もありますので、自信の無い方は本設定を実施してみて下さい。
KaliLinuxのマシンをシャットダウン後、マシン名を右クリックして「設定」を選択。ポップアップした画面の左メニューより、「ネットワーク」を選択。現在のネットワーク設定が「NAT」モードである事を確認します。「NAT」モードとは、ホストOSを介して、ゲストOSであるKaliLinuxが、インターネットへの通信を許可されている設定です。
ホストOSとゲストOS間の通信は許可されるが、ゲストOSがインターネットへ通信する事が出来ない「ホストオンリーアダプター」へ変更します。尚、後述する「やられ役」マシンのMetasploitable2についても同様の設定とする事で、「テスター役」KaliLinuxと「やられ役」Metasploitable2を同じネットワークに配置する事が出来ます。
6.【やられ役マシン】Metasploitable2のマシンイメージをデプロイ
-
① 製品の入手
配布先より、vmdk形式(※)で提供される「Metasploitable2」のイメージをダウンロード。
https://sourceforge.net/projects/metasploitable/files/Metasploitable2/
(※)・・・vmdk形式はvmwareの仮想イメージですが、Virtualboxにデプロイする事が可能です。
-
② 仮想マシンの作成
VirtualBoxのメニューより「新規」を押下。以下を選択の上、「次へ」へ。
名前:任意のマシン名(Metasploitable2など)
タイプ:Linux
バージョン:ubuntu(64-bit)メモリーサイズは「1024MB」
「すでにある仮想のハードディスクファイルを使用する」のラジオボタンを選択後、右のボタンを押下して、ダウンロードした「Metasploitable.vmdk」を選択。
-
③ ネットワーク設定の変更
仮想マシンが作成された後、KaliLinuxと同様の手順でネットワーク設定を「NAT」から「ホストオンリーネットワーク」へ変更します。
-
④ 仮想マシンを起動
左メニューよりデプロイしたマシンを選択して、起動ボタンを押下。ユーザ名とパスワードは msfadmin/msfadminです。
これで作成作業は完了となります。尚、今回やられ役として用意したMetasploitable2は、KaliLinuxに同梱されるペネトレーション用ソフトウェア「Metasploit」の検証用途として提供されるものです。Metasploitの使用方法については書籍等も発売されていますが、くれぐれも外部へ通信を試みる事の無いよう、慎重なトライをお願いします。こちらは本サイトでもいずれ紹介の予定です。