Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
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.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2025-60709 — Exploit PoC de LPE para CLFS do Windows para pesquisa de segurança | Kitploit
Ferramentas/GitHubGitHub/kondordevsecuritycorp/cve-2025-60709
Ferramentas DefensivasEscalada de PrivilégiosAnálise de VulnerabilidadesExploraçãoAprendizado e EducaçãoDesenvolvimento de PayloadsExploração de Binários
GitHub

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 →
kondordevsecuritycorp/cve-2025-60709

CVE-2025-60709

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

Ver Repositório
8há 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

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

┌─────────────────────────────────────────────────────────────┐
│                    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

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):

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

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

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

🛡️ Mitigações e Detecção

Mitigações do Windows

Baixar ferramenta