ForeverLX/security-research

GitHub: ForeverLX/security-research

这是一个专注于容器和内核安全边界的系统性研究项目,通过可复现的方法论发现并文档化特权提升漏洞及攻击面。

Stars: 0 | Forks: 0

# 安全研究 **Azrael Security — 攻击性安全研究** 由 [ForeverLX](https://github.com/ForeverLX) 发布 | Azrael Security™ ## 研究方法论 本仓库中的所有研究都遵循一个系统化的五阶段方法论,旨在生成可复现、可辩护且适用于技术发布和实际应用的发现。 **第一阶段:基线建立** 记录被测试组件预期的隔离行为。对于容器边界,这意味着确立运行时规范关于命名空间隔离、文件系统访问和进程可见性的声明。对于内核研究,这意味着描述系统调用接口、能力边界和权限分离机制的预期行为。基线源自规范文档、源代码审计和实证测量。 **第二阶段:边界识别** 识别执行所审查控制的具体机制——系统调用、内核特性、配置参数或运行时行为。此阶段回答的问题是:阻止操作跨越边界的具体执行点是什么?需要可追溯至源代码或内核接口。 **第三阶段:偏差测试** 构建最小复现用例,以探测边界是否存在非预期行为。每个测试针对单一变量(命名空间类型、运行时标志、内核版本、钩子配置),同时保持其他所有变量不变。测试旨在证伪基线假设,而非证实它。正向结果(边界违反)是发表所必需的;负向结果则作为限定范围内的发现记录在案。 **第四阶段:影响映射** 将每个发现与实际操作环境关联起来。对于容器边界研究,这意味着识别那些该发现构成实际攻击面的部署模式(如代理式AI工作负载、红队C2基础设施、多租户GPU环境)。影响评估基于权限提升路径、信息泄露范围和利用前提条件。 **第五阶段:文档记录** 以适合技术受众的结构化格式撰写发现。每个记录的发现包括:根本原因分析、复现步骤、受影响的配置、检测指南,以及适用的MITRE ATT&CK映射。撰写文档不是CTF攻略;它们是解释漏洞存在原因(而不仅仅是如何触发它)的分析性成果。 ## 活跃研究领域 | 领域 | 状态 | 最近活动 | 优先级 | |---|---|---|---| | 容器边界研究 | **活跃 — 旗舰项目** | 2026-04-12 (白皮书1发布) | Q2 持续性 | | Linux 内核与系统研究 | **活跃 — 早期阶段** | 2026-Q1 | 正在构建 | | 逆向工程 | **活跃 — 挑战系列** | 持续进行 | Q2 持续性 | | Active Directory 攻击路径 | **活跃 — 课程集成** | 持续进行 | Q2 持续性 | | 红队基础设施研究 | **活跃** | 持续进行 | Q2 持续性 | ### 1. 容器边界研究 **状态:** 🟢 活跃 — 旗舰 Q2 研究轨道 **主平台:** Cerberus (Podman rootless, Arch Linux) **次平台:** Tairn (Docker, NixOS 24.11) - **文件系统与挂载滥用** — 在 rootless Podman 和 Docker 环境中的 overlayfs 行为、绑定挂载逃逸、卷权限错误配置 - **命名空间权限边界** — 用户命名空间权限映射、PID/挂载命名空间隔离失败、跨命名空间转换的能力泄露 - **进程可见性泄露** — 从容器内部对 `/proc` 的暴露、不同命名空间配置下的跨容器 PID 可见性 - **基础设施适用性** — 这些原语如何映射到实际的红队基础设施(C2 隔离、代理暂存环境、基于容器的植入物投放) - **CVE-2025-23266 与 NVIDIA 钩子执行面** — 通过 OCI 运行时,从容器镜像继承环境到主机特权的 `createContainer` 钩子;四向比较(rootless/rootful Podman × runc/crun)展示了利用路径在不同运行时下的可达性 - **GPU 多租户威胁模型** — 在启用GPU的容器中,受损的代理式工作负载访问NVIDIA的钩子执行边界;CDI规范生成、`LD_PRELOAD`注入到主机钩子进程,以及 `libnvidia-container` / `nvidia-container-toolkit` 中补丁级修复与根本原因修正之间的架构差距 研究平台:Cerberus (Podman rootless, Arch Linux) 和 Tairn (Docker, NixOS 24.11) — 生产环境基础设施,非合成实验虚拟机。 ### 2. Linux 内核与系统研究 **状态:** 🟡 活跃 — 早期阶段,正在构建内核利用原语 **主平台:** NightForge (Arch Linux, zen kernel) 专注于内核利用原语的底层Linux系统研究。当前切入点是容器边界分析(用户空间/内核接口)。计划的进展: - **系统调用边界分析** — 用户空间 → 内核转换,验证发生的位置及未发生的位置 - **权限提升原语** — 能力滥用、命名空间逃逸、SUID/SGID 误用 - **内核利用基础** — 内核上下文中的内存损坏、ret2usr、内核 ROP(长期轨道) - **CVE 分析** — 深入分析已发布的内核 CVE,理解根本原因和利用机制 研究平台:NightForge (Arch Linux, zen kernel)。 ### 3. 逆向工程 **状态:** 🟢 活跃 — 持续进行的挑战系列 **方法论:** 通过递进的挑战工作构建方法论,最终应用于实际二进制文件和 CVE 分析。 通过递进的挑战工作记录逆向工程方法论的发展: - **re-1** — ELF 32位,逐字节比较循环,静态分析 + GDB - **re-2** — ELF 64位剥离版,十六进制解码流水线,基于XOR的自定义比较逻辑 - *持续进行中:完成更多 StackSmash RE 挑战后记录* 每个挑战都记录完整的方法论、工具调用输出和分析推理——而不仅仅是解决方案。 ### 4. Active Directory 攻击路径 **状态:** 🟢 活跃 — 课程集成 (CRTA / CRT-ID) **实验平台:** Tairn (NixOS 24.11, Mythic C2, Windows AD 实验室) 基于 CRTA 和 CRT-ID 课程(CyberWarfare Labs)的技术文档,并与在 Tairn 上的动手实验工作相结合。每个技术都记录了: - 协议/系统层面实际发生情况的机制解释 - MITRE ATT&CK 映射 - 检测注意事项(审计策略、事件日志来源、sigma 规则覆盖范围) - 工具调用和带注释的输出 ### 5. 红队基础设施研究 **状态:** 🟢 活跃 **平台:** Veil 基础设施(多节点 WireGuard 网状网络) 应用于 Veil 基础设施项目的操作安全和架构研究: - 用于多节点 C2 环境的 WireGuard 网状架构 - Mythic C2 部署加固(网络隔离、防火墙姿态) - 用于可复现攻击节点的声明式 NixOS - 用于操作安全的 rootless 容器模式 ## 发布物 ### 白皮书1:抽象之下 **标题:** *抽象之下:NVIDIA 容器工具包中的钩子隔离失败* **状态:** ✅ 已发布 — 2026-04-12 **位置:** [`research/container-boundaries/`](research/container-boundaries/README.md) **CVE 链:** CVE-2024-0132 → CVE-2025-23359 → CVE-2025-23266 **摘要:** 本文研究了在使用 runc 作为 OCI 运行时的 rootless Podman 环境下,NVIDIA 容器栈中的一系列三个 CVE。该漏洞链跨越两个代码库和两种钩子类型,但共享一个共同的结构性失败:工具包架构中,容器控制输入与主机级别钩子执行之间的边界执行不一致。实际的威胁模型是一个在启用GPU的 rootless 容器中运行的受损代理式工作负载,这种部署模式随着本地AI基础设施的兴起已变得普遍。 **主要发现:** 1. 工具包架构中存在结构性边界失败 — 没有 CVE 修正根本原因 2. `execseal` 不对称性 — `update-ldcache` 钩子被密封,而 `enable-cuda-compat` 钩子(CVE-2025-23266 攻击向量)未被密封 3. 运行时特定的可达性 — 在 crun 下可达该利用路径,但在 rootless Podman 的 runc 下不可达;该补丁在两种运行时下统一关闭了该路径 **先前发布背景:** 基于 Wiz Research 的原始 CVE 研究;本文将调查扩展到 rootless Podman,并进行了此前未记录的四向运行时比较。 ### 白皮书2 **状态:** 🔵 计划中 — 推迟至 2026 Q3 **范围:** 待定 — 容器边界研究轨道的第二篇白皮书 ## 实验室环境 ### Cerberus — 容器与 GPU 安全研究 - **操作系统:** Arch Linux (滚动更新) - **容器运行时:** Podman (rootless), runc 1.4.2 (主要 OCI), crun (次要测试目标) - **GPU:** NVIDIA GeForce GTX 1650 - **驱动:** 595.58.03 - **NVIDIA 工具包:** 多个版本(v1.17.7 漏洞版,v1.19.0 补丁版)从标记版本的源码构建 - **角色:** 主要容器边界研究平台;NVIDIA CVE 分析;GPU 多租户威胁模型测试 - **架构:** Veil WireGuard 网状网络中的边缘节点 ### Tairn — Active Directory 与对手模拟 - **操作系统:** NixOS 24.11 - **容器运行时:** Docker(漏洞测试、代理暂存) - **C2 框架:** Mythic - **AD 实验室:** Windows 域控制器 + 成员主机(AD 攻击路径验证) - **角色:** AD 技术验证(Kerberoasting, DCSync, Golden Ticket);代理测试和 C2 部署加固 - **架构:** Veil WireGuard 网状网络中的管理节点 ### NightForge — 操作员工作站 - **操作系统:** Arch Linux (zen kernel) - **角色:** 操作员工作站、内核研究、逆向工程、二进制分析 - **工具集:** GDB, Ghidra, ltrace/strace, objdump, 自定义分析脚本 - **文档记录于:** [nightforge](https://github.com/ForeverLX/nightforge) ## 活跃研究 — 容器边界分析 *旗舰 Q2 研究轨道。结构已建立以容纳持续的工作。* ``` research/container-boundaries/ ├── README.md # Research overview, whitepaper, and methodology ├── 01-environment-setup/ # Lab setup, tooling, baseline measurements ├── 02-filesystem-mounts/ # Findings: overlayfs, bind mounts, volume abuse ├── 03-namespace-analysis/ # Findings: user/pid/mount namespace boundaries ├── 04-proc-visibility/ # Findings: /proc exposure and PID leaks ├── 05-infrastructure-impact/ # How findings map to offensive infra use cases └── report/ # Final research artifact (MITRE-mapped) ``` ## 技术库 来自实验室工作和课程进程的已记录技术。每个条目包括机制解释、复现步骤和 ATT&CK 映射。 | 技术 | ATT&CK ID | 平台 | 状态 | |---|---|---|---| | Kerberoasting | T1558.003 | Windows AD | 已记录 | | AS-REP Roasting | T1558.004 | Windows AD | 已记录 | | DCSync | T1003.006 | Windows AD | 已记录 | | Golden Ticket | T1558.001 | Windows AD | 已记录 | | 域账户枚举 | T1087.002 | Windows AD | 已记录 | | RE: ELF 32位逐字节验证 | — | Linux | 完成 — `techniques/linux/re/re-1` | | RE: ELF 64位剥离版, XOR 比较 | — | Linux | 完成 — `techniques/linux/re/re-2` | | *通过挂载的容器逃逸* | *待定* | Linux | 进行中 | | *命名空间边界滥用* | *待定* | Linux | 进行中 | | *内核权限提升原语* | *待定* | Linux | 计划中 | | *CDI 钩子环境继承* | *待定* | Linux | 白皮书1 | ## 可复现性 本仓库中的所有发现都附有足够独立验证的复现条件。以下原则指导可复现性: **环境规范:** 每个发现记录测试期间使用的操作系统版本、内核版本、运行时版本(Podman/Docker/runc/crun)和工具包版本。版本固定可实现精确复现。 **测试隔离:** 测试旨在最小化对特定主机配置的依赖。当特定主机的值(UID 映射、文件系统路径)影响结果时,会明确记录。测试针对容器运行时的行为,而非主机的偶然状态。 **基础设施访问:** 研究实验室如上文“实验室环境”部分所述。拥有相同硬件和软件配置的研究人员应能复现核心发现。在需要特定GPU硬件(NVIDIA CVE研究)的地方,会注明此限制。 **负向结果记录:** 发现包括正向和负向结果。rootless Podman + runc 配置未暴露 CVE-2025-23266 利用路径;此负向结果与 crun 下的正向结果一样,记录了相同的环境特性。这避免了在不适用该发现的配置上浪费复现工作。 **补丁验证:** 当发现涉及供应商补丁时,复现步骤包括验证补丁前和补丁后的状态。提供了 CDI 规范检查命令、版本检查和配置文件差异。 ## 未来研究方向 — 2026 Q3 优先事项 以下研究方向计划在 2026 Q3 进行: ### 白皮书2 — 容器边界深入探究 - 容器边界研究轨道的第二篇出版物 - 范围待定;基于 Q2 容器边界分析的发现 - 可能重点:rootless 环境中的文件系统和挂载边界滥用 ### 扩展 OCI 运行时比较 - 将四向运行时比较(rootless/rootful × runc/crun)扩展至包括: - youki(基于 Rust 的 OCI 运行时) - Kata Containers(基于 VM 的隔离) - gVisor(用户空间内核) - 描述更广泛运行时环境下的钩子环境继承行为 ### 内核利用基础 - 开始结构化 CVE 分析轨道:深入分析已发布的内核 CVE,提供完整根本原因分析 - 目标:具备可用 PoC 代码和补丁差异的 CVE - 产出:索引在 `research/kernel/` 中的根本原因分析报告 ### GPU 多租户隔离 - 超越 NVIDIA 钩子面:调查共享物理GPU的容器之间的GPU内存隔离 - MIG(多实例 GPU)分区分析 - CUDA 上下文隔离边界 ### RE 挑战进程 - 继续 StackSmash RE 挑战系列 - 开始转向分析实际的剥离版二进制文件(C2 植入物、打包器/shellcode 分析) ## 仓库结构 ``` security-research/ ├── README.md ├── research/ │ ├── container-boundaries/ # Active flagship research + Whitepaper 1 │ ├── kernel/ # Linux kernel & systems research │ ├── active-directory/ # AD technique documentation │ └── infrastructure/ # Red team infra research notes ├── techniques/ │ ├── ad/ # Per-technique writeups (AD) │ └── linux/ │ ├── re/ # Reverse engineering writeups │ │ ├── re-1/ │ │ └── re-2/ │ └── kernel/ # Kernel exploitation technique notes ├── labs/ │ └── tairn/ # Lab work documented from Tairn ├── writeups/ │ ├── reverse-engineering/ │ └── README.md └── assets/ ├── screenshots/ # Environment and lab screenshots └── certificates/ # Certifications (AD-RTS, CAPT, COSJ) ``` ## 基础设施 研究在 [Veil](https://github.com/ForeverLX/veil) 基础设施上进行: - **Cerberus** — Arch Linux 边缘节点,rootless Podman(主要容器研究平台) - **Tairn** — NixOS 24.11, Mythic C2 + Docker(AD 实验室工作、代理测试) - **NightForge** — Arch Linux 操作员工作站 ([nightforge](https://github.com/ForeverLX/nightforge)) ## 认证 | 认证 | 颁发机构 | 状态 | |---|---|---| | Active Directory 红队专家 (AD-RTS) | CyberWarfare Labs | 已完成 | | 注册助理渗透测试师 (CAPT) | HackViser | 已完成 | | 注册攻击性安全初级专家 (COSJ) | RedTeam Ops | 已完成 | | 注册红队分析师 (CRTA) | CyberWarfare Labs | 进行中 | | 注册红队基础设施开发者 (CRT-ID) | CyberWarfare Labs | 进行中 | ## 免责声明 所有研究均在自主运营的基础设施上进行,用于授权的安全研究目的。发现和技术仅为教育和专业发展目的记录。未对生产基础设施进行测试。未执行未授权的目标扫描。所有PoC(概念验证)均附带适用的检测指南。内核利用需要完整根本原因分析,而不仅仅是功能性的利用。 **作者:** Darrius Grate (ForeverLX) | Azrael Security™
标签:安全渗透, 请求拦截