Agent Skills
返回列表
🔒

容器逃逸攻击手册

IT 运维与安全 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md 的说明,将技能 @user_3c6cb52e/container-escape-techniques-lr-ndqy 安装到当前 AI 助手中。

技能介绍

要解决的问题

容器并不天然提供安全边界。一次 docker run 配置不当,就可能让攻击者从容器内拿到宿主机的 root 权限。基座模型在面对这类问题时,容易漏掉由多项 Capability 组合与 cgroup 操作串联而成的隐蔽逃逸路径,只给出「开启特权模式即可逃逸」这类粗粒度答案。本技能面向红队与安全工程师,把容器逃逸拆成可复现的攻击手册。

核心能力

  • 特权容器逃逸:从 --privileged 容器中获取宿主机控制权的经典路径
  • Capability 滥用:识别 CAP_SYS_ADMIN、CAP_DAC_READ_SEARCH 等能力被单独授予时的组合利用手法
  • Docker Socket 利用:通过挂载 /var/run/docker.sock 直接操控宿主机 Docker 守护进程
  • cgroup release_agent:借助 cgroup 配置实现宿主机命令执行
  • Namespace 逃逸:突破 PID、Mount 等命名空间隔离的限制
  • Runtime CVE:利用容器运行时已知漏洞绕过隔离
  • Kubernetes Pod 逃逸:针对 K8s 环境的专属逃逸路径

工作方式

技能采用分层路由设计。在深入某个具体技术前,会先建议加载关联技能:

  • 首次需要在容器内拿到 root 时,加载 linux-privilege-escalation
  • 需要 K8s 特有的攻击面(超出 Pod 逃逸范围)时,加载 kubernetes-pentesting
  • seccomp 或 AppArmor 拦截逃逸手法时,加载 linux-security-bypass

需要完整攻击链时,进一步引用 DOCKER_ESCAPE_CHAINS.md,其中包含常见错误配置的分步逃逸链、Docker-in-Docker 场景,以及带完整命令序列的 Kubernetes 逃逸路径。

适用边界

本技能是攻击侧手册,用于授权渗透测试与安全研究。它给出的是武器化路径而非防御清单;实际环境中能否走通,取决于运行时版本、镜像基础层和宿主机的 seccomp/AppArmor 策略。K8s 场景的逃逸是否成立,还与 Service Account 权限、网络策略和 kubelet 版本强相关,不能假设默认配置。

使用场景

  • 评估 `docker run` 参数时,判断挂载 `/var/run/docker.sock` 是否会让容器内进程直接操控宿主机 Docker 守护进程
  • 在授权渗透测试中,从已获取的 `--privileged` 容器内规划拿到宿主机 root 的具体逃逸路径
  • 排查 K8s 集群风险时,确认 Pod Service Account 权限与挂载配置是否会被利用来实现 Pod 逃逸
  • `seccomp` 或 AppArmor 拦截了某个逃逸手法后,分析替代路径或绕过方式以继续完成容器逃逸验证

适合人员

  • 负责容器化业务安全的红队工程师,需要在授权测试中给出可复现的逃逸链而非理论概览
  • 维护 Docker 与 K8s 集群的平台运维,需要识别特权容器、Capability 授予和 Socket 挂载带来的实际风险
  • 为容器运行时或 K8s 组件提交 CVE 的安全研究员,需要确认 runtime 漏洞对应的 Pod 逃逸利用路径
  • 编写容器安全检测规则的工程师,需要理解 cgroup release_agent、namespace 逃逸等手法来覆盖检测规则