如何使用vagrant在VirtualBox上运行Kali Linux
我们是否知道我们现在可以使用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-linux
和 kali-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