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

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

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 红队实验室

查看仓库

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
105天前尚未审核

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。

仓库内容

root@kitploit:~
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。

解压原始实验文件:

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

克隆补丁仓库:

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

验证补丁:

root@kitploit:~
cd ~/specterops-k8s-red-teamers-libvirt-patch
sha256sum -c patches/SHA256SUMS

结果应为:

root@kitploit:~
patches/libvirt.patch: OK

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

root@kitploit:~
cd ~/Downloads
sha256sum -c ~/specterops-k8s-red-teamers-libvirt-patch/UPSTREAM_SHA256SUMS

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

应用补丁:

root@kitploit:~
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

验证配置:

root@kitploit:~
vagrant validate

结果应为:

root@kitploit:~
Vagrantfile validated successfully.

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

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

root@kitploit:~
vagrant up --provider=libvirt

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

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

实验拓扑

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

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

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

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

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

配置后检查

配置完成后:

root@kitploit:~
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 中。

要拆除测试环境:

root@kitploit:~
vagrant destroy -f

许可证

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

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

下载工具
图表元素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 和实验清单与上游保持一致