Skip to content
KitploitKITPLOIT
OutilsBlog
Log in
Soumettre
OutilsBlog
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-54110-Kernel-EoP-PoC — Date du projet : oct. 2025 / implémentation de PoC pour CVE-2025-54110, une vulnérabilité de débordement d'entier au niveau du noyau dans l'appel système Windows `NtQueryDirectoryObject`. | Kitploit
Outils/GitHubGitHub/canomer/cve-2025-54110-kernel-eop-poc
Analyse des VulnérabilitésExploitationRétro-ingénierieArticles et RechercheApprentissage et ÉducationExploitation de Binaires
GitHubcanomer/cve-2025-54110-kernel-eop-poc

CVE-2025-54110-Kernel-EoP-PoC

Date du projet : oct. 2025 / implémentation de PoC pour CVE-2025-54110, une vulnérabilité de débordement d'entier au niveau du noyau dans l'appel système Windows `NtQueryDirectoryObject`.

Voir le dépôt
11112il y a 4 moisPas encore vérifié

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 →
Partager

CVE-2025-54110-Kernel-EoP-PoC

Implémentation PoC pour CVE-2025-54110, une vulnérabilité de débordement d'entier au niveau du noyau dans l'appel système Windows NtQueryDirectoryObject.

CVE-2025-54110 - Analyse du débordement d'entier du noyau Windows

CVE : https://msrc.microsoft.com/update-guide/vulnerability/CVE-2025-54110

Ce dépôt contient un PoC crash-only pour la vulnérabilité EoP du noyau CVE-2025-54110, développé uniquement à des fins de recherche en sécurité, rétro-ingénierie et recherche en développement d'exploits. Ce code est destiné à montrer des techniques de recherche de vulnérabilités, notamment :

  • Diffing binaire avec le suivi de version Ghidra
  • Analyse du Patch Tuesday de Windows
  • Méthodologies de recherche de vulnérabilités du noyau
  • Analyse du comportement de la gestion structurée des exceptions (SEH)

Ce PoC n'atteint PAS l'élévation de privilèges ni un BSOD fiable. Il est conçu pour déclencher en toute sécurité des violations d'accès qui sont interceptées par les protections du noyau Windows.


Aperçu

CVE-2025-54110 : Vulnérabilité EoP du noyau Windows

Date de publication : Septembre 2025 (correctif de sécurité du Patch Tuesday de Windows)

PropriétéValeur
CWECWE-190 : Débordement d'entier ou enroulement
Score CVSS 3.18.8 (Élevé) / 7.7 (Temporel)
Chaîne vectorielleCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H/E:U/RL:O/RC:C
Vecteur d'attaqueLocal
Complexité d'attaqueFaible
Privilèges requisFaibles
Interaction utilisateurAucune
PortéeModifiée
ConfidentialitéÉlevée
IntégritéÉlevée
DisponibilitéÉlevée
Maturité de l'exploitNon prouvée

Résumé exécutif

Une vulnérabilité de débordement d'entier dans le noyau Windows permet à un attaquant authentifié d'élever potentiellement ses privilèges localement. Selon l'avis de Microsoft :

"Un attaquant pourrait exploiter cette vulnérabilité en envoyant une entrée spécialement conçue depuis un processus en mode utilisateur en bac à sable pour déclencher un débordement d'entier, entraînant un débordement de tampon dans le noyau et permettant une élévation de privilèges ou une évasion du bac à sable."

Impact potentiel

  • Un attaquant pourrait obtenir les privilèges SYSTEM
  • Évasion du bac à sable depuis des processus en mode utilisateur restreints
  • Corruption de la mémoire du noyau menant à l'exécution de code

Évaluation de l'exploitabilité

  • Divulgué publiquement : Non
  • Exploité dans la nature : Non
  • Évaluation Microsoft : Exploitation plus probable

Méthodologie de recherche

1. Flux de travail d'analyse des correctifs```

Windows Update Files from Aug 2025 & Sep 2025 (KB.msu) ↓ Extract CAB Files ↓ Calculate SHA-256 Hashes (August vs September) ↓ Identify Changed Files ↓ Ghidra Version Tracking Analysis ↓ Setting Symbol Servers to Clarify Function Names ↓ Function-Level Diff Comparison

### 2. Fichiers analysés

L'analyse initiale s'est concentrée sur deux composants principaux du noyau :

#### win32k.sys (-)
- **Résultat :** Aucun changement significatif détecté
- **Plage de score :** 0.97-1.0 (haute similarité)
- **Conclusion :** Pas le composant vulnérable pour CVE-2025-54110

#### ntoskrnl.exe (+)
- **Résultat :** Plusieurs fonctions avec des changements significatifs
- **Plage de score :** Fonctions avec scores ≤0.951
- **Différences de longueur :** Variations de longueur en octets entre source et destination détectées
- **Nombre total d'éléments exportés :** 2 036 fonctions pour analyse

### 3. Résultats de suivi de version Ghidra

Exemple de changements identifiés dans `ntoskrnl.exe` :

| Score | Confiance | Longueur source | Longueur dest | Fonction source | Fonction dest |
|-------|-----------|-----------------|---------------|-----------------|---------------|
| 0.951 | 2.618 | 1023 | 365 | FUN_1403146d0 | FUN_1403a4ea0 |
| 0.950 | 2.285 | 113 | 203 | FUN_140680810 | FUN_1406d952c |
| 0.950 | 3.137 | 782 | 1050 | FUN_14032106c | FUN_140303a38 |
| 0.951 | 2.675 | 141 | 171 | FUN_140407bd0 | FUN_140a172a0 |
| 0.951 | 2.660 | 346 | 150 | FUN_140610e60 | FUN_1406115d4 |

---

## Déclaration de PoC

### Approche technique

Le PoC (`precise_overflow_bsod.c`) tente de déclencher la vulnérabilité de débordement d'entier via :

1. **Calcul précis du seuil :** `0xfffffdbc` (dérivé de base=0x20, name=0x200)
2. **API NtQueryDirectoryObject :** Fonction cible pour déclencher le débordement
3. **Stratégie d'attaque en plusieurs phases :**
   - Phase 1 : Tentatives de débordement d'entier de précision
   - Phase 2 : Ciblage de la mémoire du noyau
   - Phase 3 : Exploitation multi-thread

### Structure du code```c
// Key threshold values calculated for overflow
ULONG precise_thresholds[] = {
    0xfffffdbc,  // Precise threshold - base=0x20, name=0x200
    0xfffffdbb,  // Threshold - 1
    0xfffffdbd,  // Threshold + 1
    0xfffffdba,  // Threshold - 2  
    0xfffffdbe,  // Threshold + 2
};

// Buffer configurations to test edge cases
PVOID buffer_types[] = {
    VirtualAlloc(NULL, 0x1000, MEM_COMMIT, PAGE_READWRITE),  // Normal buffer
    VirtualAlloc(NULL, 0x10, MEM_COMMIT, PAGE_READWRITE),    // Small buffer
    NULL,                                                    // NULL pointer
    (PVOID)0x4141414141414141,                              // Invalid pointer
    (PVOID)0x0000000000000000,                              // Zero address
};

Vecteurs d'exploitation testés```

NtQueryDirectoryObject() Parameters: ├── DirectoryHandle: \BaseNamedObjects, \KernelObjects, etc. ├── Buffer: Various pointer configurations ├── BufferLength: Calculated overflow thresholds (0xfffffdbc variants) ├── ReturnSingleEntry: TRUE/FALSE variations ├── RestartScan: TRUE/FALSE variations └── Context: Controlled iteration state

---

## Pourquoi le PoC ne fait pas planter le système

### Résultats réels

Le PoC retourne systématiquement `STATUS_ACCESS_VIOLATION (0xC0000005)` sans provoquer un écran bleu de la mort (BSOD). Cela est **voulu** et démontre plusieurs mécanismes critiques de sécurité du noyau Windows :

### 1. Gestion structurée des exceptions (SEH)```
User-Mode Input → NtQueryDirectoryObject
                        ↓
                  ProbeForRead/Write
                        ↓
                  __try { ... }
                        ↓
              Access Violation Detected
                        ↓
                  __except { ... }
                        ↓
            Return STATUS_ACCESS_VIOLATION

Pourquoi ça fonctionne :

  • Les appels système du noyau Windows encapsulent l'accès aux pointeurs en mode utilisateur dans des gestionnaires d'exceptions
  • Les accès mémoire invalides sont interceptés plutôt que de se propager
  • Le système retourne un code d'erreur à l'appelant au lieu de planter

2. SMAP (Supervisor Mode Access Prevention)

Fonctionnalité CPU moderne qui empêche le mode noyau (Ring 0) d'accéder à la mémoire en mode utilisateur (Ring 3) sans autorisation explicite :``` Kernel attempts to access user pointer ↓ SMAP checks permission (STAC/CLAC instructions) ↓ Unauthorized access detected ↓ CPU generates #PF (Page Fault) ↓ Caught by kernel exception handler

**Impact sur le PoC :**
- Même si un débordement se produit, l'accès direct à la mémoire du noyau depuis l'espace utilisateur est bloqué
- Empêche l'exploitation des vulnérabilités de déréférencement de pointeur
Télécharger l’outil