kali linux 中文文档 下载 App

Vagrant 快速搭建 Kali 安全测试实验室

Vagrant 是什么

Vagrant 是 HashiCorp 开发的虚拟机管理工具,用 Ruby DSL 写一个 Vagrantfile,一行命令就能拉起完整的虚拟机环境。它解决的痛点:

安装

# 先装 VirtualBox 或 VMware

# 装 Vagrant(官方网站下载或包管理器)
# Kali 自带:
sudo apt install vagrant

基础示例:拉起 Kali + Metasploitable

这是最经典的入门实验:

Vagrantfile

Vagrant.configure("2") do |config|
  # Kali 作为攻击机
  config.vm.define "kali" do |kali|
    kali.vm.box = "kalilinux/rolling"
    kali.vm.network "private_network", ip: "192.168.56.100"
    kali.vm.hostname = "kali-attacker"
  end

  # Metasploitable 2 作为靶机
  config.vm.define "target" do |target|
    target.vm.box = "rapid7/metasploitable3-ub1404"
    target.vm.network "private_network", ip: "192.168.56.101"
    target.vm.hostname = "target"
  end
end

启动和连接

vagrant up             # 同时启动两台 VM
vagrant ssh kali       # SSH 进入 Kali
vagrant ssh target     # SSH 进入靶机
vagrant halt           # 关闭所有 VM
vagrant destroy -f     # 彻底删除(包括磁盘)

从 Kali 里可以直接 nmap 192.168.56.101 扫描靶机,然后跑 Metasploit 攻击。

预构建 Kali Vagrant 镜像

Kali 官方维护了几种 Vagrant box:

Box说明
kalilinux/rolling最新 Kali Rolling,GNOME 桌面
kalilinux/rolling (headless)无桌面,更轻量
kalilinux/kali-linux-dockerDocker 镜像
# 启动 headless Kali
vagrant init kalilinux/rolling
vagrant up

Provision:自动配置

provision 脚本在 VM 第一次启动时自动执行,可以装软件、改配置:

Vagrant.configure("2") do |config|
  config.vm.box = "kalilinux/rolling"
  config.vm.network "private_network", ip: "192.168.56.100"

  # Shell provision
  config.vm.provision "shell", inline: <<-SCRIPT
    apt-get update -y
    apt-get install -y kali-linux-top10
    echo "实验室 Kali 准备就绪"
  SCRIPT

  # 共享目录(主机 ↔ VM)
  config.vm.synced_folder "./shared", "/home/vagrant/shared"
end

搭建更大的实验室

Active Directory 实验环境(最难)

可以用 Vagrant 拉起 Windows Server + Kali:

Vagrant.configure("2") do |config|
  config.vm.box = "gusztavvargadr/windows-server-2022-standard"
  
  # domain controller
  # member server
  # workstation
  # kali attacker
  
  # 所有 VM 在同一个 private_network
end

Web 应用靶场(OWASP Juice Shop)

# 直接用 Docker + Vagrant
config.vm.provision "shell", inline: <<-SCRIPT
  docker pull bkimminich/juice-shop
  docker run -d -p 3000:3000 bkimminich/juice-shop
SCRIPT

常用靶机清单

靶机描述Vagrant Box / 来源
Metasploitable 2/3故意留漏洞的 Linux/Ubunturapid7/metasploitable3
OWASP BWAOWASP Broken Web ApplicationsSourceForge 下载 OVA
VulnHub社区 CTF 靶机全集vulnhub.com 下载 OVA
HackTheBox在线实验室(非 Vagrant)hackthebox.com
TryHackMe在线学习平台(非 Vagrant)tryhackme.com

Vagrant vs 直接用 VMware

维度Vagrant直接 VMware
环境复现Vagrantfile 在 git 里,拉下来就能跑要分发 OVA 文件
团队协作每个人 git pull && vagrant up每个人手动配置
自动化provision 脚本 + CI/CD 集成手动操作
灵活性Ruby DSL,编程式GUI,所见即所得
调试命令行 vagrant status/ssh/debugVMware GUI 管理更直观

Vagrant 不是要取代 VMware/VirtualBox——它是在上层把它们封装成可自动化管理的基础设施。