Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2025-60709 — PoC d'exploit Windows CLFS LPE pour la recherche en sécurité | Kitploit
Outils/GitHubGitHub/kondordevsecuritycorp/cve-2025-60709
Outils DéfensifsEscalade de PrivilègesAnalyse des VulnérabilitésExploitationApprentissage et ÉducationDéveloppement de Charges UtilesExploitation de Binaires
GitHub

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
kondordevsecuritycorp/cve-2025-60709

CVE-2025-60709

PoC d'exploit Windows CLFS LPE pour la recherche en sécurité

Voir le dépôt
8il y a 5 moisPas encore vérifié
Partager

CVE Type Target Component C Go Research


🚨 PoC D'EXPLOIT — UNIQUEMENT À DES FINS DE RECHERCHE EN SÉCURITÉ, D'ANALYSE DE VULNÉRABILITÉS ET DE DÉFENSE

🚨 PoC D'EXPLOIT — RECHERCHE EN SÉCURITÉ, ANALYSE DE VULNÉRABILITÉS ET USAGE DÉFENSIF UNIQUEMENT


🌐 Langues

  • 🇫🇷 Français
  • 🇫🇷 Français

🇫🇷 Documentation en français

Description

CVE-2025-60709 est une vulnérabilité d'élévation de privilèges locale (LPE) dans le pilote CLFS.sys (Common Log File System) de Windows. Elle permet à un attaquant disposant d'une exécution de code locale d'élever ses privilèges d'un utilisateur standard à NT AUTHORITY\SYSTEM via un dépassement de tampon (buffer overflow) dans le parsing des conteneurs CLFS, obtenant ainsi une primitive d'écriture arbitraire dans la mémoire du noyau.

Ce dépôt contient deux implémentations :

  • CVE-2025-60709.c — Implémentation originale en C (accès direct aux API natives de Windows)
  • CVE-2025-60709.go — Port en Go (version de démonstration/pédagogique — n'exploite PAS de vulnérabilités réelles)

🎯 Détails de la vulnérabilité

ChampDétail
Identifiant CVECVE-2025-60709
TypeÉlévation de privilèges locale (LPE)
ComposantCLFS.sys (pilote Common Log File System)
Système cibleWindows 11 24H2 (build 26100.3485+)
Architecturex64 uniquement
VecteurDépassement de tampon dans le parsing des conteneurs CLFS
ImpactÉlévation vers NT AUTHORITY\SYSTEM
PrérequisExécution de code locale (utilisateur standard)

🏗️ Structure du dépôt

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

🔬 Analyse technique détaillée

Flux d'exploitation complet

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

ChampOffsetDescription
EPROCESS_TOKEN0x4C0Jeton de sécurité du processus
EPROCESS_PID0x440Identifiant du processus (PID)
EPROCESS_LINKS0x448Liste chaînée des processus actifs
EPROCESS_NAME0x5A8Nom du processus (ImageFileName)

⚠️ Ces offsets varient selon les builds de Windows. Ils nécessitent une mise à jour pour d'autres versions.


Mécanisme du dépassement de tampon dans 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

Fonctions clés — CVE-2025-60709.c

FonctionRôle
GetKernelBase()ZwQuerySystemInformation(SystemModuleInformation) → base de ntoskrnl.exe
KillETW()VirtualProtect + surécriture d'EtwEventWrite dans ntdll.dll par 0xC3 (RET)
KillAMSI()Charge amsi.dll + surécriture d'AmsiScanBuffer par 0xC3 (RET)
GroomLookaside()Crée 4096 journaux CLFS pour épuiser les lookaside lists → tas déterministe
ClfsArbWrite()Cœur de l'exploit — primitive d'écriture arbitraire en mémoire noyau
main()Orchestre l'attaque : ETW→AMSI→groom→vol de jeton→arb write→beacon

Différences C vs Go

AspectVersion CVersion Go
TypeExploit fonctionnel (selon la documentation)Démo pédagogique uniquement
APIAccès direct (ntdll, clfsw32, advapi32)Wrappers syscall.NewLazyDLL()
Checksum CLFSAlgorithme completPlaceholder simplifié
Adresses noyauRéellesPlaceholder codé en dur (0x123456)
Payload C2Shellcode de 1789 octetsOctets NOP (0x90) de test
Résultat attenduÉlévation vers SYSTEMMessage "Arb write failed (yeah)"

Compilation

Version C (nécessite Visual Studio Build Tools + Windows SDK) :

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

Version Go (nécessite Go 1.19+ sur Windows x64) :

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

🛡️ Atténuations et détection

Atténuations Windows

Télécharger l’outil