Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
DirtyClone — 概念验证本地权限提升工具,利用内核XFRM/ESP漏洞(CVE-2026-43503),通过网络栈传递精心构造的AES-CBC加密载荷来修补SUID二进制页面缓存。 | Kitploit
工具/GitHubGitHub/gl1tch0x1/dirtyclone
权限提升漏洞利用Shellcode密码学Payload 开发二进制利用
GitHubgl1tch0x1/dirtyclone

DirtyClone

概念验证本地权限提升工具,利用内核XFRM/ESP漏洞(CVE-2026-43503),通过网络栈传递精心构造的AES-CBC加密载荷来修补SUID二进制页面缓存。

查看仓库
2142个月前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

DirtyClone

DirtyClone 是一个用 C 编写的诊断性、概念验证本地权限提升工具。它针对源代码中描述为 CVE-2026-43503 的内核/XFRM 相关漏洞利用路径,仅适用于受控环境中的授权安全研究。

概述

本仓库包含:

  • dirtyclone.c – 完整的漏洞利用实现
  • README.md – 使用和环境指南

当前实现执行以下高级步骤:

  • 创建隔离的用户和网络命名空间,
  • 配置回环网络和 XFRM/IPsec 状态/策略,
  • 使用 AES-CBC 加密构建 ESP 载荷,
  • 尝试通过基于 TEE 的 UDP 路径和原始 IP 回退进行投递,
  • 等待目标 SUID 二进制文件的页面缓存被修补,
  • 如果页面缓存被修改,则执行目标二进制文件。

重要提示

此工具仅用于授权的安全测试。在未获得明确许可的系统上运行可能是非法的,并可能影响系统完整性。

构建

首先安装所需的 OpenSSL 开发包:

root@kitploit:~
# Debian/Ubuntu
sudo apt-get install libssl-dev

# Fedora
sudo dnf install openssl-devel

# Arch Linux
sudo pacman -S openssl

然后编译二进制文件:

root@kitploit:~
gcc -o dirtyclone dirtyclone.c -lcrypto -Wall -O2

使用方法

运行程序:

root@kitploit:~
./dirtyclone

可选参数:

root@kitploit:~
./dirtyclone -q    # 安静模式
./dirtyclone -v    # 详细模式(默认)
./dirtyclone -h    # 显示帮助

程序功能

运行时,程序执行以下操作:

  1. 打印横幅并检查是否已以 root 身份运行;
  2. 验证内核和架构细节,并报告系统是否似乎匹配易受攻击的范围;
  3. 设置命名空间和回环网络;
  4. 配置 XFRM 状态/策略,并尝试添加 TEE netfilter 规则;
  5. 将目标 SUID 二进制文件映射到内存,并打印原始字节与预期字节的 PoC 摘要;
  6. 使用 UDP+TEE 或原始 IP 回退发送 ESP 数据包;
  7. 等待页面缓存反映注入的字节,然后尝试执行目标二进制文件。

DirtyClone 的工作原理

该漏洞利用围绕一个简单思想构建:程序准备一个精心构造的 ESP/XFRM 载荷,导致内核将数据解密到页面缓存支持的内存区域,然后检查目标 SUID 二进制文件中的字节是否已更改。

实际运行中,程序执行以下操作:

  • 识别目标文件 /usr/bin/su 并将其映射到内存;
  • 准备一个小型载荷,包含 shellcode 字节和必要的 ESP 元数据;
  • 使用 AES-CBC 加密载荷,以便将其送入 XFRM/ESP 路径;
  • 通过本地网络堆栈发送数据包,使用 TEE 辅助的 UDP 或原始 IP 回退;
  • 监控映射区域以等待预期字节出现;
  • 如果字节出现,则假设漏洞利用路径已更改页面缓存,并执行修补后的目标路径。

这是一个概念验证流程,而非通用权限提升框架。其目的是演示漏洞利用机制,并帮助验证目标内核是否仍然暴露易受攻击的行为。

虚拟实现示例

以下简化示例从高层次展示了相同的概念:

root@kitploit:~
#include <stdio.h>
#include <string.h>

static int dummy_exploit(unsigned char *target_bytes) {
    unsigned char expected[] = {0x31, 0x0f, 0x05};
    memcpy(target_bytes, expected, sizeof(expected));
    return 0;
}

int main(void) {
    unsigned char target[16] = {0};
    dummy_exploit(target);
    printf("Patched bytes: %02x %02x %02x\n", target[0], target[1], target[2]);
    return 0;
}

实际项目使用相同的原理,但将载荷打包为 ESP/XFRM 风格的数据包,并通过网络堆栈驱动内核路径,而不是简单的内存复制。

漏洞利用步骤

  1. 设置阶段

    • 程序创建命名空间以隔离进程环境;
    • 它配置回环网络,使数据包保持在本地。
  2. XFRM 准备

    • 漏洞利用添加 XFRM 状态和策略,告知内核如何处理 ESP 流量;
    • 它还尝试安装 TEE 规则,以便流量可以通过计划路径重定向。
  3. 载荷构建

    • 代码构建一个包含类似 shellcode 字节的小型明文载荷;
    • 使用静态测试密钥通过 AES-CBC 加密载荷。
  4. 投递阶段

    • 程序通过 UDP 或原始 IP 发送精心构造的 ESP 数据包;
    • 内核处理数据包,并在易受攻击的系统上,将解密的数据写回目标二进制文件的页面缓存区域。
  5. 验证与执行

    • 代码监控目标文件的字节,并检查它们是否与预期的 shellcode 字节匹配;
    • 如果匹配,则尝试执行目标二进制文件,并将控制权交给注入的载荷路径。

技术细节

实现包括:

  • 等待页面缓存变化时的自适应重试逻辑,
  • 通过 atexit 和信号处理程序注册的清理例程,
  • 基于 fork/execvp 的安全命令执行,
  • 使用 OpenSSL EVP API 的 AES-CBC 加密,
  • 针对 x86_64 和 AArch64 的架构感知 shellcode,
  • 针对 TEE 辅助 UDP 和原始 IP 传输的双重投递逻辑。

先决条件

源代码需要具有以下条件的 Linux 环境:

  • GCC 或 Clang,
  • OpenSSL 开发头文件和库,
  • 系统中可用的 ip、iptables 和 modprobe,
  • 位于 /usr/bin/su 的目标二进制文件,
  • 可能对所述漏洞利用路径易受攻击的内核。

预期行为

程序旨在显示诊断性 PoC 摘要,然后要么:

  • 成功修补页面缓存并执行目标二进制文件,或
  • 如果内核已修补或漏洞利用路径不可用,则干净地失败。

如果漏洞利用未触发,程序会打印一条清晰的消息,表明内核可能已修补。

安全与伦理

仅在以下情况下使用此项目:

  • 你拥有目标系统,
  • 你有明确的授权对其进行测试,
  • 你在实验室或隔离环境中操作。

切勿在生产系统或未经许可评估的系统上运行此代码。

许可与作者

源代码头部标识作者为 MrAashish0x1 (gl1tch0x1)。该仓库不包含单独的许可文件,因此此代码应视为研究材料,而非生产软件。

下载工具