Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2025-60709 — Windows CLFS LPE 漏洞利用 PoC,用于安全研究 | Kitploit
工具/GitHubGitHub/kondordevsecuritycorp/cve-2025-60709
防御工具权限提升漏洞分析漏洞利用学习与教育Payload 开发二进制利用
GitHubkondordevsecuritycorp/cve-2025-60709

CVE-2025-60709

Windows CLFS LPE 漏洞利用 PoC,用于安全研究

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

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE Type Target Component C Go Research


🚨 漏洞利用PoC — 仅供安全研究、漏洞分析与防御用途

🚨 PoC DE EXPLOIT — SOLO PARA INVESTIGACIÓN DE SEGURIDAD, ANÁLISIS DE VULNERABILIDADES Y FINES DEFENSIVOS


🌐 语言 / Idiomas

  • 🇪🇸 西班牙语
  • 🇬🇧 英语

🇪🇸 西班牙语文档

描述

CVE-2025-60709 是 Windows CLFS.sys(通用日志文件系统)驱动中的一个本地权限提升(LPE) 漏洞。它允许具有本地代码执行能力的攻击者通过 CLFS 容器解析中的缓冲区溢出,从标准用户提升到 NT AUTHORITY\SYSTEM,从而获得内核内存的任意写入原语。

本仓库包含两种实现:

  • CVE-2025-60709.c — 原始 C 实现(直接访问 Windows 原生 API)
  • CVE-2025-60709.go — Go 移植版(演示/教育版本 — 不利用真实漏洞)

🎯 漏洞详情

字段详情
CVE IDCVE-2025-60709
类型本地权限提升(LPE)
组件CLFS.sys(通用日志文件系统驱动)
目标系统Windows 11 24H2(build 26100.3485+)
架构仅 x64
向量CLFS 容器解析中的缓冲区溢出
影响提升至 NT AUTHORITY\SYSTEM
前置条件本地代码执行(标准用户)

🏗️ 仓库结构

CVE-2025-60709/
├── CVE-2025-60709.c    (5.3 KB, 157 行) — 原始 C 漏洞利用
├── CVE-2025-60709.go   (9.2 KB, 285 行) — Go 移植版(教育演示)
└── README.txt          (4.2 KB, 132 行) — 原始文档

🔬 详细技术分析

完整利用流程

┌─────────────────────────────────────────────────────────────┐
│                    CVE-2025-60709 LPE                       │
└─────────────────────────────────────────────────────────────┘

[1] 防御绕过
    ├─ KillETW()   → 修补 ntdll 中的 EtwEventWrite 为 RET(0xC3)
    └─ KillAMSI()  → 修补 amsi.dll 中的 AmsiScanBuffer 为 RET(0xC3)

[2] 堆布局准备(内存准备)
    └─ GroomLookaside()
       ├─ 创建 4096 个文件:C:\Windows\Temp\groom_00000.blf
       ├─ 对每个文件调用 CreateLogFile() + AddLogContainer()
       └─ 耗尽 lookaside 列表 → 确保可预测的堆布局

[3] 任意写入原语 — ClfsArbWrite(Address, Value)
    ├─ 构造畸形的 CLFS 缓冲区(0x102010 字节)
    │    ├─ +0x00 处有效 CLFS 签名:0x0201
    │    ├─ +0x14 处扇区大小移位:2
    │    ├─ +0x28 处第一个客户端区域:0x100
    │    ├─ +0x100 处超大 cbRecord:0xFF00(64 KB > 实际数据)
    │    ├─ +0x9A8 处阴影区域标记:0x13371337
    │    └─ 偏移 (0xFF00 + 0x100) 处虚假 CClfsContainerContext:
    │         ├─ pContainer = TargetAddress - 0x10
    │         └─ cbContainer = Value(要写入的数据)
    ├─ 计算正确的 CLFS 校验和(驱动会验证)
    ├─ 写入畸形容器 → C:\Windows\Temp\evil.blf
    ├─ 创建指向 evil.blf 的日志
    ├─ 调用 ClfsReadRestartArea() → 触发内核解析
    └─ 驱动溢出缓冲区 → 将 Value 写入 Address ✓

[4] SYSTEM 令牌窃取
    ├─ 通过 PsInitialSystemProcess 读取 SYSTEM 进程的 EPROCESS
    └─ 提取 EPROCESS + EPROCESS_TOKEN(偏移 0x4c0)处的令牌

[5] 权限提升
    └─ ClfsArbWrite(CurrentEprocess + 0x4c0, SystemToken)
       └─ 用 SYSTEM 令牌覆盖当前进程令牌 ✓

[6] C2 载荷执行
    ├─ VirtualAlloc(PAGE_EXECUTE_READWRITE)
    ├─ 复制 1789 字节的 shellcode beacon
    ├─ CreateThread() → 以 NT AUTHORITY\SYSTEM 运行
    └─ Beacon C2:IPv6 + DoH → 回退 Gmail 草稿
       └─ sRDI + sleep 混淆 + ETW/AMSI 已修补

[7] 持久化
    └─ Sleep(INFINITE) → 进程保持 SYSTEM 令牌

EPROCESS 偏移量(Windows 11 24H2 build 26100.3485+)

字段偏移量描述
EPROCESS_TOKEN0x4C0进程安全令牌
EPROCESS_PID0x440进程 ID
EPROCESS_LINKS0x448活动进程的双向链表
EPROCESS_NAME0x5A8进程名称(ImageFileName)

⚠️ 这些偏移量在不同 Windows 构建版本中会变化。 需要在其他版本中更新。


CLFS 缓冲区溢出机制

合法 CLFS 容器:
  [Header 0x100 字节][Record: cbRecord 字节的真实数据]

畸形容器(evil.blf):
  [有效 Header][cbRecord=0xFF00 → 内核读取 65,280 字节]
                          ↓
  内核溢出 → 到达虚假的 CClfsContainerContext
                          ↓
  pContainer  = TargetKernelAddress - 0x10
  cbContainer = ValueToWrite
                          ↓
  驱动使用虚假结构 → 将 ValueToWrite 写入 TargetKernelAddress

关键函数 — CVE-2025-60709.c

函数用途
GetKernelBase()ZwQuerySystemInformation(SystemModuleInformation) → ntoskrnl.exe 基址
KillETW()VirtualProtect + 用 0xC3(RET)覆盖 ntdll.dll 中的 EtwEventWrite
KillAMSI()加载 amsi.dll + 用 0xC3(RET)覆盖 AmsiScanBuffer
GroomLookaside()创建 4096 个 CLFS 日志以耗尽 lookaside 列表 → 确定性堆
ClfsArbWrite()漏洞利用核心 — 任意内核内存写入原语
main()编排攻击:ETW→AMSI→堆布局→令牌窃取→任意写入→beacon

C 与 Go 的差异

方面C 版本Go 版本
类型功能性漏洞利用(按文档)仅限教育演示
API直接访问(ntdll,clfsw32,advapi32)syscall.NewLazyDLL() 封装
CLFS 校验和完整算法简化的占位符
内核地址真实硬编码占位符(0x123456)
C2 荷载1789 字节的 shellcode测试用的 NOP 字节(0x90)
预期结果提升至 SYSTEM消息 "Arb write failed (yeah)"

编译

C 版本(需要 Visual Studio Build Tools + Windows SDK):

cl /O1 /MT /link ntdll.lib advapi32.lib clfsw32.lib CVE-2025-60709.c

Go 版本(需要在 Windows x64 上安装 Go 1.19+):

go build -ldflags="-s -w" -o CVE-2025-60709.exe CVE-2025-60709.go

🛡️ 缓解措施与检测

Windows 缓解措施

缓解措施有效性
HVCI(受虚拟机监控程序保护的代码完整性)高 — 阻止内核内存写入
kCFI(内核控制流完整性)高 — 阻碍 ROP/JOP 链
CFG(控制流守卫)中等 — 阻碍 shellcode 执行
Windows Defender中等 — 检测已知技术
Windows 更新高 — 官方补丁消除漏洞

YARA 规则

rule CVE_2025_60709_CLFS_LPE {
    meta:
        description = "检测 CVE-2025-60709 CLFS LPE 漏洞利用"
        author      = "KONDORDEVSECURITYCORP"
        date        = "2026-03"
        cve         = "CVE-2025-60709"
        severity    = "critical"

    strings:
        $clfs_sig   = { 01 02 00 00 }
        $magic      = { 37 13 37 13 }
        $evil_file  = "evil.blf" ascii wide
        $groom_file = "groom_" ascii wide
        $etw_func   = "EtwEventWrite" ascii wide
        $amsi_func  = "AmsiScanBuffer" ascii wide
        $token_off  = { C0 04 00 00 }       // EPROCESS_TOKEN = 0x4C0

    condition:
        3 of them
}

IOC — 系统痕迹

类型值
畸形文件C:\Windows\Temp\evil.blf
畸形日志\\.\C:\Windows\Temp\evil_log
堆布局文件C:\Windows\Temp\groom_00000.blf … groom_04095.blf
进程异常高的优先级(REALTIME_PRIORITY_CLASS)

行为检测

文件:   在 C:\Windows\Temp\ 中大量创建 *.blf(数秒内超过 100 个)
文件:   创建 C:\Windows\Temp\evil.blf
进程:   实时优先级进程 + 调用 ClfsReadRestartArea
内存:   写入 PAGE_EXECUTE_READWRITE + 立即 CreateThread
API:    对 EtwEventWrite 或 AmsiScanBuffer 调用 VirtualProtect
内核:   从用户态访问 PsInitialSystemProcess

快速验证

# 检查堆布局文件
Get-ChildItem C:\Windows\Temp -Filter "groom_*.blf" | Measure-Object

# 检查漏洞利用文件
Test-Path C:\Windows\Temp\evil.blf

# 检查 ntdll 完整性(ETW 修补)
Get-AuthenticodeSignature (Get-Process -Name notepad | Select -First 1).Path

🇬🇧 English Documentation

Description

CVE-2025-60709 is a Local Privilege Escalation (LPE) vulnerability in the Windows CLFS.sys (Common Log File System) driver. It allows an attacker with local code execution to escalate from a standard user to NT AUTHORITY\SYSTEM through a buffer overflow in CLFS container parsing, obtaining an arbitrary write primitive to kernel memory.

下载工具