Su1ph3r/Cepheus

GitHub: Su1ph3r/Cepheus

容器逃逸场景建模工具,通过枚举容器安全态势并与已知逃逸技术匹配,生成攻击链和修复建议。

Stars: 0 | Forks: 1

# Cepheus **容器逃逸场景建模器** — 枚举容器安全态势并建模现实的逃逸路径,包含排序的攻击链、定制的 PoC 命令和可操作的修复建议。 [![Python 3.11+](https://img.shields.io/badge/python-3.11%2B-blue.svg)](https://www.python.org/downloads/) [![License: MIT](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE) [![Tests](https://img.shields.io/badge/tests-170%20passing-brightgreen.svg)](#testing) ## 什么是 Cepheus? Cepheus 是一个双组件的容器安全工具,回答一个问题:**"攻击者能否逃逸这个容器,如何实现?"** 1. **枚举器** — 一个零依赖的 POSIX shell 脚本,可在任何容器内运行,并将完整的安全态势转储为 JSON(capabilities、挂载、内核版本、seccomp、AppArmor、namespace、cgroup、凭证、网络配置、Kubernetes 元数据、运行时版本、可写路径和可用工具)。 2. **分析引擎** — 一个 Python CLI,接收枚举器的 JSON 输出,将发现映射到跨越 6 个类别的 **65 种已知逃逸技术**,构建单步和多步攻击链,生成定制的 PoC 命令,按可靠性和隐蔽性对每个链进行评分,并生成优先修复指导。包括 GPU/NVIDIA 设备检测、sandbox 运行时检测(gVisor、Firecracker、Kata)和执行摘要生成。 以星座 Cepheus 命名——这位守护天堂的国王——它守护着容器边界。 ## 为什么选择 Cepheus? | 功能 | deepce | CDK | amicontained | BOtB | Cepheus | |---|:---:|:---:|:---:|:---:|:---:| | Capability 枚举 | 部分 | 是 | 是 | 部分 | **完整** | | 内核 CVE 关联 | - | - | - | - | **21 个 CVE** | | 运行时版本检测 | - | 部分 | - | - | **是** | | 组合链分析 | - | - | - | - | **21 种组合** | | 逃逸路径评分 | - | - | - | - | **加权** | | PoC 生成 | - | 部分 | - | 部分 | **全部 65 个** | | 防御枚举 | - | - | 部分 | - | **完整** | | 2024-2025 CVE | - | - | - | - | **是** | | 隐蔽性评分 | - | - | - | - | **是** | | 多步链构建 | - | - | - | - | **是** | | LLM 增强 | - | - | - | - | **可选** | | 零依赖枚举器 | - | Go 二进制 | Go 二进制 | Go 二进制 | **POSIX shell** | ## 快速开始 ### 安装 ``` # 来自源代码 git clone https://github.com/su1ph3r/Cepheus.git cd Cepheus pip install -e . # 支持 LLM pip install -e ".[llm]" # 支持 HTML 报告 pip install -e ".[html]" ``` ### 枚举容器 ``` # 将枚举器复制到运行中的容器中并执行 docker cp enumerator/cepheus-enum.sh mycontainer:/tmp/ docker exec mycontainer sh /tmp/cepheus-enum.sh > posture.json # 或使用内置的枚举命令 cepheus enumerate --container-id mycontainer --runtime docker -o posture.json ``` ### 分析逃逸路径 ``` # 完整分析并输出到终端 cepheus analyze posture.json # 按严重程度筛选 cepheus analyze posture.json --min-severity high # JSON 输出用于自动化 cepheus analyze posture.json --format json -o report.json # MITRE ATT&CK Navigator 图层导出 cepheus analyze posture.json --format mitre -o layer.json # 自包含 HTML 报告 cepheus analyze posture.json --format html -o report.html # 支持 LLM 的新型模式分析 cepheus analyze posture.json --llm ``` ### 比较态势(差异) ``` # 比较加固前后的差异 cepheus diff before.json after.json # JSON 输出 cepheus diff before.json after.json --format json -o delta.json ``` ### 浏览技术 ``` # 列出所有 65 种技术 cepheus techniques # 按类别筛选 cepheus techniques --category capability cepheus techniques --category kernel # 搜索 cepheus techniques --search "sys_admin" cepheus techniques --severity critical ``` ## 技术覆盖 Cepheus 覆盖跨越 6 个类别的 **65 种逃逸技术**: ### 基于 Capability 的(9 种) 利用 Linux capability 的逃逸:`CAP_SYS_ADMIN` 挂载/cgroup/BPF 攻击、`CAP_SYS_PTRACE` 进程注入、`CAP_DAC_READ_SEARCH` 和 `CAP_DAC_OVERRIDE` 用于绕过文件权限、`CAP_NET_ADMIN` 网络命名空间操作、`CAP_SYS_RAWIO` 原始设备 I/O,以及 eBPF `bpf_probe_write_user` 内核内存操作。 ### 基于挂载的(15 种) Docker socket 挂载、containerd 和 CRI-O socket 挂载、`/proc/sys/kernel/core_pattern` 写入、`/proc/sysrq-trigger` 滥用、sysfs exploit、可写主机路径挂载(`/etc`、`/`)、cgroup 文件系统逃逸、`/dev` 设备访问、systemd cgroup v1 注入、共享 `/dev/shm` 跨容器数据泄露、`/proc/self/fd` 符号链接遍历、device-mapper 直接访问,以及 `/proc/sys/vm` 参数操作。 ### 基于内核 CVE 的(17 种) - **CVE-2022-0185** — FSConfig 堆溢出(5.1–5.16.2) - **CVE-2022-0847** — DirtyPipe(5.8–5.16.11) - **CVE-2021-22555** — Netfilter 堆越界写入(2.6.19–5.12) - **CVE-2022-2588** — route4 释放后使用(< 5.19.2) - **CVE-2023-0386** — OverlayFS 权限提升(5.11–6.2) - **CVE-2023-32233** — nf_tables 释放后使用(< 6.4) - **CVE-2024-1086** — nf_tables 双重释放(3.15–6.8) - **CVE-2021-31440** — eBPF 验证器绕过 - **CVE-2022-23222** — eBPF 类型混淆 - **CVE-2024-21626** — runc process.cwd 容器突破 - **CVE-2024-53104** — USB Video Class 越界写入 - **CVE-2025-21756** — vsock 释放后使用 - **CVE-2024-23651** — BuildKit 挂载缓存竞态条件 - **CVE-2024-23652** — BuildKit 任意主机文件删除 - **CVE-2024-23653** — BuildKit 权限检查绕过 - **CVE-2024-24557** — runc 镜像构建缓存投毒 - **CVE-2024-23650** — BuildKit 守护进程通过恶意 gRPC 崩溃 ### 运行时/编排器(14 种) Kubernetes service account 滥用、kubelet API 访问、etcd 直接访问、未认证的 Docker API、containerd shim 逃逸、runc `/proc/self/exe` 覆盖(CVE-2019-5736)、云元数据 SSRF、kubelet node 代理、AppArmor 非限制配置文件检测、SELinux 禁用/非限制检测、NVIDIA Container Toolkit 设备访问(CVE-2024-0132)、NVIDIA 设备挂载逃逸(CVE-2024-0133)、IngressNightmare 未认证 RCE(CVE-2025-1974)和 Docker Desktop 文件共享逃逸(CVE-2025-3224)。 ### 组合式(6 种) 多先决条件链:`SYS_ADMIN + no seccomp`、`privileged + docker.sock`、`NET_
标签:AppArmor, Bing搜索, cgroups, Chrome Headless, Cloudflare, Cutter, CVE关联, DNS 反向解析, Firecracker, GitHub Advanced Security, GPU安全, gVisor, Kata容器, Kubernetes安全, MITRE ATT&CK, PoC生成, seccomp, Shell脚本, Web截图, Web报告查看器, 内核漏洞, 反取证, 命名空间, 威胁建模, 子域名突变, 安全加固, 安全评估, 安全运营, 容器安全, 容器枚举, 容器逃逸, 扫描框架, 插件系统, 攻击链分析, 无线安全, 沙箱检测, 特权容器, 网络安全, 网络安全审计, 能力枚举, 请求拦截, 逆向工具, 防守方工具, 隐私保护, 风险评分