Project Icon

kubesploit

容器环境后渗透测试工具集成框架

Kubesploit是一个跨平台的HTTP/2命令控制框架,专注于容器化环境的后渗透测试。该项目基于Merlin构建,使用Go语言开发,集成Go解释器实现动态模块加载。Kubesploit提供容器逃逸、Kubernetes漏洞扫描等多种功能模块,有助于安全团队评估容器环境安全性。该开源工具旨在提升容器安全意识,为渗透测试人员提供实用的工具集。

许可证 Python 下载量

Kubesploit

Kubesploit 是一个跨平台的后渗透 HTTP/2 命令与控制服务器和代理,专门用于容器化环境,使用 Golang 编写,构建在 Russel Van Tuyl (@Ne0nd0g)Merlin 项目之上。

我们的动机

在研究 Docker 和 Kubernetes 时,我们注意到目前大多数可用工具都致力于对集群进行被动漏洞扫描,缺乏更复杂的攻击向量覆盖。 这些工具可能让你看到问题所在,但无法利用它。运行漏洞利用程序对于模拟真实世界的攻击非常重要,这将用于确定企业在整个网络中的恢复能力。 运行漏洞利用程序时,将练习组织的网络事件管理,而这在扫描集群问题时并不会发生。 它可以帮助组织了解如何在真实攻击发生时进行操作,查看其他检测系统是否按预期工作以及应该做出哪些改变。 我们想要创建一个能满足这些要求的攻击性工具。

但我们创建这样一个工具还有另一个原因。我们已经有了两个与 Kubernetes 相关的开源工具(KubiScankubeletctl),并且我们有更多的想法。 我们认为与其为每个工具创建一个项目,不如制作一个新工具来集中新的工具,这就是 Kubesploit 诞生的原因。

我们搜索了一个提供跨平台系统重要功能的开源项目,发现 Russel Van Tuyl (@Ne0nd0g) 编写的 Merlin 很适合我们。

我们的主要目标是提高对容器化环境安全性的认识,并改进在各种网络中实施的缓解措施。 所有这些都通过一个框架来实现,该框架为渗透测试团队和红队在这些环境中的活动提供了适当的工具。 使用这些工具将帮助你评估这些环境的优势,并做出必要的更改以保护它们。

新特性

由于 Merlin 已经完成了 C&C 和代理基础设施,我们整合了 Go 解释器("Yaegi"),以便能够从服务器向代理运行 Golang 代码。 这使我们能够用 Golang 编写模块,为模块提供更多灵活性,并动态加载新模块。 这是一个持续进行的项目,我们计划在未来添加更多与 Docker 和 Kubernetes 相关的模块。

目前可用的模块有:

  • 使用挂载进行容器逃逸

  • 使用 docker.sock 进行容器逃逸

  • 使用 CVE-2019-5736 漏洞进行容器逃逸

  • 扫描 Kubernetes 集群已知 CVE

  • 端口扫描,专注于 Kubernetes 服务

  • 从容器内部进行 Kubernetes 服务扫描

  • 轻量级 kubeletctl,包含以下选项:

    • 扫描可远程执行命令的容器
    • 扫描 Pod 和容器
    • 扫描所有可用容器中的令牌
    • 使用多个选项运行命令
  • cGroup 逃逸

  • 内核模块逃逸

  • Var log 逃逸

  • Deepce:Docker 枚举(集成为模块的开源项目)

  • 漏洞测试:检查你的容器对哪些 kubesploit 漏洞利用程序存在漏洞

    有关模块的详细信息,请查看 Wiki 页面

快速入门

我们在 KillerCoda 中创建了一个专用的 Kubernetes 环境,供你试验 Kubesploit。 这是一个完整的模拟环境,包含一套完整的自动指令,介绍如何使用 Kubesploit。我们鼓励你去探索它。

kubesploit

构建

要构建此项目,请从根文件夹运行 make 命令。

注意: 目前你需要使用 Golang 1.18 或 Go 1.19(最新的两个主要版本),基于 traefik/yaegi v0.14.3 的 golang 要求。

快速构建

要在 Linux 上进行快速构建,你可以运行以下命令:

export PATH=$PATH:/usr/local/go/bin
go build -o agent cmd/merlinagent/main.go
go build -o server cmd/merlinserver/main.go

容器化

为了使用容器运行 服务器,你必须让 Kubesploit 服务器监听 0.0.0.0 接口(而不是 127.0.0.1)。 你可以在 config.yaml 中更新接口字段。

注意:确保绑定主机和容器之间的端口(默认端口是 443,也可以在 config.yaml 中配置)

缓解措施

YARA 规则

我们创建了 YARA 规则,有助于捕获 Kubesploit 二进制文件。规则写在 kubesploit.yara 文件中。

代理记录

每个加载到代理的 Go 模块都会在受害机器内部被记录。

MITRE 图谱

我们创建了 Kubesploit 使用的攻击向量的 MITRE 图谱。

模块缓解措施

对于我们创建的每个模块,我们都描述了它的功能以及如何防御它。 我们在 MITIGATION.md 文件中总结了这些内容。

贡献

我们欢迎对这个仓库进行各种形式的贡献。 有关如何入门以及我们的开发工作流程的说明,请参阅我们的贡献指南

致谢

我们要感谢 Russel Van Tuyl (@Ne0nd0g) 创建了开源的 Merlin,使我们能够在其基础上构建 Kubesploit。 我们还要感谢 Traefik Labs (@traefik) 创建了 Go 解释器("Yaegi"),使我们能够轻松地在远程代理上运行 Golang 模块。

许可证

版权所有 (c) 2021 CyberArk Software Ltd. 保留所有权利。 本仓库使用 GPL-3.0 许可证。 完整的许可证文本请参见 LICENSE

分享你的想法和反馈

如有更多评论、建议或问题,你可以联系 CyberArk Labs 的 Eviatar Gerzi (@g3rzi) 或提出问题。 你可以在 https://github.com/cyberark/ 找到我们开发的更多项目。

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号