スクリーンショット_2020-02-03_17

Metasploitable3環境を構築してみる

唐突にですがちょっと研究環境で必要になった(と思ってる)ので、セットアップ過程をメモしてみました。とりあえずメインで使ってるMacにですが、後ほどWin環境もやってみようと思ってます。

環境
ホストOS:Mac OS X 10.15.2 Catalina
CPU:2.3GHz Intel Core i5
メモリ:16GB LPDDR3

必要なソフトウェア
・Virtualbox
・Packer
・Vagrant
Homebrewでインストールすると楽

$ brew cask install virtualbox
$ brew cask install vagrant
$ brew install packer

とりあえず適当な場所にgitからmetasploitable3のクローンを入手

$ git clone https://github.com/rapid7/metasploitable3.git
$ ls -la | grep metasploitable3
drwxr-xr-x    17    username  staff  544  2  3  hh:mm metasploitable3

vagrant-reloadをインストール

$ vagrant plugin install vagrant-reload
Installed the plugin 'vagrant-reload (0.0.1)'!

packerでUbuntuのbaseVMイメージをビルド

$ packer build --only=virtualbox-iso ./packer/templates/ubuntu_1404.json

まあまあ時間かかりますね・・・ダウンロード→仮想マシン起動→設定ごにょごにょ→エクスポートの間はひたすら待ちです。仮想マシン見てると勝手に動いてくれてるので、意外に飽きない・・・かも・・・

スクリーンショット 2020-02-03 15.14.38

packer/buildフォルダに、ビルドしたboxファイルができてるはずなので、追加します。addの後の名前は任意で、ubuntu_1404_...がboxファイルです。

$ cd metasploitable3/packer/builds/
$ vagrant box add metasploitable3/ubuntu1404 ubuntu_1404_virtualbox_0.1.12.box
$ vagrant box list
metasploitable3/ubuntu1404 (virtualbox, 0)

いざ起動!

$ vagrant up ub1404

・・・
・・・・・
・・・・・・・・・・・・・・おせええええええええ!!!!

スクリーンショット 2020-02-03 16.30.28

いや、まあ、一回できちゃえばもうね、すぐ使えるのだろうけど、私がやりたいのは演習環境とかで使えるようにすることなので、やっぱこれはvagrantで作ったイメージからdockerコンテナを作ってみよう。やりたいことが増えてしまった。とか思ってたら30分かからず終わった。remaining : 2:30:**とか出てたくせにツンデレ・・・。

IP確認して、Webサーバもちゃんと上がってるの確認しました。Warning出てるけど、一応動いたとこまでで一旦切ります。win環境での構築のほうは、容量あるマシンを用意してからやってみます。

スクリーンショット 2020-02-03 17.22.54

(追記)上記のWarningは以下で消せました
/var/www/html/drupal/include/database/query.inc を編集

function  __clone()  {
	$this->changed = TRUE;
	foreach ($this->conditions as $key => $condition) {
		if ($condition[‘field’] instanceOf QueryConditionInterface) {
			$this->conditions[$key][‘field’] = clone($condition[‘field’]);
		}
	}
}

function __clone() {
	$this->changed = TRUE;
	foreach ($this->conditions as $key => $condition) {
	    if( isset($condition['field'])){ 
		    if ($condition['field'] instanceOf QueryConditionInterface) {
			    $this->conditions[$key]['field'] = clone($condition['field']);
		    }
	    }
   	}
}

これで消せましたー。あとはじっくり責めてみよう・・・ふふ・・・。

スクリーンショット 2020-02-04 0.28.38


この記事が気に入ったらサポートをしてみませんか?