本节摘要:虚拟机是 Kali 最通用的部署路线。本节从镜像获取与校验讲起,过一遍虚拟机创建参数与安装过程,然后重点展开快照策略——滚动发行版的安全绳。最后讨论虚拟网络三种模式的选择,为第 3 节的排错实录打基础。
本章主线里"第一天选路线"的决策落到本节:如果你的宿主机资源充足、想要完整桌面体验、或者要做无线类任务(直通 USB 网卡),虚拟机就是答案。
从官方渠道获取安装镜像,这是安全从业者应有的肌肉记忆——你以后要向客户证明自己的工具链可信,那么工具链的源头就必须可信。下载完成后先校验:官方为每个镜像提供哈希值,本地计算后比对,一致才算拿到干净的镜像。
# 下载后本地计算哈希(以常见的两种算法为例) sha256sum kali-linux- installer-amd64.iso # 输出形如:3f9a1c...e2 kali-linux-installer-amd64.iso # 与官方发布页公布的值逐位比对,一致才继续
校验的深层含义不只是防篡改:镜像在下载过程中损坏的概率其实不低,损坏镜像带来的安装中断、运行期玄学问题,排查成本远高于校验的三十秒。
以主流的 VirtualBox 与 VMware Workstation 为例,创建向导里的关键参数与推荐值如下表。原则是:内存给足、磁盘留余、网络选对。
| 参数 | 推荐值 | 依据 |
|---|---|---|
| 内存 | 4 GB 起,跑重工具建议 8 GB | 内存不足时编译与哈希任务最先遭殃 |
| 磁盘 | 60 GB 起,动态分配 | 全量工具 + 多个快照的空间余量 |
| CPU | 2 核起,虚拟化扩展开启 | 哈希类工具吃核数 |
| 显存 | 16 MB 以上 | 桌面流畅即可,不必大 |
| 网络 | 初始 NAT,装完再按需改 | 见下文三种模式对比 |
| USB 控制器 | 启用直通 | 无线网卡等外设的前提 |
安装过程本身没有太多可说的:图形安装器引导清晰,一路按提示分区、设置用户即可。两个值得停顿的点:磁盘分区用默认整盘方案就好,实验环境不需要精巧的分区设计;务必设置普通用户密码并记牢——第一章讲过,2020 年起的 Kali 默认非 root,安装器会让你创建日常账户,这是刻意设计,不要想办法绕回 root 日常。

这张图先立个印象,第 3 节的排错实录会真实地在这三种模式之间走一遍。
快照的价值在第二章已经说过——升级可能中断、工具可能冲突、桌面可能起不来。这里给出一套经过实践检验的节奏:
节奏一:里程碑快照。 装机完成、初始化完成(第 3 节的那套配置)、每个大型工具组安装完成,这三个点是必打快照的里程碑。命名带上日期与内容,例如 2026-08-31-init-done。
节奏二:升级前快照。 每次 apt full-upgrade 之前。这是最重要的一条纪律,代价是磁盘空间,收益是"随时回到升级前"的底气。
节奏三:实验前快照。 打算做一个可能弄脏系统的实验(改内核参数、装奇异驱动、跑不可信样本)之前。取证与恶意样本分析场景里,"分析完直接回滚"本身就是一种标准操作。
# VirtualBox 命令行快照(也可在图形界面完成) VBoxManage snapshot "Kali-Lab" take "2026-08-31-init-done" # 回滚到快照 VBoxManage snapshot "Kali-Lab" restore "2026-08-31-init-done" # VMware 用户用对应菜单或快照管理器,原则相同
⚠️ 关于快照的三个提醒:其一,快照链越长性能越拖累,里程碑推进后要合并旧快照;其二,快照不是备份——虚拟盘文件损坏时快照一起完蛋,重要环境另做导出;其三,含敏感数据的实验环境在复用前必须回滚或重建,第一章的数据红线在这里同样适用。
快照解决"回到过去",脚本解决"快速重来"。推荐在初始化完成后写一个环境重建脚本:装哪些元数据包组、改哪些配置、克隆哪些仓库,全部固化成命令序列。第一次写要一小时,之后每次重建是一分钟。这份脚本同时也是团队交接文档——接手的人跑一遍脚本,就得到与你一致的环境,这正是第五章要讲的"可复现性"在环境层面的体现。
#!/usr/bin/env bash # rebuild-lab.sh —— 环境重建脚本骨架:环境即代码的最小实现 set -e sudo apt update && sudo apt full-upgrade -y sudo apt install -y kali-tools-information-gathering \ kali-tools-vulnerability \ kali-tools-web # 个性化配置项依次落在这里:时区 输入法 共享文件夹 终端主题 echo "[done] 环境重建完成 $(date -Is)"
问:动态磁盘与固定磁盘怎么选? 动态分配按需增长,前期省空间,是多数场景的合理默认;固定磁盘一次占满但读写性能更稳。判断依据是你的使用模式:经常做大量小文件读写(字典生成、日志分析)且磁盘预算宽裕时,固定磁盘的稳定性值得那份空间。
问:3D 加速要不要开? 桌面流畅度会明显改善,但个别安全工具的图形界面在 3D 加速下有兼容问题。实践建议:默认开启,遇到图形异常时第一个怀疑对象就是它——这又是一次"分层归因"的应用(第二章自查单的问题一)。
问:共享文件夹放什么、不放什么? 放:报告草稿、工具输出导出、靶场配置文件。不放:授权文件原件、任何含真实凭据的文件、未脱敏的客户数据。共享文件夹是虚拟机与宿主机之间的桥,桥上的东西等于同时存在于两个安全边界里——1.2 的数据条款在这里同样生效。
#!/usr/bin/env bash # pre-upgrade-snapshot.sh —— 升级前的标准动作(配合 5.3 的自动化习惯) set -e NAME="Kali-Lab" TAG="$(date +%F)-pre-upgrade" VBoxManage snapshot "$NAME" take "$TAG" echo "$(date -Is) snapshot=${TAG} vm=${NAME}" >> snapshot-journal.log # 日志让"哪个快照是什么时候为什么打的"永远可查
一个容易被低估的技巧:导出设备包。 虚拟机软件都支持把配置好的系统导出成标准格式的设备包。它与快照的分工:快照面向"回到过去",设备包面向"分发给别人"。搭好一个满意的环境后导出一份存档——三个月后换电脑或帮同事搭环境时,导入即用。3.4 的靶场、6.2 的加固机,都值得各存一份导出。
最后补一段资源规划。虚拟机的资源配置不该照抄教程数字,而该从你的任务画像倒推:内存看并发——同时跑几个工具、几台靶机,扫描器与浏览器各自吃多少,加总再留两成余量;磁盘看快照——基础系统加工具组约占十几 GB,但快照链的增长才是大头,每个快照保留增量,频繁实验的机器磁盘翻倍很常见,预算按两到三倍估;CPU 看哈希——密码强度审计类任务吃满所有核,核心数直接决定等待时长(4.4 的基准数字就是在这样的机器上跑出来的)。
一个实用的低成本方案:宿主机内存有限时,靶机们按最小配置跑(它们通常只是"在那里"等着被扫),把资源集中给 Kali 主机;磁盘紧张时优先清理旧快照链而不是缩小虚拟盘。资源规划的本质是让最常用的路径最流畅——你每天要等的东西,就是最值得花钱的地方。
规划做完后落成一个简单的资源配置表(哪台机器、几核几 G、跑什么、快照策略),与环境声明放在一起。这张表的价值在换机与扩容时兑现:新机器照表分配,不用重新凭记忆推演一遍。表的最后一列留给"实际观察"——记录真实占用峰值,下一轮规划就有数据可依,而不只是感觉。
本节就位后,下一节看两条轻量路线:容器与 WSL。它们与虚拟机不是互斥关系——很多人最终的形态是三者并存:虚拟机做主力,容器做流水线,WSL 做随手通道。