Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
Ferramentas/GitHubGitHub/kondordevsecuritycorp/cve-2025-60709
Ferramentas DefensivasEscalada de PrivilégiosAnálise de VulnerabilidadesExploraçãoAprendizado e EducaçãoDesenvolvimento de PayloadsExploração de Binários
GitHubkondordevsecuritycorp/cve-2025-60709

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →

CVE-2025-60709

Exploit PoC de LPE para CLFS do Windows para pesquisa de segurança

Ver Repositório
2há 5 mesesAinda não revisado
Compartilhar

CVE Type Target Component C Go Research


🚨 EXPLOIT PoC — APENAS PARA PESQUISA DE SEGURANÇA, ANÁLISE DE VULNERABILIDADES E FINS DEFENSIVOS

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


🌐 Idiomas / Languages

  • 🇵🇹 Português
  • 🇬🇧 English

🇵🇹 Documentação em Português

Descrição

CVE-2025-60709 é uma vulnerabilidade de escalação de privilégios locais (LPE) no driver CLFS.sys (Common Log File System) do Windows. Permite que um atacante com execução de código local escale de usuário padrão para NT AUTHORITY\SYSTEM através de um buffer overflow na análise de contêineres CLFS, obtendo uma primitiva de escrita arbitrária na memória do kernel.

Este repositório contém duas implementações:

  • CVE-2025-60709.c — Implementação original em C (acesso direto a APIs nativas do Windows)
  • CVE-2025-60709.go — Port em Go (versão de demonstração/educativa — NÃO explora vulnerabilidades reais)

🎯 Detalhes da Vulnerabilidade

CampoDetalhe
CVE IDCVE-2025-60709
TipoLocal Privilege Escalation (LPE)
ComponenteCLFS.sys (driver Common Log File System)
Sistema alvoWindows 11 24H2 (build 26100.3485+)
Arquiteturax64 apenas
VetorBuffer overflow na análise de contêiner CLFS
ImpactoEscalação para NT AUTHORITY\SYSTEM
Pré-requisitosExecução local de código (usuário padrão)

🏗️ Estrutura do Repositório

root@kitploit:~
CVE-2025-60709/
├── CVE-2025-60709.c    (5.3 KB, 157 linhas) — Exploit C original
├── CVE-2025-60709.go   (9.2 KB, 285 linhas) — Port Go (demo educativa)
└── README.txt          (4.2 KB, 132 linhas) — Documentação original

🔬 Análise Técnica Detalhada

Fluxo de Exploração Completo

root@kitploit:~
┌─────────────────────────────────────────────────────────────┐
│                    CVE-2025-60709 LPE                       │
└─────────────────────────────────────────────────────────────┘

[1] EVASÃO DE DEFESAS
    ├─ KillETW()   → Aplica patch no EtwEventWrite na ntdll com RET (0xC3)
    └─ KillAMSI()  → Aplica patch no AmsiScanBuffer na amsi.dll com RET (0xC3)

[2] HEAP GROOMING (preparação de memória)
    └─ GroomLookaside()
       ├─ Cria 4096 arquivos: C:\Windows\Temp\groom_00000.blf
       ├─ Chama CreateLogFile() + AddLogContainer() para cada um
       └─ Esgota lookaside lists → garante layout de heap previsível

[3] PRIMITIVA DE ESCRITA ARBITRÁRIA — ClfsArbWrite(Address, Value)
    ├─ Constrói buffer CLFS malformado (0x102010 bytes)
    │    ├─ Assinatura CLFS válida em +0x00: 0x0201
    │    ├─ Sector size shift em +0x14: 2
    │    ├─ First client region em +0x28: 0x100
    │    ├─ cbRecord SUPERDIMENSIONADO em +0x100: 0xFF00 (64 KB > dados reais)
    │    ├─ Marcador shadow zone em +0x9A8: 0x13371337
    │    └─ CClfsContainerContext falso no offset (0xFF00 + 0x100):
    │         ├─ pContainer = TargetAddress - 0x10
    │         └─ cbContainer = Value (dado a escrever)
    ├─ Calcula checksum CLFS correto (driver valida)
    ├─ Escreve contêiner malformado → C:\Windows\Temp\evil.blf
    ├─ Cria log apontando para evil.blf
    ├─ Chama ClfsReadRestartArea() → dispara análise no kernel
    └─ Driver estoura buffer → escreve Value em Address ✓

[4] ROUBO DE TOKEN SYSTEM
    ├─ Lê EPROCESS do processo SYSTEM via PsInitialSystemProcess
    └─ Extrai token em EPROCESS + EPROCESS_TOKEN (offset 0x4c0)

[5] ESCALAÇÃO DE PRIVILÉGIOS
    └─ ClfsArbWrite(CurrentEprocess + 0x4c0, SystemToken)
       └─ Sobrescreve token do processo atual com token SYSTEM ✓

[6] EXECUÇÃO DE PAYLOAD C2
    ├─ VirtualAlloc(PAGE_EXECUTE_READWRITE)
    ├─ Copia shellcode beacon de 1789 bytes
    ├─ CreateThread() → execução como NT AUTHORITY\SYSTEM
    └─ Beacon C2: IPv6 + DoH → fallback Gmail drafts
       └─ sRDI + sleep obfuscation + ETW/AMSI já corrigidos

[7] PERSISTÊNCIA
    └─ Sleep(INFINITE) → processo mantém token SYSTEM

Offsets EPROCESS (Windows 11 24H2 build 26100.3485+)

CampoOffsetDescrição
EPROCESS_TOKEN0x4C0Token de segurança do processo
EPROCESS_PID0x440ID do processo (PID)
EPROCESS_LINKS0x448Lista encadeada de processos ativos
EPROCESS_NAME0x5A8Nome do processo (ImageFileName)

⚠️ Esses offsets variam entre builds do Windows. Requerem atualização para outras versões.


Mecanismo do Buffer Overflow no CLFS

root@kitploit:~
Contêiner CLFS legítimo:
  [Header 0x100 bytes][Record: cbRecord bytes de dados reais]

Contêiner malformado (evil.blf):
  [Header válido][cbRecord=0xFF00 → kernel lê 65.280 bytes]
                          ↓
  Kernel overflow → alcança CClfsContainerContext falso
                          ↓
  pContainer  = TargetKernelAddress - 0x10
  cbContainer = ValueToWrite
                          ↓
  Driver usa estrutura falsa → escreve ValueToWrite em TargetKernelAddress

Funções Chave — CVE-2025-60709.c

FunçãoPropósito
GetKernelBase()ZwQuerySystemInformation(SystemModuleInformation) → base do ntoskrnl.exe
KillETW()VirtualProtect + sobrescreve EtwEventWrite na ntdll.dll com 0xC3 (RET)
KillAMSI()Carrega amsi.dll + sobrescreve AmsiScanBuffer com 0xC3 (RET)
GroomLookaside()Cria 4096 logs CLFS para esgotar lookaside lists → heap determinístico
ClfsArbWrite()Núcleo do exploit — primitiva de escrita arbitrária no kernel
main()Orquestra ataque: ETW→AMSI→groom→roubo de token→arb write→beacon

Diferenças C vs Go

AspectoVersão CVersão Go
TipoExploit funcional (conforme documentação)Demo educativa apenas
APIsAcesso direto (ntdll, clfsw32, advapi32)Wrappers syscall.NewLazyDLL()
Checksum CLFSAlgoritmo completoPlaceholder simplificado
Endereços do kernelReaisPlaceholder fixo (0x123456)
Payload C2Shellcode de 1789 bytesBytes NOP (0x90) de teste
Resultado esperadoEscalação para SYSTEMMensagem "Arb write failed (yeah)"

Compilação

Versão C (requer Visual Studio Build Tools + Windows SDK):

root@kitploit:~
cl /O1 /MT /link ntdll.lib advapi32.lib clfsw32.lib CVE-2025-60709.c

Versão Go (requer Go 1.19+ no Windows x64):

root@kitploit:~
go build -ldflags="-s -w" -o CVE-2025-60709.exe CVE-2025-60709.go

🛡️ Mitigações e Detecção

Mitigações do Windows

MitigaçãoEficácia
HVCI (Integridade de Código Protegida por Hypervisor)Alta — impede escrita na memória do kernel
kCFI (Integridade de Fluxo de Controle do Kernel)Alta — dificulta cadeias ROP/JOP
CFG (Guardian de Fluxo de Controle)Média — dificulta execução de shellcode
Windows DefenderMédia — detecta técnicas conhecidas
Atualização do WindowsAlta — patch oficial elimina a vulnerabilidade

Regra YARA

root@kitploit:~
rule CVE_2025_60709_CLFS_LPE {
    meta:
        description = "Detects CVE-2025-60709 CLFS LPE exploit"
        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
}

IOCs — Artefatos do Sistema

TipoValor
Arquivo malformadoC:\Windows\Temp\evil.blf
Log malformado\\.\C:\Windows\Temp\evil_log
Arquivos de groomingC:\Windows\Temp\groom_00000.blf … groom_04095.blf
ProcessoPrioridade REALTIME_PRIORITY_CLASS anômala

Detecção Comportamental

root@kitploit:~
ARQUIVO:  Criação massiva de *.blf em C:\Windows\Temp\ (> 100 em segundos)
ARQUIVO:  Criação de C:\Windows\Temp\evil.blf
PROCESSO: Processo em modo REALTIME_PRIORITY + chamadas a ClfsReadRestartArea
MEMÓRIA:  Escrita em PAGE_EXECUTE_READWRITE + CreateThread imediato
API:      VirtualProtect sobre EtwEventWrite ou AmsiScanBuffer
KERNEL:   Acesso a PsInitialSystemProcess a partir do user-mode

Verificação Rápida

root@kitploit:~
# Verificar arquivos de grooming
Get-ChildItem C:\Windows\Temp -Filter "groom_*.blf" | Measure-Object

# Verificar arquivo exploit
Test-Path C:\Windows\Temp\evil.blf

# Verificar integridade do ntdll (patch ETW)
Get-AuthenticodeSignature (Get-Process -Name notepad | Select -First 1).Path

🇬🇧 Documentação em Português (versão original mantida para estrutura)

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.

This repository contains two implementations:

  • CVE-2025-60709.c — Original C implementation (direct access to native Windows APIs)
  • CVE-2025-60709.go — Go port (demonstration/educational version — does NOT exploit real vulnerabilities)

🎯 Vulnerability Details

CampoDetalhe
CVE IDCVE-2025-60709
TypeLocal Privilege Escalation (LPE)
ComponentCLFS.sys (Common Log File System driver)
Target OSWindows 11 24H2 (build 26100.3485+)
Architecturex64 only
VectorBuffer overflow in CLFS container parsing
ImpactEscalation to NT AUTHORITY\SYSTEM
PrerequisitosLocal code execution (standard user)

🔬 Technical Analysis

Exploitation Flow

root@kitploit:~
[1] DEFENSE EVASION
    ├─ KillETW()   → Patch EtwEventWrite in ntdll with RET (0xC3)
    └─ KillAMSI()  → Patch AmsiScanBuffer in amsi.dll with RET (0xC3)

[2] HEAP GROOMING
    └─ GroomLookaside()
       ├─ Creates 4096 files: C:\Windows\Temp\groom_00000.blf
       ├─ Calls CreateLogFile() + AddLogContainer() for each
       └─ Exhausts lookaside lists → guarantees predictable heap layout

[3] ARBITRARY WRITE PRIMITIVE — ClfsArbWrite(Address, Value)
    ├─ Constructs malformed CLFS buffer (0x102010 bytes)
    │    ├─ Valid CLFS signature at +0x00: 0x0201
    │    ├─ Oversized cbRecord at +0x100: 0xFF00 (65,280 bytes)
    │    ├─ Shadow zone marker at +0x9A8: 0x13371337
    │    └─ Fake CClfsContainerContext at offset (0xFF00 + 0x100):
    │         ├─ pContainer  = TargetAddress - 0x10
    │         └─ cbContainer = Value (data to write)
    ├─ Computes valid CLFS checksum (driver validates)
    ├─ Writes malformed container → C:\Windows\Temp\evil.blf
    ├─ Creates log pointing to evil.blf
    ├─ Calls ClfsReadRestartArea() → triggers kernel parsing
    └─ Driver overflows buffer → writes Value to Address ✓

[4] SYSTEM TOKEN THEFT
    ├─ Reads SYSTEM process EPROCESS via PsInitialSystemProcess
    └─ Extracts token at EPROCESS + 0x4C0

[5] PRIVILEGE ESCALATION
    └─ ClfsArbWrite(CurrentEprocess + 0x4C0, SystemToken)
       └─ Overwrites current process token with SYSTEM token ✓

[6] C2 PAYLOAD EXECUTION
    ├─ VirtualAlloc(PAGE_EXECUTE_READWRITE)
    ├─ Copy 1789-byte shellcode beacon
    ├─ CreateThread() → runs as NT AUTHORITY\SYSTEM
    └─ Beacon: IPv6 + DoH C2 → Gmail drafts fallback
       └─ sRDI + sleep obfuscation + ETW/AMSI already patched

[7] PERSISTENCE
    └─ Sleep(INFINITE) → process keeps SYSTEM token

EPROCESS Offsets (Windows 11 24H2 build 26100.3485+)

FieldOffsetDescription
EPROCESS_TOKEN0x4C0Process security token
EPROCESS_PID0x440Process ID
EPROCESS_LINKS0x448Active process linked list
EPROCESS_NAME0x5A8Process name (ImageFileName)

⚠️ These offsets vary between Windows builds. Must be updated for other versions.


CLFS Buffer Overflow Mechanism

root@kitploit:~
Legitimate CLFS container:
  [0x100 byte Header][Record: cbRecord bytes of real data]

Malformed container (evil.blf):
  [Valid Header][cbRecord=0xFF00 → kernel reads 65,280 bytes]
                        ↓
  Kernel overflows → reaches fake CClfsContainerContext
                        ↓
  pContainer  = TargetKernelAddress - 0x10
  cbContainer = ValueToWrite
                        ↓
  Driver uses fake structure → writes ValueToWrite to TargetKernelAddress

Key Functions — CVE-2025-60709.c

FunctionPurpose
GetKernelBase()ZwQuerySystemInformation(SystemModuleInformation) → ntoskrnl.exe base
KillETW()VirtualProtect + overwrite EtwEventWrite in ntdll.dll with 0xC3 (RET)
KillAMSI()Load amsi.dll + overwrite AmsiScanBuffer with 0xC3 (RET)
GroomLookaside()Create 4096 CLFS logs to exhaust lookaside lists → deterministic heap
ClfsArbWrite()Exploit core — arbitrary kernel memory write primitive
main()Orchestrates: ETW→AMSI→groom→token theft→arb write→beacon

C vs Go Differences

AspectC VersionGo Version
TypeFunctional exploit (per docs)Educational demo only
APIsDirect (ntdll, clfsw32, advapi32)syscall.NewLazyDLL() wrappers
CLFS checksumFull algorithmSimplified placeholder
Kernel addressesRealHardcoded placeholder (0x123456)
C2 payload1789-byte shellcodeNOP bytes (0x90)
Expected resultSYSTEM escalationMessage "Arb write failed (yeah)"

Build Instructions

C version (requires Visual Studio Build Tools + Windows SDK):

root@kitploit:~
cl /O1 /MT /link ntdll.lib advapi32.lib clfsw32.lib CVE-2025-60709.c

Go version (requires Go 1.19+ on Windows x64):

root@kitploit:~
go build -ldflags="-s -w" -o CVE-2025-60709.exe CVE-2025-60709.go

🛡️ Mitigations and Detection

Windows Mitigations

MitigationEffectiveness
HVCI (Hypervisor-protected Code Integrity)High — prevents kernel memory writes
kCFI (Kernel Control Flow Integrity)High — blocks ROP/JOP chains
CFG (Control Flow Guard)Medium — hinders shellcode execution
Windows DefenderMedium — detects known techniques
Windows UpdateHigh — official patch eliminates the vulnerability

YARA Rule

root@kitploit:~
rule CVE_2025_60709_CLFS_LPE {
    meta:
        description = "Detects CVE-2025-60709 CLFS LPE exploit"
        author      = "KONDORDEVSECURITYCORP"
        date        = "2026-03"
        cve         = "CVE-2025-60709"
        severity    = "critical"

    strings:
        $evil_file  = "evil.blf" ascii wide
        $groom_file = "groom_" ascii wide
        $etw_func   = "EtwEventWrite" ascii wide
        $amsi_func  = "AmsiScanBuffer" ascii wide
        $magic      = { 37 13 37 13 }
        $token_off  = { C0 04 00 00 }

    condition:
        3 of them
}

IOCs — System Artifacts

TypeValue
Malformed fileC:\Windows\Temp\evil.blf
Malformed log\\.\C:\Windows\Temp\evil_log
Grooming filesC:\Windows\Temp\groom_00000.blf … groom_04095.blf
ProcessAnomalous REALTIME_PRIORITY_CLASS priority

Behavioral Detection

root@kitploit:~
FILE:    Mass creation of *.blf in C:\Windows\Temp\ (> 100 in seconds)
FILE:    Creation of C:\Windows\Temp\evil.blf
PROCESS: REALTIME_PRIORITY process + ClfsReadRestartArea calls
MEMORY:  Write to PAGE_EXECUTE_READWRITE + immediate CreateThread
API:     VirtualProtect over EtwEventWrite or AmsiScanBuffer
KERNEL:  PsInitialSystemProcess access from user-mode

Quick Verification

root@kitploit:~
# Check grooming files
Get-ChildItem C:\Windows\Temp -Filter "groom_*.blf" | Measure-Object

# Check exploit file
Test-Path C:\Windows\Temp\evil.blf

📚 Referências Técnicas / Technical References

  • Common Log File System (CLFS) Architecture — Microsoft Docs
  • EPROCESS Structure Analysis — Windows Internals
  • Lookaside List Heap Grooming Techniques
  • Windows Kernel Exploitation — Token Stealing
  • HVCI and Virtualization Based Security — Microsoft

⚠️ Aviso Legal / Legal Notice

PT: Este PoC de exploit é publicado apenas para pesquisa de segurança, análise de vulnerabilidades, inteligência de ameaças e fins defensivos. Usar este código contra sistemas sem autorização explícita por escrito é ilegal e pode violar o CFAA, Computer Misuse Act e leis equivalentes. Os autores não assumem responsabilidade pelo uso indevido.

EN: This exploit PoC is published for security research, vulnerability analysis, threat intelligence, and defensive purposes ONLY. Using this code against systems without explicit written authorization is illegal and may violate the CFAA, Computer Misuse Act, and equivalent laws. Authors assume no liability for misuse.


GitHub Telegram

Baixar ferramenta