gl1tch0x1/DirtyClone

GitHub: gl1tch0x1/DirtyClone

DirtyClone 是一个利用 Linux 内核 XFRM 相关漏洞 CVE-2026-43503 实现本地权限提升的概念验证 PoC 工具。

Stars: 2 | Forks: 1

# DirtyClone DirtyClone 是一个基于 C 语言编写的本地权限提升(LPE)概念验证(PoC)程序,旨在利用源码中描述为 CVE-2026-43503 的内核/XFRM 相关漏洞。该程序仅供授权的安全研究和在受控环境中进行测试使用。 ## 概述 本仓库包含一个单一的源文件: - [dirtyclone.c](dirtyclone.c) – 使用 C 语言编写的漏洞利用实现 该程序执行一系列步骤,旨在: - 创建隔离的 user 和 network namespace, - 配置 loopback 以及与 XFRM/IPsec 相关的网络状态, - 使用 AES-CBC 加密构建 ESP 数据包, - 针对目标 SUID 二进制文件触发 page-cache 修补流程, - 执行已被修补的目标二进制文件。 ## 重要提示 此工具专为授权的安全测试设计。未经明确许可在系统上运行它可能是非法的,并可能导致严重的安全和系统完整性问题。 ## 构建 使用以下命令编译程序: ``` gcc -o dirtyclone dirtyclone.c -lcrypto -Wall -O2 ``` ## 用法 使用以下命令运行二进制文件: ``` ./dirtyclone ``` 可选标志: ``` ./dirtyclone -q # quiet mode ./dirtyclone -v # verbose mode (default) ./dirtyclone -h # show help ``` ## 程序功能说明 在宏观层面上,该程序会: 1. 显示横幅信息并检查当前是否已以 root 权限运行。 2. 验证基本的运行时前提条件,例如目标 SUID 二进制文件路径以及架构支持情况。 3. 设置 namespace 和 loopback 网络。 4. 配置 XFRM 状态/策略以及 TEE netfilter 规则。 5. 将目标 SUID 二进制文件映射到内存中,并准备 ESP 数据包。 6. 发送精心构造的数据包,并等待 page cache 反映出被修补的字节。 7. 执行目标二进制文件,预期将获得一个特权 shell。 ## 技术细节 该实现包括: - 用于等待 page-cache 更改的自适应重试逻辑, - 通过 `atexit` 和信号处理程序注册的清理例程, - 使用 `fork` 和 `execvp` 的安全进程执行, - 使用 OpenSSL EVP API 进行的 AES-CBC 加密, - 适用于 x86_64 和 AArch64 系统的感知架构 shellcode。 ## 前置条件 源码需要一个具备以下条件的 Linux 环境: - GCC/Clang 工具链, - OpenSSL 开发头文件/库, - 系统上可用的 `ip`、`iptables` 和 `modprobe`, - 兼容的内核以及位于 `/usr/bin/su` 的目标二进制文件。 ## 安全与道德准则 仅在以下情况下使用本项目: - 您拥有目标系统, - 您拥有明确的测试授权, - 您在实验室或隔离环境中操作。 切勿在生产系统或未经授权评估的系统上部署或运行此代码。 ## 许可与署名 源码头文件将作者标识为 MrAashish0x1 (gl1tch0x1)。该仓库不包含单独的许可证文件,因此该代码应被视为研究材料,而不是生产级软件。
标签:Linux内核, Web报告查看器, XFRM/IPsec, 安全测试工具, 安全渗透, 客户端加密, 本地提权, 概念验证