如何使用vagrant在VirtualBox上运行Kali Linux

时间:2020-02-23 14:45:11  来源:igfitidea点击:

我们是否知道我们现在可以使用Vagrant管理Kali Linux虚拟实例?
作为Kali Linux的巨大粉丝,我很乐意与我们分享一个与Vagrant&VirtualBox虚拟机管理程序一起运行Kali Linux的过程。
Kali Linux是基于Debian的领先的先进穿透测试和安全审计操作系统。

Kali Linux包含了几百个工具,用于计算机取证,渗透测试,逆向工程,安全研究。
Kali开发由一家领先的信息安全培训受到进攻安全资助和维护。

对于那些新的VAGRANT,VAGRANT是一个用于在易于使用的单个工作流程中构建和管理虚拟机环境的开源工具。

设置要求

任何体面的Linux发行版 - Debian,Ubuntu,Arch,Fedora 等CPU与VT-X/AMD虚拟化ExtensionsVirtualBox和Vagrant安装

第1步:安装Vagrant和VirtualBox

要安装Vagrant和VirtualBox,请参阅我们以前的教程:

如何在Kali Linux滚动上安装最新的VirtualBox

如何在Ubuntu/Debian上安装最新的VirtualBox

在Ubuntu/Debian&Kali Linux上安装最新的Vagrant

第2步:下载Kali Vagrant Box

安装VirtualBox和Vagrant后,下载Kali Linux Vagrant Box镜像。
我们有两个选项.Download Kali Linux全部图像 - 附带所有Kali PackagesDownload Kali Linux Light - 包含Striped Down Package List

使用命令下载Vagrant Box:

$vagrant box add offensive-security/kali-linux
==> box: Loading metadata for box 'offensive-security/kali-linux'
    box: URL: https://vagrantcloud.com/offensive-security/kali-linux
==> box: Adding box 'offensive-security/kali-linux' (v2016.3.1) for provider: virtualbox
    box: Downloading: https://vagrantcloud.com/offensive-security/boxes/kali-linux/versions/2016.3.1/providers/virtualbox.box
==> box: Box download is resuming from prior download progress
==> box: Successfully added box 'offensive-security/kali-linux' (v2016.3.1) for 'virtualbox'!

对于Kali Linux Light,更换 kali-linuxkali-linux-light

$vagrant box add offensive-security/kali-linux-light
==> box: Loading metadata for box 'offensive-security/kali-linux-light'
    box: URL: https://vagrantcloud.com/offensive-security/kali-linux-light
==> box: Adding box 'offensive-security/kali-linux-light' (v2016.3.1) for provider: virtualbox
    box: Downloading: https://vagrantcloud.com/offensive-security/boxes/kali-linux-light/versions/2016.3.1/providers/virtualbox.box
==> box: Successfully added box 'offensive-security/kali-linux-light' (v2016.3.1) for 'virtualbox'!

添加了添加的流浪盒子应该是可见的

$vagrant box list  | grep offensive 
offensive-security/kali-linux       (virtualbox, 2016.3.1)
offensive-security/kali-linux-light (virtualbox, 2016.3.1)

第3步:启动Kali Linux虚拟机

首先为kali项目创建一个空目录,然后从那里生成一个Vagrant文件:

$mkdir -p vagrant-projects/kali
$cd vagrant-projects/kali
$vagrant init offensive-security/kali-linux
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命令应从包含VAGRANTFILE的目录运行。

在运行之前,我们可以将文件修改为喜好 vagrant up命令:

# -*- mode: ruby -*
# vi: set ft=ruby :
Vagrant.configure("2") do |config|
  config.vm.box = "offensive-security/kali-linux"
  config.vm.box_check_update = false
  config.vm.hostname = "kali-linux"
  config.vm.provider "virtualbox" do |vb|
  # Display the VirtualBox GUI when booting the machine
     vb.gui = false
     vb.memory = "2048"
  end
end

完成修改后,保存文件并运行

$vagrant up

这是一个示例输出

Bringing machine 'default' up with 'virtualbox' provider...
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
    default: Adapter 2: hostonly
==> default: Forwarding ports...
    default: 22 (guest) => 2222 (host) (adapter 1)
==> default: Running 'pre-boot' VM customizations...
==> default: Booting VM...
==> default: Waiting for machine to boot. This Jan take a few minutes...
    default: SSH address: 127.0.0.1:2222
    default: SSH username: vagrant
    default: SSH auth method: private key
    default: 
    default: Vagrant insecure key detected. Vagrant will automatically replace
    default: this with a newly generated keypair for better security.
    default: 
    default: Inserting generated public key within guest...
    default: Removing insecure key from the guest if it's present...
    default: Key inserted! Disconnecting and reconnecting using new SSH key...
==> default: Machine booted and ready!
==> default: Checking for guest additions in VM...
==> default: Setting hostname...
==> default: Configuring and enabling network interfaces...
==> default: Mounting shared folders...
    default: /vagrant => /home/jmutai/hacks/vagrant/labs/kali
    default: /vagrant_data => /home/jmutai/Projects

要访问VM shell,请运行:

$vagrant ssh

我们也可以使用主机 ssh客户端通过分配的私有IP地址访问Kali Linux实例shell。

$ssh Hyman@theitroad
Warning: Permanently added '192.168.90.99' (ECDSA) to the list of known hosts.
Hyman@theitroad's password: 
Linux kali 4.18.0-kali1-amd64 #1 SMP Debian 4.18.6-1kali1 (2016-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.
Last login: Fri Oct 19 15:20:41 2016 from 10.0.2.2
Hyman@theitroad:~$

如果检查实例IP地址,则应可用在VagrantFile上配置的IP地址。

每当我们对VAGRANTFILE进行更改时,重新启动计算机以使更改生效。

$vagrant reload

停止实例,使用

$vagrant halt

如果我们想在停止时保存VM的当前状态,请使用

$vagrant suspend

有了这个,在启动VM时,我们将在稍后的时间返回到完全相同的状态。

通过运行完成时销毁Vagrant机器

$vagrant destroy