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-2021-38304-PoC — CVE-2021-38304 Prova di concetto | Kitploit
Strumenti/GitHubGitHub/philsajdak/cve-2021-38304-poc
Memory ForensicsAnalisi delle VulnerabilitàExploitApprendimento e FormazioneBinary Exploitation
GitHubphilsajdak/cve-2021-38304-poc

CVE-2021-38304-PoC

CVE-2021-38304 Prova di concetto

Vedi Repository
41 anno 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-2021-38304 Prova di concetto

Panoramica

Questa repository contiene una prova di concetto per una vulnerabilità di sicurezza critica nelle versioni precedenti del driver nipalk.sys di National Instruments. La vulnerabilità consente l'esecuzione arbitraria di codice e la divulgazione di memoria in modalità kernel. È intesa esclusivamente per ricerca personale.

Descrizione

Il driver nipalk.sys gestisce in modo improprio i puntatori forniti dall'utente durante l'elaborazione di una specifica richiesta IOCTL. Questa falla consente a un attaccante di fornire un puntatore a funzione che il driver chiamerà nel contesto del kernel con parametri controllati.

Punti chiave

  • Controllo del puntatore a funzione: Il driver chiama un puntatore a funzione fornito dall'utente senza una corretta validazione.
  • Controllo dei parametri: L'attaccante può controllare i registri RCX e RDX durante la chiamata di funzione.
  • Divulgazione di memoria: Chiamando funzioni come RtlCopyMemory, un attaccante può leggere memoria arbitraria del kernel.
  • Denial of Service (DoS): Passare un puntatore a funzione non valido causa un crash di sistema a causa della mancanza di validazione dell'input da parte del driver.

Causa principale

La vulnerabilità deriva dalla mancata validazione da parte del driver dei puntatori forniti dalle applicazioni in modalità utente. Durante l'elaborazione dell'IOCTL 0xABCD03C4, il driver recupera un puntatore a funzione da una struttura controllata dall'utente e lo invoca senza controlli adeguati:

root@kitploit:~
0045561e 48 8b 01        MOV        RAX,qword ptr [param_1]
00455621 49 8b 52 18     MOV        irp,qword ptr [R10 + 0x18]
00455625 ff 50 08        CALL       qword ptr [RAX + 0x8]
  • Il puntatore a funzione all'indirizzo [RAX + 8] viene eseguito nel contesto del kernel.
  • I parametri RCX e RDX sono controllati dall'utente.

Esempio di output

  • Leak di memoria riuscito:
root@kitploit:~
[+] Starting exploit
[+] Memory allocated
[+] Values before IOCTL:
   exploit->dummy: 00000000001b0000
   exploit->function_pointer: fffff8017ea21300
[+] Device opened successfully
[+] Sending IOCTL
[+] Values after IOCTL:
   exploit->dummy: 7208f88349c18b48
   exploit->function_pointer: ffff7710f8834937
[+] DeviceIoControl succeeded. Bytes returned: 8
[+] Buffer Output: 1769472
[!] WARNING: exploit->dummy has changed!
[!] WARNING: exploit->function_pointer has changed!
[+] Exploit finished

Dichiarazione di non responsabilità

Questa PoC è intesa esclusivamente a scopo educativo.

Scarica lo strumento