跳转到帖子

游客您好,欢迎来到黑客世界论坛!您可以在这里进行注册。

赤队小组-代号1949(原CHT攻防小组)在这个瞬息万变的网络时代,我们保持初心,创造最好的社区来共同交流网络技术。您可以在论坛获取黑客攻防技巧与知识,您也可以加入我们的Telegram交流群 共同实时探讨交流。论坛禁止各种广告,请注册用户查看我们的使用与隐私策略,谢谢您的配合。小组成员可以获取论坛隐藏内容!

TheHackerWorld官方

Kali Vagrant Rebuilt: Out With Packer, In With DebOS

精选回复

发布于

Vagrant 文件*.box 是预先配置的虚拟机(VM) VM 映像,当导入到HashiCorp 的Vagrant 中时,允许通过命令行与VM 进行交互。

您无需离开终端即可创建、启动、交互、停止、销毁虚拟机。想想容器(Docker/Podman),但针对虚拟机。

之前我们一直使用HashiCorp 的Packer 来生成HashiCorp 的Vagrant 图像。

Packer 是一个包装器,围绕您想要的任何虚拟机管理程序,它将自动安装操作系统(通过预置进行无人值守设置)、运行任何命令或脚本、导出虚拟机并最终压缩它。

Packer 的缺点是您需要在主机操作系统上安装所选的虚拟机管理程序,并且无法交叉构建。如果您使用Linux,则无法构建Window 的Hyper-V。

几年来,我们一直在使用DebOS 来自动构建虚拟机。这对我们来说非常有效。

最近我们意识到:“为什么我们有两个不同的系统,目的相同?”。

深入研究“如何制作vagrant base box VM”可以归结为几个要求:

修复用户名(vagrant) 修复/已知公共SSH 密钥(默认/标准不安全密钥对)能够执行超级用户操作(sudo) 真的很简单,只需要确保Vagrant 可以轻松访问虚拟机!

可选项目(和推荐),因为它有助于用户而不是Vagrant:

已知/修复凭据(到处都是流浪者)SSH 调整(加速气隙网络)所有这些都可以在安装后步骤中处理,我们已将其放入Kali-VM 构建脚本中。

现在,我们正在以同样的方式自动构建所有虚拟机(Stock 和Vagrant),所有虚拟机都在相同的基础设施设置(Linux!)中。

自Microsoft Windows 10 1607/Server 2016 起,导出虚拟机时,会出现3 个额外的“二进制”文件,其中包括*.vmcx/*.vmrs 以及*.xml。由于我们不再从Hyper-V 导出虚拟机,而是在外部生成虚拟机,因此我们没有这些文件。

现在,我们可以创建一个“模板”二进制文件来充当虚拟标记。

但这并不适合我们,我们不想包含项目,尤其是二进制文件。

Vagrant 开箱即用,需要这些二进制文件,但如果没有它们,就会失败。然而,稍后向上游提出合并请求,并添加了支持。因此,尝试使用Hyper-V 在Windows 上使用Kali 2025.2 或更高版本,使用v2.4.7 之前的vagrant 是行不通的。您需要使用较旧的Kali、不同的虚拟机管理程序、手动修补或将Vagrant 升级到v2.4.8(2025-08-05 发布)或更高版本。

由于Packer 不再生成Vagrant VM,因此我们重命名了git 存储库(gitlab.com/kalilinux/build-scripts/kali-vagrant - gitlab.com/kalilinux/build-scripts/kali-packer)。

最后,在废弃我们的Packer 构建脚本之前,我们再次刷新了这些构建脚本。我们可能不会使用它,但这并不意味着您不能。

演示

安装Vagrant 和VirtualBox 后:

$ vagrant box 添加kalilinux/rolling

==box: 正在加载框“kalilinux/rolling”的元数据

box: URL: https://vagrantcloud.com/api/v2/vagrant/kalilinux/rolling

该盒子可以与多个提供商合作!它的提供者

可以与下面列出的一起使用。请查看列表并选择

您将与之合作的提供商。

1) 超级v

2)libvirt

3)虚拟机

4)vmware_桌面

输入您的选择: 3

==box: 为provider: virtualbox (amd64) 添加框'kalilinux/rolling' (v2025.2.1)

box: 下载: https://vagrantcloud.com/kalilinux/boxes/rolling/versions/2025.2.1/providers/virtualbox/amd64/vagrant.box

box: 正在计算和比较框校验和.

==box: 已成功为“virtualbox (amd64)”添加框“kalilinux/rolling”(v2025.2.1)!

$

$ 流浪者盒子列表

kalilinux/滚动(virtualbox,2025.2.1,(amd64))

$

$ mkdir -pv vagrant-demo/; cd vagrant-demo/

mkdir: 创建了目录'vagrant-demo/'

$

$ vagrant init --force --minimal kalilinux/rolling

[.]

$

$ cat Vagrantfile

# -*- mode: 红宝石-*-

# vi: 设置ft=ruby :

Vagrant.configure('2') 执行|config|

config.vm.box='kalilinux/滚动'

结束

$

$ vagrant up --provider virtualbox

将机器“默认”与“virtualbox”提供商一起使用.

==default: 输入基础框'kalilinux/rolling'.

==default: 正在生成NAT 网络的MAC 地址.

==default: 检查框“kalilinux/rolling”版本“2025.2.1”是否是最新的.

==default: 设置VM:的名称vagrant-demo_default_1753960552589_87147

Vagrant 当前配置为创建VirtualBox 同步文件夹

已启用“SharedFoldersEnableSymlinksCreate”选项。如果流浪者

来宾不受信任,您可能需要禁用此选项。了解更多

有关此选项的信息,请参阅VirtualBox 手册:

https://www.virtualbox.org/manual/ch04.html#sharedfolders

可以使用环境变量: 全局禁用此选项

VAGRANT_DISABLE_VBOXSYMLINKCREATE=1

或Vagrantfile: 中的每个文件夹

config.vm.synced_folder '/host/path', '/guest/path', SharedFoldersEnableSymlinksCreate: false

==default: 清除任何先前设置的网络接口.

==default: 正在根据配置准备网络接口.

默认:适配器1: nat

==默认: 转发端口.

默认: 22(来宾)=2222(主机)(适配器1)

==default: 正在运行“预启动”VM 自定义.

==default: 正在启动虚拟机.

==default: 等待机器启动。这可能需要几分钟.

默认: SSH地址: 127.0.0.1:2222

默认: SSH用户名: vagrant

默认: SSH 身份验证方法: 私钥

default: 警告: 连接重置。正在重试.

default: 警告: 远程连接断开。正在重试.

default: 警告: 连接重置。正在重试.

default: 警告: 远程连接断开。正在重试.

默认:

default: Vagrant 检测到不安全密钥。 Vagrant 会自动替换

default: 使用新生成的密钥对以提高安全性。

默认:

default: 正在访客中插入生成的公钥.

default: 正在从来宾中删除不安全的密钥(如果存在).

default: 钥匙已插入!使用新的SSH 密钥断开连接并重新连接.

==default: 机器已启动并准备就绪!

==default: 正在检查虚拟机中的来宾添加.

default: 此VM 上的来宾添加与已安装的版本不匹配

默认: VirtualBox!在大多数情况下这很好,但在极少数情况下可能会这样

default: 会阻止共享文件夹等内容正常工作。如果你看到

default: 共享文件夹错误,请确保来宾添加在

default: 虚拟机与您安装的VirtualBox 版本匹配

default: 您的主机并重新加载您的虚拟机。

默认:

default: 来宾添加版本: 7.0.20

默认: VirtualBox 版本: 7.1

==default: 正在挂载共享文件夹.

默认: /tmp/vagrant-demo=/vagrant

$

$ 流浪者ssh

Linux kali 6.12.25-amd64 #1 SMP PREEMPT_DYNAMIC Kali 6.12.25-1kali1 (2025-04-30) x86_64

Kali GNU/Linux 系统中包含的程序是自由软件;

每个程序的确切分配条款在

/usr/share/doc/*/copyright 中的各个文件。

Kali GNU/Linux 绝对不提供任何保证

适用法律允许。

┌──(流浪㉿kali)-[~]

└─$

备忘单

vagrant box添加kalilinux/rolling --force --clean --provider virtualbox --box-version 2025.2.1

mkdir -pv kali-vagrant/cd $_

vagrant init kalilinux/rolling --force --minimal --output - --box-version 2025.2.1 | vagrant init kalilinux/rolling --force --minimal --output --box-version 2025.2.1 | tee 流浪文件

vagrant up --provider virtualbox

流浪者ssh

更多阅读

Kali inside Vagrant (Guest VM)自定义Kali Vagrant Vagrantfilekali-packer/README.vagrant.mdkali-packer/README.packer.mdBuild Script: kali-packerBuild Script: kali-vm

创建帐户或登录后发表意见

最近浏览 0

  • 没有会员查看此页面。