Claude-Red TOCTOU竞态:二进制、内核、Web到容器的完整攻击路径
Claude-Red TOCTOU竞态二进制、内核、Web到容器的完整攻击路径【免费下载链接】Claude-Redclaude-red is a curated library of offensive security skills designed for the Claude skills system. Each skill is a structured SKILL.md file that primes Claude with expert-level methodology for a specific attack surface — from SQLi to shellcode, EDR evasion to exploit development.项目地址: https://gitcode.com/GitHub_Trending/cl/Claude-RedClaude-Red是一个面向 AI 的渗透测试技能库其中的TOCTOU 竞态条件技能offensive-toctou完整覆盖了从文件系统、内核、Web API 到容器逃逸的检查-使用Time-of-Check / Time-of-Use攻击路径。本文带你以新手视角理解这类漏洞的原理、放大竞态窗口的手法以及它在真实 CVE 中的应用。什么是 TOCTOU一个新手就能懂的时间差漏洞TOCTOU 的全称是Time-of-Check to Time-of-Use检查时到使用时。它的本质极其简单程序先检查某个属性——文件归谁所有余额够不够Token 是否有效然后基于检查结果采取行动——写入文件、扣款、放行请求。问题在于检查和行动之间存在一个时间窗口攻击者只需在这个窗口里把底层对象换掉检查结果就失效了。用生活化的比喻你先确认门口保安在检查转身开门使用——但如果你确认的瞬间和开门的瞬间之间保安恰好下班了门就白守了。技能库给出的核心判断标准只有一句话只要检查和使用操作的不是同一个内核对象文件描述符、inode、原子快照就可能存在 TOCTOU。 技能文件中定义的标准工作流见 SKILL.md 的 Quick Workflow 部分定位检查点与使用点 → 确认两者不共享同一对象 → 构造替换原语 → 放大窗口 → 紧循环验证。如何加载这个技能到 ClaudeClaude-Red 的每个技能都是一个结构化的SKILL.md文件按需加载、不占上下文。获取仓库git clone https://gitcode.com/GitHub_Trending/cl/Claude-Red ~/.claude/skills/claude-red也可以只安装单个分类如利用开发类或直接运行安装脚本 install.sh./install.sh --category exploit-dev当你和 Claude 的对话中涉及 TOCTOU、race condition、竞态 等触发词时offensive-toctou 技能会自动进入上下文Claude 就会像一个熟悉该领域的红队专家一样带你排查。Web 侧的竞态测试则由 offensive-race-condition 技能覆盖两个技能互为补充。文件系统竞态经典的符号链接交换文件系统中 TOCTOU 的经典形态是符号链接交换特权程序先access(path)检查路径用你的身份解析再open(path)打开它用 root 身份重新解析攻击者在两步之间把path替换成指向/etc/shadow的符号链接检查时看到的是攻击者拥有的普通文件打开的却是系统的影子文件——以 root 权限写入。技能库还收录了更进阶的原语renameat2(RENAME_EXCHANGE)Linux 3.15 的原子单帧交换配合慢文件系统可做到近乎确定性目录交换把parent/file中的parent整个换掉挂载命名空间交换在用户命名空间中 bind mount是多条 runc 容器逃逸链的基础 一个实用技巧审查 setuid 二进制时在系统调用跟踪中出现两次的路径都是 TOCTOU 候选点。放大竞态窗口让时间差变大竞态理论上永远可赢实践中的难点是窗口太小。技能文件专门有一节 Window-Widening Primitives窗口放大原语这是整个方法论里最有价值的一部分技术原理适用场景FUSE 慢文件系统挂一个你自己控制的 FUSEstat/open时人为睡 5 秒文件系统竞态userfaultfd在内核页错误处理中暂停copy_from_user内核双重获取Cgroup 冻结cgroup.freeze直接暂停受害进程本地特权场景单核绑定把竞争线程钉在同一 CPU上下文切换成为唯一推进单位通用HTTP/2 单包攻击多个请求挤进同一个 TCP 段毫秒以下偏斜Web 竞态换句话说1 万分之一概率的竞态加上窗口放大原语后就等于确定性竞态——这也是漏洞报告严重性评估的关键依据。内核层双重获取与 /proc 竞态内核态的 TOCTOU 主要体现为双重获取Double-Fetch内核函数两次读取同一块用户态内存攻击者在两次读取之间悄悄改掉数据。技能文件给出了检测工具链KFENCE、DECAF、syzkaller 等模糊测试与静态分析工具。/proc文件系统则是另一条高危路径/proc/pid/exe是魔法符号链接在解引用时才解析——这正是 CVE-2019-5736runc 容器逃逸的底层机制/proc/pid/root的跨命名空间解引用是容器环境中反复出现的漏洞类型/proc/pid/mem在老版本内核上可绕过写保护容器逃逸TOCTOU 如何打穿 runc技能文件列举了容器场景下两条著名的 TOCTOU 攻击路径CVE-2019-5736runc容器运行docker exec时宿主机 runc 从容器内打开/proc/self/exe并写回——攻击者把容器内的 runc 换成指向/proc/self/exe的符号链接宿主机 runc 就重写了它自己 → 主机 RCE。CVE-2024-21626Leaky Vessels工作目录文件描述符泄漏容器首个进程持有宿主机 FD命名空间设置期间的竞态让它能对宿主机路径下手。此外还有挂载符号链接竞态容器运行时解析 bind-mount 路径时攻击者快速把路径中的目录换成指向/的符号链接——这在 Kubernetes hostPath、Docker volume、OpenShift SCC 绕过中都很常见。Web 竞态单包 HTTP/2 与现代测试原语Web 端的 TOCTOU 在 offensive-race-condition 技能中有系统化的测试方法核心场景包括余额/限额竞态并发的先检查余额再扣款是典型的非原子读-改-写修复方式是用带约束的原子更新幂等键复用很多实现只用 Key 去重而不校验 body 哈希相同 Key 不同金额就能让第二笔扣款借用第一笔的成功响应网关认证 vs 服务鉴权分离JWT 在网关缓存窗口内被吊销服务仍信任转发头 → 吊销后仍可访问⏱️长任务鉴权跳过复查导出进行到一半时权限被收回数据流仍继续2023 年之后 Web 竞态的标准武器是单包多请求Single-Packet Attack把 N 个请求的 DATA 帧攒在一起、末尾字节同步发出服务端以亚毫秒级偏斜并发调度——这比传统多线程并发可靠得多。Burp Repeater / Turbo Intruder 已内置该功能。offensive-race-condition 技能文件 中还整理了 GitHub、Docker、PayPal、Shopify 等真实 CVE 与赏金案例以及数据库隔离级别、WebSocket、Serverless 函数等进阶场景。检测与报告找到漏洞只是开始技能文件给出了一张分层的检测工具表层级工具用途Linux 系统调用strace -e tracefile -f发现重复解析的路径内核bpftrace/bcc大规模探测特定系统调用用户态 C/CThreadSanitizer、Helgrind编译期/运行时线程竞态检测内核双重获取Bochspwn-Reloaded、syzkaller模糊测试与分析Web/HTTPBurp单包模式、Turbo Intruder、racepwn并发请求竞态而一份合格的 TOCTOU 报告必须包含四要素这也是 offensive-reporting 技能的通用要求最小复现步骤、使用的窗口放大原语、观测到的成功率、利用后获得的原语。总结一条从二进制到容器的完整攻击路径Claude-Red 的 TOCTOU 技能把同一类漏洞、不同载体这件事讲得格外清楚符号链接交换文件→ 双重获取内核→ /proc 魔法链接容器→ 单包并发Web攻击者要做的永远是同一件事在检查和使用的缝隙里换掉底层对象并把缝隙撑大到能钻过去。如果你是刚开始接触安全研究的新手建议的阅读顺序是先读 offensive-toctou 的 The Core Pattern 与 Window-Widening Primitives 两节建立心智模型再读 offensive-race-condition 的 Hunt 部分掌握 Web 侧的可操作测试流程结合 MINDMAP.md 找到相关技能如 fuzzing/offensive-vuln-classes拓展漏洞分类知识关注 CHANGELOG.md 追踪技能库的更新节奏⚠️ 以上方法仅适用于已获授权的红队评估、CTF 演练与安全研究场景。【免费下载链接】Claude-Redclaude-red is a curated library of offensive security skills designed for the Claude skills system. Each skill is a structured SKILL.md file that primes Claude with expert-level methodology for a specific attack surface — from SQLi to shellcode, EDR evasion to exploit development.项目地址: https://gitcode.com/GitHub_Trending/cl/Claude-Red创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考