Skip to content
KitploitKITPLOIT
HerramientasBlog
Log in
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
Herramientas/GitHubGitHub/kondordevsecuritycorp/cve-2025-60709
Herramientas DefensivasEscalada de PrivilegiosAnálisis de VulnerabilidadesExplotaciónAprendizaje y EducaciónDesarrollo de PayloadsExplotación de Binarios
GitHub

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
kondordevsecuritycorp/cve-2025-60709

CVE-2025-60709

PoC de exploit de LPE en CLFS de Windows para investigación en seguridad

Ver Repositorio
7hace 5 mesesAún no revisado
Compartir

CVE Type Target Component C Go Research


🚨 EXPLOIT PoC — FOR SECURITY RESEARCH, VULNERABILITY ANALYSIS AND DEFENSIVE PURPOSES ONLY

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


🌐 Idiomas / Languages

  • 🇪🇸 Español
  • 🇬🇧 English

🇪🇸 Documentación en Español

Descripción

CVE-2025-60709 es una vulnerabilidad de escalación de privilegios locales (LPE) en el controlador CLFS.sys (Common Log File System) de Windows. Permite a un atacante con ejecución de código local escalar desde usuario estándar hasta NT AUTHORITY\SYSTEM mediante un buffer overflow en el parsing de contenedores CLFS, obteniendo una primitiva de escritura arbitraria en memoria del kernel.

Este repositorio contiene dos implementaciones:

  • CVE-2025-60709.c — Implementación original en C (acceso directo a APIs nativas de Windows)
  • CVE-2025-60709.go — Port en Go (versión de demostración/educativa — NO explota vulnerabilidades reales)

🎯 Detalles de la Vulnerabilidad

CampoDetalle
CVE IDCVE-2025-60709
TipoLocal Privilege Escalation (LPE)
ComponenteCLFS.sys (Common Log File System driver)
Sistema objetivoWindows 11 24H2 (build 26100.3485+)
Arquitecturax64 únicamente
VectorBuffer overflow en parsing de contenedor CLFS
ImpactoEscalación a NT AUTHORITY\SYSTEM
PrerequisitosEjecución local de código (usuario estándar)

🏗️ Estructura del Repositorio

CVE-2025-60709/
├── CVE-2025-60709.c    (5.3 KB, 157 líneas) — Exploit C original
├── CVE-2025-60709.go   (9.2 KB, 285 líneas) — Port Go (demo educativa)
└── README.txt          (4.2 KB, 132 líneas) — Documentación original

🔬 Análisis Técnico Detallado

Flujo de Explotación Completo

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

[1] EVASIÓN DE DEFENSAS
    ├─ KillETW()   → Parchea EtwEventWrite en ntdll con RET (0xC3)
    └─ KillAMSI()  → Parchea AmsiScanBuffer en amsi.dll con RET (0xC3)

[2] HEAP GROOMING (preparación de memoria)
    └─ GroomLookaside()
       ├─ Crea 4096 archivos: C:\Windows\Temp\groom_00000.blf
       ├─ Llama CreateLogFile() + AddLogContainer() por cada uno
       └─ Agota lookaside lists → garantiza layout de heap predecible

[3] PRIMITIVA DE ESCRITURA ARBITRARIA — ClfsArbWrite(Address, Value)
    ├─ Construye buffer CLFS malformado (0x102010 bytes)
    │    ├─ Firma válida CLFS en +0x00: 0x0201
    │    ├─ Sector size shift en +0x14: 2
    │    ├─ First client region en +0x28: 0x100
    │    ├─ cbRecord OVERSIZED en +0x100: 0xFF00 (64 KB > datos reales)
    │    ├─ Marcador shadow zone en +0x9A8: 0x13371337
    │    └─ CClfsContainerContext falso en offset (0xFF00 + 0x100):
    │         ├─ pContainer = TargetAddress - 0x10
    │         └─ cbContainer = Value (dato a escribir)
    ├─ Calcula checksum CLFS correcto (driver lo valida)
    ├─ Escribe contenedor malformado → C:\Windows\Temp\evil.blf
    ├─ Crea log apuntando a evil.blf
    ├─ Llama ClfsReadRestartArea() → dispara parsing kernel
    └─ Driver desborda buffer → escribe Value en Address ✓

[4] ROBO DE TOKEN SYSTEM
    ├─ Lee EPROCESS del proceso SYSTEM via PsInitialSystemProcess
    └─ Extrae token en EPROCESS + EPROCESS_TOKEN (offset 0x4c0)

[5] ESCALACIÓN DE PRIVILEGIOS
    └─ ClfsArbWrite(CurrentEprocess + 0x4c0, SystemToken)
       └─ Sobreescribe token del proceso actual con token SYSTEM ✓

[6] EJECUCIÓN DE PAYLOAD C2
    ├─ VirtualAlloc(PAGE_EXECUTE_READWRITE)
    ├─ Copia shellcode beacon de 1789 bytes
    ├─ CreateThread() → ejecución como NT AUTHORITY\SYSTEM
    └─ Beacon C2: IPv6 + DoH → fallback Gmail drafts
       └─ sRDI + sleep obfuscation + ETW/AMSI ya parcheados

[7] PERSISTENCIA
    └─ Sleep(INFINITE) → proceso mantiene token SYSTEM

Offsets EPROCESS (Windows 11 24H2 build 26100.3485+)

CampoOffsetDescripción
EPROCESS_TOKEN0x4C0Token de seguridad del proceso
EPROCESS_PID0x440Process ID (PID)
EPROCESS_LINKS0x448Lista enlazada de procesos activos
EPROCESS_NAME0x5A8Nombre del proceso (ImageFileName)

⚠️ Estos offsets varían entre builds de Windows. Requieren actualización para otras versiones.


Mecanismo del Buffer Overflow en CLFS

Contenedor CLFS legítimo:
  [Header 0x100 bytes][Record: cbRecord bytes de datos reales]

Contenedor malformado (evil.blf):
  [Header válido][cbRecord=0xFF00 → kernel lee 65,280 bytes]
                          ↓
  Kernel overflow → llega a CClfsContainerContext falso
                          ↓
  pContainer  = TargetKernelAddress - 0x10
  cbContainer = ValueToWrite
                          ↓
  Driver usa estructura falsa → escribe ValueToWrite en TargetKernelAddress

Funciones Clave — CVE-2025-60709.c

FunciónPropósito
GetKernelBase()ZwQuerySystemInformation(SystemModuleInformation) → base de ntoskrnl.exe
KillETW()VirtualProtect + sobreescribe EtwEventWrite en ntdll.dll con 0xC3 (RET)
KillAMSI()Carga amsi.dll + sobreescribe AmsiScanBuffer con 0xC3 (RET)
GroomLookaside()Crea 4096 logs CLFS para exhaust de lookaside lists → heap determinista
ClfsArbWrite()Núcleo del exploit — primitiva de escritura arbitraria en kernel
main()Orquesta ataque: ETW→AMSI→groom→token theft→arb write→beacon

Diferencias C vs Go

AspectoVersión CVersión Go
TipoExploit funcional (según documentación)Demo educativa únicamente
APIsAcceso directo (ntdll, clfsw32, advapi32)syscall.NewLazyDLL() wrappers
Checksum CLFSAlgoritmo completoPlaceholder simplificado
Direcciones kernelRealesHardcoded placeholder (0x123456)
Payload C2Shellcode 1789 bytesBytes NOP (0x90) de prueba
Resultado esperadoEscalación a SYSTEMMensaje "Arb write failed (yeah)"

Compilación

Versión C (requiere Visual Studio Build Tools + Windows SDK):

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

Versión Go (requiere Go 1.19+ en Windows x64):

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

🛡️ Mitigaciones y Detección

Mitigaciones de Windows

Descargar herramienta