
Metasploitable3は、数多くのセキュリティ脆弱性を含むようにゼロから構築されたVMです。
Metasploitable3は、多数のセキュリティ脆弱性を備えたゼロから構築されたVMです。これは、metasploitを使用してエクスプロイトをテストするためのターゲットとして使用することを目的としています。
Metasploitable3はBSDスタイルのライセンスの下でリリースされています。詳細についてはCOPYINGを参照してください。
https://app.vagrantup.com/rapid7/ で提供されているプレビルドイメージを使用するには、新しいローカルのmetasploitableワークスペースを作成します。
Linuxユーザー:
mkdir metasploitable3-workspace
cd metasploitable3-workspace
curl -O https://raw.githubusercontent.com/rapid7/metasploitable3/master/Vagrantfile && vagrant up
Windowsユーザー:
mkdir metasploitable3-workspace
cd metasploitable3-workspace
Invoke-WebRequest -Uri "https://raw.githubusercontent.com/rapid7/metasploitable3/master/Vagrantfile" -OutFile "Vagrantfile"
vagrant up
または、このリポジトリをクローンして独自のボックスを構築します。
システム要件:
要件:
./build.sh windows2008 を実行してWindowsボックスを構築するか、./build.sh ubuntu1404 を実行してLinuxボックスを構築します。/tmpが小さい場合は、TMPDIR=/var/tmp ./build.sh ... を使用して一時的なpackerディスクイメージを/var/tmpに保存します。.\build.ps1 windows2008 を実行してWindowsボックスを構築するか、.\build.ps1 ubuntu1404 を実行してLinuxボックスを構築します。スクリプトにオプションを渡さない場合、つまり .\build.ps1 の場合は、両方のボックスが構築されます。vagrant up を実行して両方を起動します。いずれか1つのVMを起動するには、以下を使用できます。
vagrant up ub1404 : Linuxボックスを起動vagrant up win2k8 : Windowsボックスを起動vagrant、パスワード: vagrant です。packer build --only=<provider> ./packer/templates/windows_2008_r2.json を実行してベースVMイメージを構築します。ここで <provider> はお好みの仮想化プラットフォームです。現在は virtualbox-iso、qemu、vmware-iso プロバイダーがサポートされています。初回実行時はOSインストールISOをダウンロードする必要があるため、時間がかかります。vagrant box add packer/builds/windows_2008_r2_*_0.1.0.box --name=rapid7/metasploitable3-win2k8 コマンドで実行できます。vagrant plugin install vagrant-reload を使用して、まだインストールしていない場合はリロードVagrantプロビジョナーをインストールします。vagrant up win2k8 コマンドを実行します。これによりVMが起動し、すべてをセットアップするために必要なインストールおよび設定スクリプトがすべて実行されます。約10分かかります。vagrantvagrantVagrantと軽量なUbuntu 14.04のVagrantクラウドボックスイメージを使用すると、開発やカスタマイズのためにub1404 Metasploitable3を迅速にセットアップおよびカスタマイズできます。そのためには、VagrantとVirtualBox、VMWare、libvirtなどのハイパーバイザーをインストールします。
関連するプロバイダープラグインをインストールします。
# virtualbox
vagrant plugin install vagrant-vbguest
# libvirt
vagrant plugin install vagrant-libvirt
次に、このリポジトリ内の chef/dev/ub1404 ディレクトリに移動します。そこのVagrantfileを確認してください。プロバイダーをサポートするベースボックスを選択します。
Metasploitable ub1404は、Vagrantの chef-solo プロビジョナーを使用します。Vagrantfile内のchef_soloブロックを、希望するmetasploitableのChefレシピで設定します。chef/cookbooks/metasploitable フォルダーでレシピを参照できます。または、独自のクックブックやレシピを追加・編集することもできます。
chef/dev/ub1404 ディレクトリから、vagrant up を実行して開発用の仮想ub1404インスタンスを取得できます。最初の up ビルドとプロビジョニング後、Chefのランリストを編集したり、Chefレシピを編集したりした場合は、同じディレクトリから vagrant rsync && vagrant provision を実行します。より迅速な開発のために、再実行が不要なレシピをコメントアウトすることもできます。ただし、すべて有効にしても、Vagrantの再プロビジョニングには1〜2分以上かかりません。Chefは冪等性を目指しているため、このコマンドを頻繁に再実行できます。
レシピを変更する前にスナップショット(例: vagrant snapshot save fresh)を取得することを検討してください。そうすれば、常に初期状態に戻すことができます(vagrant restore fresh)。完全に新しいスナップショットが必要な場合は、vagrant up --no-provision で初期化を行い、スナップショットを取得し、その後 vagrant provision を実行できます。
wikiにはさらに多くの詳細があり、主要なドキュメントソースとして機能します。こちらをご確認ください。
このプロジェクトのWindows部分は、GitHubユーザー joefitzgerald の packer-windows プロジェクトに基づいています。Packerテンプレート、元のVagrantfile、およびインストール応答ファイルがベーステンプレートとして使用され、このプロジェクトのニーズに合わせて構築されました。