Skip to content
KitploitKITPLOIT
StrumentiBlog
Log in
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2025-54110-Kernel-EoP-PoC — Data del progetto : Ottobre 2025 / Implementazione PoC per CVE-2025-54110 una vulnerabilità di overflow di interi a livello kernel nella chiamata di sistema Windows `NtQueryDirectoryObject`. | Kitploit
Strumenti/GitHubGitHub/canomer/cve-2025-54110-kernel-eop-poc
Analisi delle VulnerabilitàExploitReverse EngineeringPaper e RicercaApprendimento e FormazioneBinary Exploitation
GitHubcanomer/cve-2025-54110-kernel-eop-poc

CVE-2025-54110-Kernel-EoP-PoC

Data del progetto : Ottobre 2025 / Implementazione PoC per CVE-2025-54110 una vulnerabilità di overflow di interi a livello kernel nella chiamata di sistema Windows `NtQueryDirectoryObject`.

Vedi Repository
111124 mesi faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

CVE-2025-54110-Kernel-EoP-PoC

Implementazione del PoC per CVE-2025-54110, una vulnerabilità di overflow di interi a livello kernel nella chiamata di sistema Windows NtQueryDirectoryObject.

CVE-2025-54110 - Analisi dell'overflow di interi del kernel Windows

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

Questo repository contiene un PoC solo crash per la vulnerabilità di EoP del kernel CVE-2025-54110, sviluppato esclusivamente per ricerca sulla sicurezza, reverse engineering e ricerca sullo sviluppo di exploit. Questo codice è inteso per dimostrare tecniche di ricerca sulle vulnerabilità tra cui:

  • Binary diffing con Ghidra Version Tracking
  • Analisi del Patch Tuesday di Windows
  • Metodologie di ricerca sulle vulnerabilità del kernel
  • Analisi del comportamento della gestione strutturata delle eccezioni (SEH)

Questo PoC NON raggiunge l'escalation dei privilegi o un BSOD affidabile. È progettato per attivare in modo sicuro violazioni di accesso che vengono intercettate dalle protezioni del kernel di Windows.


Panoramica

CVE-2025-54110: Vulnerabilità EoP del kernel Windows

Data di pubblicazione: Settembre 2025 (Patch di sicurezza del Tuesday di Windows)

ProprietàValore
CWECWE-190: Integer Overflow o Wraparound
Punteggio CVSS 3.18.8 (Alto) / 7.7 (Temporale)
Stringa del vettoreCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H/E:U/RL:O/RC:C
Vettore di attaccoLocale
Complessità dell'attaccoBassa
Privilegi richiestiBassi
Interazione dell'utenteNessuna
AmbitoModificato
RiservatezzaAlta
IntegritàAlta
DisponibilitàAlta
Maturità dell'exploitNon provata

Riepilogo esecutivo

Una vulnerabilità di overflow di interi nel kernel Windows consente a un utente malintenzionato autenticato di potenzialmente elevare i privilegi localmente. Secondo l'avviso di Microsoft:

"Un utente malintenzionato potrebbe sfruttare questa vulnerabilità inviando input appositamente progettati da un processo in modalità utente in sandbox per attivare un overflow di interi, con conseguente overflow del buffer nel kernel e consentendo l'escalation dei privilegi o la fuga dalla sandbox."

Impatto potenziale

  • Un utente malintenzionato riuscito potrebbe ottenere privilegi di SYSTEM
  • Escape dalla sandbox da processi limitati in modalità utente
  • Corruzione della memoria del kernel che porta all'esecuzione di codice

Valutazione della sfruttabilità

  • Divulgato pubblicamente: No
  • Sfruttato in natura: No
  • Valutazione Microsoft: Sfruttamento più probabile

Metodologia di ricerca

1. Flusso di lavoro dell'analisi delle patch```

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. File Analizzati

L'analisi iniziale si è concentrata su due componenti principali del kernel:

#### win32k.sys (-)
- **Risultato:** Nessuna modifica significativa rilevata
- **Intervallo di Punteggio:** 0.97-1.0 (alta similarità)
- **Conclusione:** Non è il componente vulnerabile per CVE-2025-54110

#### ntoskrnl.exe (+)
- **Risultato:** Multiple funzioni con modifiche significative
- **Intervallo di Punteggio:** Funzioni con punteggi ≤0.951
- **Differenze di Lunghezza:** Rilevate variazioni di lunghezza in byte tra Source e Destinazione
- **Totale Elementi Esportati:** 2,036 funzioni per l'analisi

### 3. Risultati del Tracciamento delle Versioni con Ghidra

Campione delle modifiche identificate in `ntoskrnl.exe`:

| Punteggio | Confidenza | Lunghezza Source | Lunghezza Dest | Funzione Source | Funzione 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 |

---

## Dichiarazione PoC

### Approccio Tecnico

Il PoC (`precise_overflow_bsod.c`) tenta di innescare la vulnerabilità di integer overflow tramite:

1. **Calcolo Preciso della Soglia:** `0xfffffdbc` (derivato da base=0x20, name=0x200)
2. **API NtQueryDirectoryObject:** Funzione target per innescare l'overflow
3. **Strategia di Attacco a Fasi Multiple:**
   - Fase 1: Tentativi di integer overflow di precisione
   - Fase 2: Bersaglio sulla memoria del kernel
   - Fase 3: Sfruttamento multi-thread

### Struttura del Codice```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
};

Vettori di sfruttamento testati```

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

---

## Perché il PoC non causa il crash del sistema

### Risultati effettivi

Il PoC restituisce costantemente `STATUS_ACCESS_VIOLATION (0xC0000005)` senza causare un Blue Screen of Death (BSOD). Questo è **voluto** e dimostra diversi meccanismi critici di sicurezza del kernel di Windows:

### 1. Structured Exception Handling (SEH)```
User-Mode Input → NtQueryDirectoryObject
                        ↓
                  ProbeForRead/Write
                        ↓
                  __try { ... }
                        ↓
              Access Violation Detected
                        ↓
                  __except { ... }
                        ↓
            Return STATUS_ACCESS_VIOLATION

Perché funziona:

  • Le syscall del kernel Windows avvolgono l'accesso ai puntatori in modalità utente in gestori di eccezioni
  • Gli accessi a memoria non validi vengono catturati anziché propagati
  • Il sistema restituisce un codice di errore al chiamante invece di crashare

2. SMAP (Supervisor Mode Access Prevention)

Funzione moderna della CPU che impedisce alla modalità kernel (Ring 0) di accedere alla memoria in modalità utente (Ring 3) senza autorizzazione esplicita:``` 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

**Impatto sul PoC:**
- Anche se si verifica un overflow, l'accesso diretto alla memoria dal kernel all'utente è bloccato
- Impedisce lo sfruttamento delle vulnerabilità di dereferenziazione dei puntatori
Scarica lo strumento