Skip to content
KitploitKITPLOIT
StrumentiBlog
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-7771 — ThrottleStop.sys Lettura/Scrittura Arbitraria della Memoria Fisica | Kitploit
Strumenti/GitHubGitHub/enessakircolak/cve-2025-7771
Escalation di PrivilegiAnalisi delle VulnerabilitàExploitEvasione IDS/IPSPenetration TestingRed Teaming
GitHubenessakircolak/cve-2025-7771

CVE-2025-7771

ThrottleStop.sys Lettura/Scrittura Arbitraria della Memoria Fisica

Vedi Repository
2371 mese 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-7771 — ThrottleStop.sys Lettura/Scrittura arbitraria della memoria fisica

Proof-of-concept completo per il driver ThrottleStop.sys di TechPowerUp (CVE-2025-7771). Un driver kernel firmato e ancora caricabile espone lettura e scrittura non convalidate della memoria fisica tramite due IOCTL. Questo repository trasforma tale primitiva in una funzionante escalation di privilegi locale da amministratore a SYSTEM e documenta una stranezza nella denominazione del dispositivo che aggira la maggior parte dei rilevamenti basati su percorsi e nomi file.

Un PoC per gli stessi IOCTL esisteva già (vedi Crediti). Questa è una catena di exploit completa e indipendente, non una semplice dimostrazione della primitiva.

Driver interessato

CampoValore
SHA25616F83F056177C4EC24C7E99D01CA9D9D6713BD0497EEEDB777A3FFEFA99C97F0
SHA182ED942A52CDCF120A8919730E00BA37619661A3
MD56BC8E3505D9F51368DDF323ACB6ABC49
Versione3.0.0.0 ("Low-Level Driver", 2004-2020)
FirmatarioTechPowerUp LLC, DigiCert EV Code Signing
Impronta certificato524EDA9C819321C66E22C7BABEB23DAEAFFB2182
Validità certificato2019-08-10 al 2022-06-15

Il certificato è scaduto nel 2022, ma la firma include una controfirma temporale attendibile, quindi Windows lo carica ancora. La revoca aiuta solo se la sua data precede il momento della firma, cosa rara per driver vecchi come questo.

La risorsa della versione non ha CompanyName, OriginalFilename o InternalName, quindi il file non può essere attribuito a un fornitore in base ai propri metadati.

Il bug

Due IOCTL leggono e scrivono la memoria fisica senza alcun controllo di limiti o di validazione dell'indirizzo:

IOCTLOperazione
0x80006498Lettura fisica
0x8000649CScrittura fisica

Entrambi sono METHOD_BUFFERED, quindi non c'è alcun dereferenziamento di puntatori utente; il difetto è la mancata validazione dell'indirizzo fisico fornito dal chiamante, non un puntatore non controllato.

Vale la pena segnalare: il gestore di scrittura 0x8000649C è dichiarato FILE_READ_ACCESS. Un handle aperto in sola lettura può comunque effettuare scritture fisiche, quindi la maschera di accesso dichiarata non corrisponde a ciò che il gestore fa realmente.

Impatto

L'apertura del dispositivo richiede diritti di amministratore, quindi di per sé non è un attraversamento di confine di privilegi. Ciò che offre a un attaccante che è già admin è una lettura/scrittura arbitraria del kernel dalla modalità utente, che vanifica le protezioni che dovrebbero valere al di sopra dell'admin: integrità del codice HVCI, PPL e autoprotezione di EDR/AV. Classico bring-your-own-vulnerable-driver.

Come dimostrazione concreta, il PoC usa la primitiva R/W per rubare il token di SYSTEM e generare una shell SYSTEM.

CVSS 4.0: AV:L/AC:H/AT:N/PR:H/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H (8.7, Alto).

Come funziona l'exploit

Tutto viene eseguito dalla modalità utente tramite gli IOCTL di R/W fisico del driver. Non c'è scorrimento delle tabelle delle pagine e non è coinvolto CR3; entrambi i processi vengono localizzati scansionando direttamente la memoria fisica:

  1. Localizza SYSTEM. Scansiona la memoria fisica alla ricerca di un EPROCESS il cui ImageFileName sia System e il cui UniqueProcessId sia 4. La scansione è limitata agli intervalli di RAM popolati letti dalla chiave di registro HARDWARE\RESOURCEMAP\...\Physical Memory del firmware, non a una finestra ipotizzata, quindi i buchi MMIO non vengono mai toccati e nulla al di sopra della RAM installata viene saltato.
  2. Leggi il token di SYSTEM. Legge il campo Token (EPROC_TOKEN) dall'EPROCESS individuato.
  3. Localizza il nostro processo. Scansiona la memoria fisica allo stesso modo alla ricerca dell'EPROCESS del PoC stesso, confrontando il nome dell'immagine come pattern di 8 byte e confermandolo con il suo PID.
  4. Scambia il token. Scrive il valore del token di SYSTEM nello slot Token del nostro processo. Il token è un _EX_FAST_REF, quindi i bit bassi del conteggio dei riferimenti vengono mascherati di default (--mask seleziona il comportamento).
  5. Provalo. Avvia cmd.exe; restituisce .

Gli offset (EPROC_TOKEN, EPROC_PID, EPROC_IMG_NAME, ecc.) sono relativi a una build specifica e devono essere verificati con dt nt!_EPROCESS sulla versione di Windows di destinazione.

Il nome dell'eseguibile è importante. Il passo 3 localizza il nostro processo confrontando il suo ImageFileName nella memoria fisica, e quel campo è limitato a 15 caratteri con la scansione che confronta i primi 8. Mantieni il nome compilato corto e distintivo; se rinomini il binario, resta entro quel limite o l'auto-scansione non troverà il processo.

Il nome del dispositivo è controllabile dall'attaccante

Il driver non usa un nome di dispositivo fisso. Deriva il nome dell'oggetto dispositivo dal nome del servizio con cui è registrato; il nome del file su disco è irrilevante. Registrando il binario sotto il servizio TRIXX si ottiene \\.\TRIXX qualunque sia il nome del file su disco.

Quindi qualsiasi rilevamento basato su \Device\ThrottleStop o ThrottleStop.sys viene aggirato banalmente. Il rilevamento deve basarsi sull'hash del file o sul certificato di firma:

root@kitploit:~
SHA256:     16F83F056177C4EC24C7E99D01CA9D9D6713BD0497EEEDB777A3FFEFA99C97F0
Thumbprint: 524EDA9C819321C66E22C7BABEB23DAEAFFB2182
Subject:    CN=TechPowerUp LLC, O=TechPowerUp LLC, L=Spokane, S=Washington, C=US

L'elenco DEVICE_NAMES nel sorgente è solo una sonda per installazioni note del prodotto. Passa un nome di dispositivo come argomento per prendere di mira un servizio registrato da te.

Driver TechPowerUp correlati

CVEDriver
CVE-2019-7245GPU-Z.sys
CVE-2025-5324GPU-Z.sys
CVE-2025-7771ThrottleStop.sys (questo repository)

Il driver non è incluso

Il binario non viene fornito qui. Verifica qualsiasi copia con lo SHA256 sopra riportato. Il campione è catalogato in LOLDrivers.

Build

root@kitploit:~
cl /nologo /EHsc /W4 /O2 src\ThrottleStop.cpp /Fe:myLittleLpe.exe /link advapi32.lib

Utilizzo

Solo per uso in laboratorio. Esegui in una VM isolata con uno snapshot a cui tornare.

root@kitploit:~
sc.exe create <name> type= kernel binPath= C:\path\to\ThrottleStop.sys
sc.exe start <name>

myLittleLpe.exe

sc.exe stop <name>
sc.exe delete <name>

Il binario non accetta argomenti. Stampa la mappa della memoria fisica, scansione alla ricerca dell'EPROCESS di SYSTEM e di quello locale, scambia il token e avvia cmd.exe in esecuzione come NT AUTHORITY\SYSTEM.

Demo

Esecuzione di myLittleLpe.exe che mostra la mappa della memoria fisica, la scansione EPROCESS, lo scambio del token e una shell SYSTEM

Altri PoC e lavori precedenti

Altri lavori pubblici sullo stesso driver, per confronto:

  • Demoo1337/ThrottleStop — PoC precedente per gli stessi IOCTL
  • xM0kht4r/CVE-2025-7771 — R/W fisico più VA-to-PA tramite Superfetch
  • AmrHuss/throttlestop-exploit-rw — R/W fisico con traduzione degli indirizzi tramite Superfetch
  • v31l0x1/ThrottleStopPPL — bypass della protezione PPL
  • Yuri08loveElaina/CVE-2025-7771 — un'altra implementazione

Crediti

  • LOLDrivers — catalogazione dei driver vulnerabili

Disclaimer

Pubblicato per ricerca difensiva e ingegneria del rilevamento. La vulnerabilità è già pubblica come CVE-2025-7771. Tutto ciò che è qui contenuto è stato testato su sistemi di proprietà dell'autore. Non eseguire questo strumento contro sistemi che non possiedi o per cui non sei autorizzato a fare test.

Scarica lo strumento
whoami
NT AUTHORITY\SYSTEM