准备自己的 Kali 实验环境(按需完成)

在后续课程中,我们会逐步接触 Linux 基础、Web 代理工具、抓包分析器等安全软件。提前准备一个本地 Kali Linux 虚拟机,可以让你随时练习、保存个人配置;更重要的是,借助快照功能,可以放心进行风险实验,而不必担心弄坏自己的电脑系统。

本章以 Windows 11(x86-64 架构) + VirtualBox + Kali 官方预制虚拟机镜像 为例,给出一套从下载到验证的完整搭建流程。

如果你使用的是其他系统,或已经具备 Linux 环境,可以参考下面的方案快速完成准备。本章内容为通用建议,并非强制任务:

你的环境推荐方案对应官方参考入口
Windows 且习惯使用 VMware下载 VMware 专用的 Kali 预制包,直接解压导入Kali VMware 官方指南
Apple 芯片的 Mac(M1/M2/M3)使用 UTM 或 Parallels 虚拟化软件运行 ARM64 架构镜像Kali UTM 官方指南
仅需 Linux 基础工具可直接在 Windows 启用 WSL2 并安装 Kali 发行版Kali WSL2 官方文档

1. 下载 VirtualBox 与 Kali 预制镜像

需要准备两个核心文件:

  1. VirtualBox 软件:前往 VirtualBox 官网下载页,选择 Windows 版安装包并完成安装。安装过程中如果提示会重置网络连接,通常是在安装虚拟网卡驱动,确认继续即可;
  2. Kali Linux 官方预制虚拟机镜像:前往 Kali Linux 官方镜像站,找到 Virtual Machines 分类下的 VirtualBox 专区,下载适用于 amd64 架构的 .7z 压缩包。

Kali 下载页中 VirtualBox 的 amd64 预制虚拟机入口

注:官方预制镜像已经预装完整的 Kali 系统,并配置好虚拟硬件。解压后导入即可直接启动,省去了从零分区、安装系统等繁琐流程。

2. 下载后校验文件完整性(SHA-256)

虚拟机镜像文件通常有数 GB,网络传输过程中可能出现丢包、截断或文件损坏。解压前,建议先用系统自带的哈希工具核对文件完整性:

  1. 在 Windows 文件资源管理器中找到刚下载的 .7z 文件,右键选择“复制文件地址”;
  2. 在 Windows 开始菜单中搜索并打开 PowerShell,输入下面的命令,并将引号中的路径替换为你的实际下载路径,然后按回车:
Get-FileHash -Algorithm SHA256 -LiteralPath "C:\Users\crow\Downloads\kali-linux-2026.2-virtualbox-amd64.7z"

PowerShell 会读取该文件,并计算出一段 64 位的十六进制哈希字符串:

Algorithm  Hash                                                                 Path
SHA256     A1B2C3D4E5F6...(此处会显示实际文件的 64 位 SHA-256 哈希值)          C:\Users\crow\...

将计算得到的 Hash 与 Kali 官网下载页旁边标注的官方 SHA256 校验码逐一对比。如果完全一致,说明文件完整无损,且没有被篡改。

3. 解压并将 Kali 添加到 VirtualBox

  1. 使用解压软件(如 7-Zip)将下载好的 .7z 压缩包完整解压到规划好的磁盘目录中。建议该分区至少预留 30 GB 可用空间;
  2. 打开解压后的文件夹,重点认识两个核心文件:
    • .vbox:虚拟机的硬件与属性配置文件;
    • .vdi:虚拟硬盘文件,Kali 的操作系统和所有文件都保存在这个镜像内;
  3. 打开 VirtualBox 管理器,点击顶部工具栏的 控制 → 添加(Add),或使用快捷键 Ctrl + A,选中并打开解压目录下的 .vbox 配置文件。

VirtualBox 添加入口与选择 .vbox 文件的对话框

上图为 VirtualBox 导入流程示意(图片来源:Kali Linux 官方文档)。你实际看到的文件对话框是 Windows 样式,VirtualBox 版本也可能更新,按「添加(Add)→ 选中 .vbox → 打开」这个顺序操作即可。

特别提醒:这里要点击“添加(Add)”,不要点击“新建(New)”。同时,解压出来的 .vdi 虚拟硬盘是虚拟机运行的核心文件,切勿当作临时文件随手删除。

4. 检查虚拟机配置并启动

添加完成后,VirtualBox 列表里会出现名为 kali-linux-... 的虚拟机条目。点击选中它,并在右侧面板核对核心配置:

导入后的 Kali 虚拟机及系统、存储和网络配置

导入后核对配置示意(图片来源:Kali Linux 官方文档);具体内存、处理器、磁盘与网络数值以你本机实际配置为准。

  • 系统(System):内存建议分配 2048 MB(2 GB)以上,处理器建议分配 2 个核心;
  • 存储(Storage):确认已经挂载解压目录下的 .vdi 虚拟硬盘;
  • 网络(Network):连接方式默认为 NAT。在该模式下,虚拟机会通过宿主机的网络共享上网,通常无需额外配置。

确认无误后,点击绿色的 启动(Start) 按钮。

5. 登录系统并使用终端

虚拟机启动后,会顺利进入 Kali 的图形登录界面:

  • 默认用户名:kali
  • 默认登录密码:kali

输入后按回车登录,你就可以在 VirtualBox 窗口内部看到完整的 Kali Linux 桌面。

鼠标键盘切换技巧:当鼠标指针在虚拟机内部操作时,如果想将焦点交还给外层 Windows 桌面,按一下键盘右侧的 Ctrl 键(即 Host 键)即可释放鼠标。

进入 Kali 桌面后,点击左上角应用菜单中的终端图标(Terminal Emulator),打开命令行终端窗口。终端提示符通常显示为:

kali@kali:~$

其中:

  • 第一个 kali 表示当前登录用户名;
  • @ 后面的 kali 表示主机名;
  • 冒号后面的 ~ 表示当前所在目录,即用户主目录;
  • $ 表示当前处于普通用户权限。

依次输入以下两条基础命令并按回车:

kali@kali:~$ whoami
kali
kali@kali:~$ pwd
/home/kali
  • whoami:显示当前操作者的用户名,输出 kali;
  • pwd:显示当前所在的工作目录路径,输出 /home/kali,也就是当前用户的主目录。

接着在终端中运行 passwd 命令,按照提示修改初始密码:

passwd

系统会先要求输入当前旧密码,这里填 kali,然后输入两遍新密码即可。需要注意:在 Linux 终端中输入密码时,出于安全考虑,屏幕上不会显示任何字符或星号,直接盲打输入完成按回车即可。

6. 在 Kali 中创建第一份文件并测试联网

  1. 打开 Kali 菜单中的纯文本编辑器 Mousepad(Text Editor);
  2. 输入文字:我的 Kali 已经可以使用。
  3. 点击“保存”,将文件保存到当前用户的 Home(主目录 /home/kali)下,命名为 practice.txt;
  4. 关闭编辑器后,打开 Kali 的文件管理器,进入 Home 目录,重新双击打开 practice.txt,确认内容完整;
  5. 打开 Kali 内部自带的 Firefox 浏览器,访问一个公共网页,例如 https://www.kali.org,确认虚拟机的网络连接正常工作。

7. 建立“基础环境”快照与恢复实验

现在,这台 Kali 虚拟机已经完成了基础配置:系统可以登录,终端可以使用,文件可以保存,网络也可以正常访问。接下来为它创建第一个恢复基准点——快照(Snapshot):

  1. 从 Kali 桌面右上角的电源菜单中点击 Shut Down(正常关机),等待虚拟机完全关闭。此时 VirtualBox 管理器中的状态应变为“已关闭”;
  2. 在 VirtualBox 管理器中,点击 Kali 虚拟机条目右侧的菜单按钮,切换到 Snapshots(快照) 选项卡;
  3. 点击 Take(创建/生成快照),将快照命名为 基础环境,描述可以填写:完成初始设置与 practice.txt 创建,然后点击确定。

动手验证快照的回滚机制

为了亲身体验快照与普通文件保存之间的区别,可以做下面这个测试:

  1. 重新启动 Kali 虚拟机,打开 practice.txt,将内容修改为:这是打完快照之后的测试修改。,并成功保存;
  2. 关闭文件后重新打开,确认文字确实已经被修改保存;随后将虚拟机正常关机;
  3. 回到 VirtualBox 的快照界面,选中此前创建的 基础环境 快照,点击顶部的 Restore(恢复) 按钮。如果弹出提示询问是否为当前状态创建新快照,可以取消勾选,直接恢复;
  4. 恢复完成后再次启动 Kali,打开 practice.txt 查看内容。

此时你会发现,文件内容退回到了 我的 Kali 已经可以使用。

这个实验清楚地说明了:

  • 在虚拟机内点击保存,只是把改动写入了当前的虚拟磁盘;
  • 恢复快照,则会将整块虚拟磁盘的状态倒退回创建快照时的那一瞬间。

有了快照之后,在后续实验中即使系统配置被弄乱,也可以快速恢复到干净的基础状态。