Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
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.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
KDU — Utility per driver kernel di Windows che sfrutta driver firmati vulnerabili (BYOVD) per aggirare DSE, caricare driver non firmati, dirottare processi protetti ed eseguire il dump della memoria dei processi. | Kitploit
Strumenti/GitHubGitHub/hfiref0x/kdu
Strumenti DifensiviEscalation di PrivilegiMeccanismi di PersistenzaAnalisi delle VulnerabilitàExploitReverse EngineeringShellcodeAnalisi MalwareRed TeamingSviluppo PayloadBinary Exploitation
2.8k55257 giorni faRevisionato da Kitploit

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 →
GitHub
hfiref0x/kdu

KDU

Utility per driver kernel di Windows che sfrutta driver firmati vulnerabili (BYOVD) per aggirare DSE, caricare driver non firmati, dirottare processi protetti ed eseguire il dump della memoria dei processi.

Vedi Repository
Condividi

KDU

Build status Visitors

Kernel Driver Utility

Requisiti di sistema

  • Windows 7/8/8.1/10/11 x64;
  • Sono richiesti privilegi amministrativi.

Scopo e funzionalità

Lo scopo di questo strumento è fornire un modo semplice per esplorare il kernel e i componenti di Windows senza richiedere una configurazione complessa o un debugger locale. Include:

  • Hijacking di processi protetti tramite PPL arbitrario o handle di processo arbitrari, entrambi attraverso la modifica dell'oggetto EPROCESS;
  • Overrider del Driver Signature Enforcement (simile a DSEFix);
  • Caricatore di driver per aggirare il Driver Signature Enforcement (simile a TDL/Stryker);
  • Supporto per vari driver vulnerabili utilizzati come "provider" di funzionalità.

Utilizzo

KDU -list
KDU -listcsv
KDU -diag
KDU -prv ProviderID
KDU -ps ProcessID
KDU -pse Commandline
KDU -psw Commandline
KDU -pho ProcessID
KDU -dmp ProcessID
KDU -dse value
KDU -map filename
  • -list - elenca i provider attualmente disponibili;
  • -listcsv [file] - elenca i provider disponibili in formato CSV, opzionalmente scrive su file;
  • -diag - esegue la diagnostica di sistema per la risoluzione dei problemi;
  • -prv - opzionale, seleziona il provider del driver vulnerabile;
  • -ps - modifica l'oggetto processo del ProcessID specificato, abbassando qualsiasi protezione;
  • -pse - avvia il programma come ProtectedProcessLight-AntiMalware (PPL);
  • -psw - avvia il programma come ProtectedProcessLight-WinTcb (PPL);
  • -pho - apre un processo arbitrario con accesso completo
    • -pht - apre anche tutti i thread in questo processo con accesso completo
    • -phc - commandline (processo figlio) per ereditare il flag, predefinito powershell
    • -phe - avvia anche il processo figlio come ppl
  • -dmp - esegue il dump della memoria virtuale del processo specificato;
  • -dse - scrive un valore definito dall'utente nei flag di stato DSE del sistema;
  • -map - mappa il driver nel kernel ed esegue il suo entry point; questo comando ha le dipendenze elencate di seguito;
    • -scv version - opzionale, seleziona la versione dello shellcode, predefinito 1;
    • -drvn name - nome dell'oggetto driver (valido solo per la versione 3 dello shellcode);
    • -drvr name - opzionale, nome della chiave di registro del driver (valido solo per la versione 3 dello shellcode).

Esempio:

  • kdu -ps 1234
  • kdu -map c:\driverless\mysuperhack.sys
  • kdu -dmp 666
  • kdu -prv 1 -ps 1234
  • kdu -prv 1 -map c:\driverless\mysuperhack.sys
  • kdu -prv 6 -scv 3 -drvn DrvObj -map c:\install\e3600bm.sys
  • kdu -prv 6 -scv 3 -drvn edrv -drvr e3600bl -map c:\install\e3600bl.sys
  • kdu -dse 0
  • kdu -dse 6
  • kdu -pse "C:\Windows\System32\notepad.exe C:\TEMP\words.txt"
  • kdu -psw "C:\Windows\System32\cmd.exe"
  • kdu -pho 1234 -pht -phe 3
  • kdu -listcsv "c:\kdu\out.csv"

Eseguito su Windows 11 24H2*

Eseguito su Windows 10 20H2*

Compilato ed eseguito su Windows 8.1*

Eseguito su Windows 7 SP1 completamente aggiornato (versione precompilata)*

Eseguito su Windows 10 19H2 (versione precompilata, SecureBoot abilitato)*

La maggior parte degli screenshot proviene dalla versione 1.0X.

Limitazioni del comando -map

A causa del modo insolito di caricamento che non coinvolge il loader standard del kernel, ma utilizza la sovrascrittura di moduli già caricati con shellcode, esistono alcune limitazioni:

  • I driver caricati DEVONO ESSERE progettati appositamente per funzionare come "driverless";

Ciò significa che non è possibile utilizzare i parametri specificati nel proprio DriverEntry poiché non saranno validi. Significa anche che non è possibile caricare qualsiasi driver ma solo quelli progettati appositamente, oppure è necessario modificare le routine dello shellcode.

  • Nessun supporto SEH per i driver di destinazione;

Non esiste codice SEH in x64. Al suo posto c'è una tabella di regioni try/except/finally descritta da un puntatore nell'header PE. Se si verifica un'eccezione, può causare un BSOD.

  • Nessuno scaricamento del driver;

Il codice mappato non può scaricare se stesso; tuttavia, è possibile rilasciare tutte le risorse allocate dal codice mappato. DRIVER_OBJECT->DriverUnload dovrebbe essere impostato a NULL.

  • Solo l'import di ntoskrnl è risolto, tutto il resto dipende da voi;

Se il vostro progetto necessita di un'altra dipendenza da modulo, dovete riscrivere questa parte del loader.

  • Diverse primitive di Windows sono vietate da PatchGuard all'uso da parte di codice dinamico.

A causa del modo insolito di caricamento, il driver mappato non sarà all'interno di PsLoadedModulesList. Ciò significa che qualsiasi callback registrata da tale codice avrà il suo handler situato in memoria al di fuori di questa lista. PatchGuard potrebbe rilevarlo e causare un crash del sistema.

In generale, se volete sapere cosa non dovreste fare nel kernel, consultate https://github.com/hfiref0x/KDU/tree/master/Source/Examples/BadRkDemo che contiene alcuni esempi di cose proibite.

Nota sulle tracce del kernel

Questo strumento non modifica (e non modificherà in futuro) le strutture interne di Windows MmUnloadedDrivers e/o PiDDBCacheTable. Questo perché:

  • KDU non è progettato per aggirare software di sicurezza di terze parti o vari software dubbi (ad es. anti-cheat);
  • Questi dati possono essere un obiettivo per la protezione PatchGuard nel prossimo aggiornamento principale di Windows 10.

Lo usate a vostro rischio. Alcuni AV pigri potrebbero segnalare questo strumento come hacktool/malware.

Provider supportati

Elenco completo con tutti i metadati disponibili qui:

  • https://github.com/hfiref0x/KDU/blob/master/Help/providers.md

Altri provider potrebbero essere aggiunti in futuro.

Come funziona

Utilizza driver noti come vulnerabili (o wormhole by design) da software legittimo per accedere a memoria arbitraria del kernel con primitive di lettura/scrittura.

A seconda del comando, KDU funzionerà come TDL/DSEFix oppure modificherà gli oggetti processo in modalità kernel (EPROCESS).

In modalità -map, KDU per la maggior parte dei provider disponibili utilizzerà per impostazione predefinita un driver firmato di terze parti da SysInternals Process Explorer e lo dirotterà inserendo un piccolo shellcode loader all'interno della sua routine IRP_MJ_DEVICE_CONTROL.

Versioni dello shellcode

Scarica lo strumento