等待学习-学习目录:Docker 容器安全攻防

学习目录:Docker 容器安全攻防

这部分属于 云原生安全(Cloud Native Security) 下的 容器逃逸(Container Escape) 方向。


学习路线图

复制代码
第一阶段:Linux 隔离机制(必学基础)
    ↓
第二阶段:Docker 架构与组件(理解攻击面)
    ↓
第三阶段:容器逃逸攻击(你老师讲的在这里)
    ↓
第四阶段:防御与加固(生产怎么防)

第一阶段:Linux 隔离机制(2-3天)

这是所有容器逃逸的底层原理,不懂这个,后面全是死记硬背。

知识点 为什么要学 学习重点
Linux Namespace 容器隔离的核心 PID/NET/MNT/UTS/IPC/USER 各自隔了什么
Cgroup 资源限制 cpu/memory/blkio 怎么限制容器
Capability 权限控制 为什么 root 在容器里不等于宿主机 root
OverlayFS 容器文件系统 容器层和宿主机层的关系(你老师那个 overlay2 路径就是这个)
/proc 文件系统 内核接口 /proc/self/status、/proc/sys/ 怎么读写内核参数
Seccomp / AppArmor 系统调用过滤 容器默认挡了哪些危险调用

推荐资源:

  • 《容器从入门到实战》前几章
  • 搜 "Linux Namespace 原理图解"

第二阶段:Docker 架构(1-2天)

知识点 重点
Docker Daemon 架构 守护进程、API、Socket 位置
镜像分层 Dockerfile 每层干了什么
容器运行时 容器启动后在宿主机上到底是什么进程
Docker Socket (/var/run/docker.sock) 为什么挂载它等于 root
特权模式 (--privileged) 给了容器什么能力
挂载机制 (-v) 哪些挂载危险,为什么

第三阶段:容器逃逸攻击(核心,5-7天)

这是你老师讲的内容所在的阶段。分 4 条路径:

路径一:特权模式逃逸(最简单)

知识点 说明
--privileged 的本质 给容器所有 Capability + 关闭 AppArmor
挂载宿主机磁盘 mount /dev/sda1 /mnt → 直接读宿主机文件
写宿主机 crontab 在宿主机上写定时反弹 shell
检测方法 cat /proc/self/status 看 CapEff 是否全 F

路径二:危险挂载逃逸(你老师讲的就是这个)

知识点 说明
挂载 /proc 容器能改宿主机内核参数 → core_pattern 注入
挂载 /var/run/docker.sock 容器内装 docker cli → 控制宿主机 daemon
挂载 / 根目录 直接访问宿主机全部文件
挂载 /dev 访问宿主机设备
挂载 /sys 修改内核参数

你老师演示的 core_pattern 属于这条路径的子技术。

路径三:Docker Socket 逃逸(最常考)

复制代码
容器内挂载了 /var/run/docker.sock
    ↓
容器内执行 docker run -v /:/host alpine
    ↓
新容器挂载了宿主机根目录
    ↓
逃逸成功
知识点 说明
为什么 socket = root Docker API 无认证时,调 API 等于调宿主机
利用工具 docker-escape、cdk(Container Escape Kit)
检测方法 检查容器启动参数有没有 -v /var/run/docker.sock

路径四:内核漏洞逃逸(最难)

知识点 说明
Dirty COW 写时复制漏洞,容器内提权
CVE-2022-0185 内核漏洞,容器逃逸到宿主机
运行时漏洞 containerd/runc 的漏洞

第四阶段:防御与加固(2-3天)

防御点 做法
不用 --privileged 用 --cap-add 只加需要的能力
不挂载 /proc /sys /docker.sock 或者只读挂载
非 root 运行 Dockerfile 最后加 USER nobody
Distroless 镜像 没有 shell,被入侵也跑不了命令
多阶段构建 编译阶段和运行阶段分离
镜像扫描 Trivy / Grype 集成到 CI
Docker API 加 TLS 认证 防止 2375 端口未授权访问
Seccomp 配置 限制容器能调用的系统调用
AppArmor / SELinux 强制访问控制

你现在应该从哪开始

你已经看到了 core_pattern 反弹 shell,说明你已经接触了路径二。

建议顺序:

复制代码
1. 先搞懂 Linux Namespace + Capability(1天)
   ↓
2. 再理解 Docker Socket 逃逸(1天)← 这个最实用
   ↓
3. 然后理解 core_pattern /proc 挂载逃逸(你老师讲的)(1天)
   ↓
4. 最后学防御(1天)

一句话总结这门课的知识定位

云原生安全 → 容器逃逸 → 属于红队/渗透测试中的"内网横向移动"技术栈

学完这套,你能看懂 CTF 里的容器题,也能在工作中做容器安全审计。

相关推荐
差不多的周周2 小时前
《骨架上下文:基于零镜头骨架的动作识别的骨架侧上下文提示学习》论文核心部分详解
学习
小蒋观天下2 小时前
两轮车检测AI摄像头——2026行业竞争格局、商业模式与核心痛点
大数据·人工智能·安全·计算机视觉·ai大模型
Century_Dragon3 小时前
从挂图到VR:汽修专业的一堂新能源原理课可以怎么上~
学习
小蒋观天下3 小时前
两轮车检测AI摄像头——2026-2030年未来市场规模、增长逻辑与行业天花板
大数据·人工智能·安全·计算机视觉·ai大模型
知识分享小能手3 小时前
C++ 学习教程,从入门到精通,C++对象和类 — 详细知识点总结(10)
开发语言·c++·学习
New农民工4 小时前
倒立摆训练秘籍:理解训练参数
学习
无序的浪4 小时前
测试博客-基于微服务的在线判题系统
java·spring cloud·docker·微服务·测试·在线判题
yu_zhidun5 小时前
企业管理者看:员工上网行为管理软件,别再只靠网关“赌安全”
大数据·人工智能·安全·域智盾
L@ncor5 小时前
第五章 基于低代码平台的智能体搭建 · 学习笔记(Coze / Dify / FastGPT / n8n)
笔记·学习·低代码·agent·prompt工程
迪丽热爱5 小时前
多媒体应用20-903(补)
学习