CTFツールとして、デスクトップパソコンの仮想環境にVagrantをインストール

ペネトレーションテスト&バグバウンティVagrant,VagrantBox,VagrantFile

Vagrantを利用して思いっきり攻撃できるサーバを構築しませんか。
仮想環境上にサーバを構築する方法をご説明します。

Vagrant(ベイグラント)とは

CTFを解くときに、サーバを利用して動作を確認する場合があります。
しかし、実際稼働している他人のサーバを利用するのは「犯罪」になります。
そこで、仮想環境上にサーバを構築する方法としてVagrantがあります。
 
 

前提条件

Vagrantを利用するには、「Oracle VM VirtualBox」が先にインストールされていなければなりません。(※ついでにKali Linuxも入れておいた方か良いでしょう。)
インストールされていない方は
「デスクトップパソコンに仮想環境を作成してKali Linux 2021.3をインストール(手順)」ご覧ください。
 
 

Vagrantのインストールファイルをダウンロード

Vagrantのサイトを開きます。
 
「DownLoad」ボタンを押下します。
どちらの「DownLoad」ボタンでもOKです。
 
「Operating System」の所で「windows」を選択し、「AMD64」のDownloadをクリックしてVagrantのインストールファイルをダウンロードします。
vagrant_2.3.4_windows_amd64.msi
 

Vagrantのインストール

ダウンロードした上記のファイルを実行します。
 
 
Vagrant Setup画面が表示されます。
「next」ボタンを押下します。
 
「I accept the terms the License Agreement」にチェックを入れて「next」ボタンを押下します。
 
「Destination Folder」画面で保存先を設定して「next」ボタンを押下します。
 
「Ready to install Vagrant」画面で「Install」ボタンを押下します。
 
Vagrantのインストール中です。
 
Vagrantのインストールが完了しました。「Finish」ボタンで終了してください。
 
「Vagrantで行った設定変更を有効にするには、システムを再起動する必要があります。今すぐ再起動する場合はyes、手動で再起動する場合はnoをクリックします。」
の警告が表示されるので、問題なければ「Yes」ボタンを押下して再起動してください。
 

VagrantBoxを作成する

Vagrantで仮想マシンを作成するにはVagrantBoxファイルと呼ばれる仮想マシンの ベースとなるイメージファイルが必要になるそうです。
 
作成できるそうですか、よくわかりません。
そこで、VagrantのBoxファイルを探すことができるサイトを見つけました
・VagrantCloud
 
VagrantのBoxファイルの一覧が表示されています。
一番最新と思われる「リリース済み」で一年以上前の
Ubuntu/xenial64 20211001.0.0
Official Ubuntu 16.04 LTS(Xenial Xerus)
を利用しました。
 
クリックして詳細画面を表示します。
 
詳細画面です。
 
少し下に「v20211001.0.0 currently released version」があります。
「下矢印丸」にカーソルを移動して、「右クリック」をして「リンクのアドレス」をコピーしてください。
 
リンクのアドレスは
https://app.vagrantup.com/ubuntu/boxes/xenial64/versions/20211001.0.0/providers/virtualbox.box
になりました。
 
このリンクのアドレスはVagrantfileを作成するときに使用します。
 
 

Oracle VM Visualboxの立ち上げ

ここで、Oracle VM Visualboxを立ち上げておきます。
(Vagrantfileの仮想マシンが追加されたらここに表示されます。)
 
 

Vagrantfileの作成

Windowsのスタートボタンから「PowerShell(x64)」を起動します。
 
開発環境のディレクトリを作成します。
c:移動してcドライブの直下に「vagranttest」ディレクトリを作成します。
mkdir vagranttest
 
「vagranttest」ディレクトリに移動します。
cd vagranttest
 
Vagrantfileを作成します。
vagrant init vagranttest
 
これで、Vagrantfileが作成されました。
 
Vagrantfileのファイルをエディターで編集します。
Vagrantfileのファイルを開きます。
 
上の画像の下線の
config.vm.box = “vagranttest"
の下に次コードを追加します。
アドレスは先に取得したリンクのアドレスになります。
(赤枠が追加部分です。)
config.vm.box_url = “https://app.vagrantup.com/ubuntu/boxes/xenial64/versions/20211001.0.0/providers/virtualbox.box"
 
※注意
本来はこのファイルにいろいろな設定ができるみたいですが、今回はシンプルなubuntuのサーバを作成します。
 

Vagrantfileの仮想マシンの作成

仮想マシンの初期化をします。
vagrant up –provision
 
仮想マシンをリロードします。
vagrant reload
 
※ここでOracle VM Visualboxを参照すると、今回追加したVagrantのサーバが追加されています。
 
 
Oracle VM Visualboxで追加されたVagrantのサーバのネットワークをクリックして、割り当てを「ホストオンリーアダプター」に変更して「OK」ボタンを押下します。
 
 
これで、Vagrantのサーバの作成が完了しました。
 
 

Vagrantfileの仮想マシンの立ち上げ

上図の表示ボタンを押下します。
 
 
ログインの状態になります。
 
login:vagrant
password:vagrant
 
これでログインできました。
 
Vagrantfileの仮想マシンのipアドレスを確認します。
ifconfig
 
ipアドレスは「192.168.56.106」でした。
 

Oracle VM VisualboxでKali Linuxを起動して確認

Kali Linuxを起動します。
ターミナルを立ち上げてpingで確認しました。
 

CTFツールとして、デスクトップパソコンの仮想環境にVagrantをインストールのまとめ

CTFツールとして使えると聞いたのでVagrantで仮想サーバーを構築しました。
意外と断片的な資料しか見つからず、結局、試行錯誤しながらサーバーを立ち上げました。
 
特にVagrantBox、VagrantFileの作成方法がわからず四苦八苦しました。
とりあえずOracle VM Visualboxでubuntuの仮想サーバが立ち上がりました。
(※間違っていたらごめんなさいね。)
 
これで、windows上でOracle VM Visualboxを利用して複数のサーバーを立ち上げることができます。
Vagrantfileでいろいろ設定ができる様子ですので、よかったら調べてくださいね。
 
これから、CTFのツールとしてどのように使えるか調べていきたいと思います。
 
※個人的には1万円ぐらいの中古ノートパソコンを購入してbuntuを入れた方が良いのかなと心の中で思っています。(^^;;