
lettura/scrittura arbitraria del kernel in dbutil_2_3.sys, Prova di Concetto di Escalation dei Privilegi Locali a nt authority/system
Semplice PoC per sfruttare CVE-2021-21551 per LPE tramite l'avvio del cmd di sistema.
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-21551
È stato scoperto un problema nel driver Windows firmato Dell (dbutil_2_3.sys) che può portare al compromesso dell'intero sistema locale. La routine di dispatch IOCTL del driver manca della validazione del buffer fornito dall'utente.
Chiunque può creare un handle e inviare richieste IOCTL a questi codici IOCTL che violano il modello di sicurezza di Windows:
Questo PoC sfrutta i codici IOCTL 0x9b0c1ec4/0x9b0c1ec8 rispettivamente per la lettura/scrittura arbitraria della memoria del kernel. Innanzitutto individua PsInitialSystemProcess nel kernel per ottenere il token di sistema e poi scrive questo token nella struttura EPROCESS del processo corrente. Prima di compilare, aggiorna i tuoi offset di EPROCESS per evitare BSOD utilizzando https://www.vergiliusproject.com/
DWORD EPROCESS_ActiveProcessLinks = 0x2e8;
DWORD EPROCESS_Token = 0x348;
Usa Visual Studio per compilare (richiede l'header di Windows). Header SDK Ntdll: https://github.com/mathisvickie/segy-software/blob/main/external/ntdll.h
Testato su:
Un exploit riuscito avvierà il cmd di sistema. Se ottieni un bugcheck PAGE_FAULT_IN_NONPAGED_AREA, probabilmente gli offset non sono corretti. Output di esempio:
