Skip to content
KitploitKITPLOIT
工具博客
Log in
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
工具/GitHubGitHub/gregdurys/specterops-k8s-red-teamers-libvirt-patch
云安全学习与教育红队实验室与实践
GitHubgregdurys/specterops-k8s-red-teamers-libvirt-patch

specterops-k8s-red-teamers-libvirt-patch

非官方的 libvirt 补丁,用于免费的 SpecterOps Kubernetes 红队实验室

查看仓库

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
14901个月前尚未审核

SpecterOps Kubernetes for Red Teamers Libvirt 补丁

这是针对免费的 SpecterOps Kubernetes for Red Teamers 课程的非官方 libvirt 和 QEMU/KVM 补丁。原始网络地址、Kubernetes 拓扑、Mythic 回连和实验环境行为均保持不变。

为什么?

因为在 Linux 上运行 VirtualBox 就像给已经接入电网的房子带一台便携式发电机;你为内核已经提供的东西付了两次钱,同时还增加了另一个虚拟机监控程序和内核模块攻击面。KVM 是 Linux 的一部分,而 QEMU 和 libvirt 提供了围绕它的虚拟机和管控层。这避免了在 Linux 主机上添加额外的第三方虚拟机监控程序模块栈。

VirtualBox 解决了课程跨平台分发的问题;libvirt 解决了 Linux 主机的问题。原始的 VirtualBox provider 对 Windows 和 macOS 用户保持不变,而这个补丁让 Linux 用户可以在 KVM 上运行相同的实验环境。

本仓库有意不包含 SpecterOps 实验环境归档文件或其源代码树的副本。请通过官方课程获取原始材料:

  1. 在 Kubernetes for Red Teamers 注册或登录。
  2. 打开 Lab Infrastructure and Configuration。
  3. 下载 Lab Environment Files。

仓库内容

README.md
ARCHITECTURE.md
LICENSE
NOTICE.md
UPSTREAM_SHA256SUMS
docs/
  libvirt-lab-provisioned.png
patches/
  libvirt.patch
  SHA256SUMS

patches/libvirt.patch 仅包含添加 libvirt 支持所需的更改。它不包含原始归档文件、内部转换计划、审查报告、本地测试工具、生成的凭据或虚拟机状态。

要求

  • 带有 QEMU/KVM 和 libvirt 的 Linux 主机;
  • Vagrant 2.4 或更新版本;
  • vagrant-libvirt 插件;
  • 足够的资源来运行四个实验虚拟机,它们总共使用 8 个 vCPU 和 16 GiB 内存;
  • 自动或显式选择的双向同步文件夹后端。

安装

从免费 SpecterOps 课程的 Lab Infrastructure and Configuration 部分下载 k8s-attack-path-part-1-lab-assets.tar.gz。

解压原始实验文件:

mkdir -p ~/kubernetes-for-red-teamers
cd ~/Downloads
tar xzvf k8s-attack-path-part-1-lab-assets.tar.gz -C ~/kubernetes-for-red-teamers

克隆补丁仓库:

cd ~
git clone https://github.com/GregDurys/specterops-k8s-red-teamers-libvirt-patch.git

验证补丁:

cd ~/specterops-k8s-red-teamers-libvirt-patch
sha256sum -c patches/SHA256SUMS

结果应为:

patches/libvirt.patch: OK

可选地,将下载的归档文件与用于测试此补丁的版本进行校验:

cd ~/Downloads
sha256sum -c ~/specterops-k8s-red-teamers-libvirt-patch/UPSTREAM_SHA256SUMS

如果校验和不匹配,SpecterOps 可能已更新实验文件。

应用补丁:

cd ~/kubernetes-for-red-teamers
git apply --check ~/specterops-k8s-red-teamers-libvirt-patch/patches/libvirt.patch
git apply ~/specterops-k8s-red-teamers-libvirt-patch/patches/libvirt.patch

验证配置:

vagrant validate

结果应为:

Vagrantfile validated successfully.

补丁会向解压目录添加自己的实验使用 README 和架构文档。

从打过补丁的课程目录启动实验环境:

vagrant up --provider=libvirt

Vagrantfile 会自动禁用并行启动,因为后面的机器会使用控制平面生成的文件。

Mythic developer 和 noaccess 回连,以及完成的 libvirt 配置和四个正在运行的虚拟机

实验拓扑

课程图中展示的功能拓扑得以保留:

图表元素Libvirt 转换
Teamserver192.168.56.10,DNS teamserver
控制平面192.168.56.20,API 服务器位于 TCP 6443
Worker 1192.168.56.30
Worker 2192.168.56.31
Mythic UITCP 7443
回连端口TCP 8081
TLS 仓库TCP 5000,受集群节点信任
Mythic 回连保留 developer 和 noaccess 回连
主机访问Vagrant 将端口 7443 和 8081 转发到 teamserver
私有实验流量保留在隔离的 192.168.56.0/24 网络中
互联网访问通过适配器 1 保留
主机名解析在所有四个虚拟机中保留
Code-server 和实验清单与上游保持一致

网络实现有一个有意为之的差异:

  • VirtualBox 在适配器 1 上为每个虚拟机提供独立的 NAT 引擎。
  • Libvirt 将四个虚拟机全部连接到专用的 k8s-workshop-mgmt NAT 网络,通常为 192.168.157.0/24。

因此,libvirt 虚拟机可以通过适配器 1 相互通信,而 VirtualBox 的独立 NAT 适配器不提供该路径。Kubernetes、Calico、Mythic 回连、仓库和实验主机名解析均明确绑定到适配器 2,因此实验拓扑保持不变。

阅读 ARCHITECTURE.md 了解拓扑、冲突处理和同步文件夹设计原理的详细信息。

配置后检查

配置完成后:

vagrant status
vagrant ssh control-plane-1 -c 'kubectl get nodes -o wide'
vagrant port --guest 7443 teamserver
curl --insecure --head https://192.168.56.10:7443

所有三个 Kubernetes 节点都应处于 Ready 状态,内部地址分别为 .20、.30 和 .31。Mythic 登录页面应可通过转发的主机端口以及直接访问 https://192.168.56.10:7443 到达。两个课程回连应按照官方课程材料的描述出现在 Mythic 中。

要拆除测试环境:

vagrant destroy -f

许可证

本仓库中的原始作品根据 Apache License 2.0 许可。

此许可证仅适用于本仓库贡献的原始代码和文档。它不授予对 SpecterOps 课程、下载的归档文件或其他上游材料的任何权利。

下载工具