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

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

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

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
subpath-exploit — CVE-2017-1002101 的分析文章及示例“漏洞利用”/逃逸 | Kitploit
工具/GitHubGitHub/bgeesaman/subpath-exploit
漏洞分析漏洞利用云安全学习与教育容器逃逸实验室与实践
GitHubbgeesaman/subpath-exploit

subpath-exploit

CVE-2017-1002101 的分析文章及示例“漏洞利用”/逃逸

查看仓库
3428年前Kitploit 审核通过

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
网站

通过 CVE-2017-1002101 实现 Kubernetes 逃逸示例

描述

在了解到这个问题并参考此指南后,我想进一步探索。该仓库包含几个 Pod 部署和辅助 Shell 脚本,以最简单的方式演示了攻击机制,使 Kubernetes 管理员和运维人员能够充分理解其严重性和潜在风险。您必须是已认证用户,或者能够在创建 Pod 时控制其 spec/template,因此这种逃逸不太可能以匿名方式发生,除非与其他攻击(如这个)结合使用。

快速解释

当 Kubelet 挂载卷/密钥/配置映射等时,它会错误地跟随卷内部的符号链接,访问到本应限制范围之外的位置。由于 Kubelet 以 root 身份运行,这意味着它可能被欺骗,将主机文件系统的特权部分挂载到非特权 Pod 的容器内。

我的方法是使用一个包含两个“普通”容器的 Pod。一个容器创建指向 / 或 /home/ubuntu 的符号链接,另一个容器持续崩溃重启直到操作成功(强制重新挂载卷并跟随该符号链接路径),从而允许用户通过 exec 进入第二个容器并访问挂载点。

快速运行

注意:这些示例在 Ubuntu 16.04 主机上无需修改即可运行,但也可轻松调整以适用于其他环境。

  1. 在运行任何操作前,先检查仓库中的文件。
  2. 如果您的集群比较“标准”,运行 ./run-as-root.sh。
  3. 运行 ./run-as-root-no-chroot.sh 或 ./run-as-user-1000.sh 以查看其他变体。

asciicast

缓解策略

这确实是一个“必须修补”的情况。遗憾的是,此处列出的变通方案对大多数人来说并不实用。几乎所有早期版本都存在漏洞。

参考资料

  • https://github.com/kubernetes/kubernetes/issues/60813
  • https://nvd.nist.gov/vuln/detail/CVE-2017-1002101
  • https://www.twistlock.com/2018/03/21/deep-dive-severe-kubernetes-vulnerability-date-cve-2017-1002101/
下载工具