最近のコミュニティ ブログ投稿に触発されて、コミュニティが Kali を使用するための新しい公式の方法を追加することにしました。今から、Vagrant Cloud で公式に管理されている Kali Linux イメージを見つけることができます。
Vagrant とは?
Vagrant の Web サイトから:
<ブロック引用>Vagrant は、単一のワークフローで仮想マシン環境を構築および管理するためのツールです。
簡単に言えば、単一の構成ファイルを使用して、基本「ボックス」をダウンロードし、追加のネットワーク インターフェイスの追加、CPU コア数とメモリの設定、初回起動時のスクリプトの実行などの追加構成を適用できます。さらに重要なことは、これらすべてが構成ファイルに含まれているため、何ギガバイトにも及ぶ仮想マシンと比較して共有が非常に簡単です.
はじめに
開始するには、まず Vagrant と VirtualBox をインストールします。次に、空のディレクトリを作成し、そこから次のコマンドを実行します:
$ vagrant init kalilinux/rolling
A `Vagrantfile` has been placed in this directory. You are now
ready to `vagrant up` your first virtual environment! Please read
the comments in the Vagrantfile as well as documentation on
`vagrantup.com` for more information on using Vagrant.
これにより、Vagrantfile という名前のファイルが作成されます には、仮想マシンのすべての構成オプションが含まれています。すべての「vagrant」コマンドは、そのファイルを含むディレクトリから実行する必要があります。デフォルトでは、ボックス名と多くのコメント付きの共通オプションのみが含まれています。それらの一部については後で確認しますが、ここでは抜粋を示します。
$ cat Vagrantfile
# -*- mode: ruby -*-
# vi: set ft=ruby :
# All Vagrant configuration is done below. The "2" in Vagrant.configure
# configures the configuration version (we support older styles for
# backwards compatibility). Please don't change it unless you know what
# you're doing.
Vagrant.configure("2") do |config|
# The most common configuration options are documented and commented below.
# For a complete reference, please see the online documentation at
# https://docs.vagrantup.com.
# Every Vagrant development environment requires a box. You can search for
# boxes at https://vagrantcloud.com/search.
config.vm.box = "kalilinux/rolling"
...
# Create a forwarded port mapping which allows access to a specific port
# within the machine from a port on the host machine. In the example below,
# accessing "localhost:8080" will access port 80 on the guest machine.
# NOTE: This will enable public access to the opened port
# config.vm.network "forwarded_port", guest: 80, host: 8080
...
end
次に、十分なディスク容量があることを確認してください。 vagrant の「ボックス」 (テンプレートと考えることができます) は約 4 GB を使用し、スピンアップした VM は内部にインストールするものに応じて約 10 GB 以上を使用します。次に、次のコマンドを実行します:
$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Box 'kalilinux/rolling' could not be found. Attempting to find and install...
default: Box Provider: virtualbox
default: Box Version: >= 0
==> default: Loading metadata for box 'kalilinux/rolling'
default: URL: https://vagrantcloud.com/kalilinux/rolling
==> default: Adding box 'kalilinux/rolling' (v2018.3.1) for provider: virtualbox
default: Downloading: https://vagrantcloud.com/kalilinux/boxes/rolling/versions/2018.3.1/providers/virtualbox.box
...
==> default: Machine booted and ready!
==> default: Checking for guest additions in VM...
==> default: Mounting shared folders...
default: /vagrant => /Users/woodbine/vagrant-boxes/kali
Vagrant は、キャッシュにない場合はまずボックス ファイルをダウンロードし、次に Kali VM を作成して電源を入れます。 VirtualBox UI がポップアップ表示されるので、root/toor で通常どおり Kali を使用できます。 資格。 Vagrant のベテランは、他のほとんどの Vagrant ボックスとは異なり、VM がヘッドレスではないことに気付くかもしれません。多くの Kali ツールが GUI を必要とするため、デフォルトで GUI を表示することにしました。 GUI が必要ない場合は、Vagrantfile で無効にすることができます。 (構成の例については以下を参照してください)、次のコマンドを実行して、vagrant としてマシンに SSH 接続します。 ユーザー。
$ vagrant ssh
Linux kali 4.18.0-kali1-amd64 #1 SMP Debian 4.18.6-1kali1 (2018-09-10) x86_64
The programs included with the Kali GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Kali GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
[email protected]:~$
このユーザーには、パスワード vagrant で構成されたパスワードなしの sudo があります 、Vagrant の規則に従います。
設定
VM には事前構成された NAT インターフェイスが付属しているため、構成を編集して VM 内からインターネットにアクセスする必要はありません。さらに、Vagrant はデフォルトで共有フォルダーを作成します:ホスト上の現在のディレクトリ (Vagrantfile を含むディレクトリ) ) は /vagrant で利用できます ゲストのディレクトリ。このディレクトリを使用すると、データをホストに保存しておくことができますが、ゲストからは簡単にアクセスできます。これにより、Vagrant マシンをすばやくリセットし、データを失うことがなくなるため、良い方法です。
ちょっとした設定でさらに何ができるか見てみましょう。
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure("2") do |config|
config.vm.box = "kalilinux/rolling"
# Create a forwarded port
config.vm.network "forwarded_port", guest: 80, host: 8080
# Create a private network. In VirtualBox, this is a Host-Only network
config.vm.network "private_network", ip: "192.168.33.10"
# VirtualBox specific settings
config.vm.provider "virtualbox" do |vb|
# Hide the VirtualBox GUI when booting the machine
vb.gui = false
# Customize the amount of memory on the VM:
vb.memory = "4096"
end
# Provision the machine with a shell script
config.vm.provision "shell", inline: <<-SHELL
apt-get update
apt-get install -y crowbar
SHELL
end
Vagrantfile 内のオプションを追加/コメント解除します 次に、次のコマンドでマシンを再起動して、変更を有効にします:
vagrant reload
プロビジョニング スクリプトは、マシンの初回起動時にのみ実行されますが、次のコマンドのいずれかを使用して再実行できます:
vagrant provision # provision the powered on VM
vagrant up --provision # when VM is powered off, power it on then provision
vagrant reload --provision # reboot the VM then provision
ブリッジされたネットワーク (Vagrant では「パブリック ネットワーク」と呼ばれる) を追加することは可能ですが、Vagrant はデフォルトで安全でないため、これはおそらく悪い考えであることに注意してください。
まとめ
この新しいサービスがお役に立てば幸いです。 Vagrant でできる簡単なことをいくつか紹介しましたが、その他の構成オプションについては公式ドキュメントを、その他のボックスについては Vagrant Cloud を必ずチェックしてください!