
beliebiges Kernel-Lesen/-Schreiben in dbutil_2_3.sys, Proof of Concept für lokale Privilegienausweitung zu nt authority/system
Einfacher PoC zur Ausnutzung von CVE-2021-21551 für LPE durch Starten von system cmd.
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-21551
Es wurde ein Problem im signierten Dell-Windows-Treiber (dbutil_2_3.sys) entdeckt, das zur Kompromittierung des gesamten lokalen Systems führen kann. Die ioctl-Dispatch-Routine des Treibers hat keine Validierung des vom Benutzer bereitgestellten Puffers.
Jeder kann ein Handle erstellen und ioctl-Anforderungen an diese ioctl-Codes senden, die das Windows-Sicherheitsmodell durchbrechen:
Dieser PoC nutzt die ioctl-Codes 0x9b0c1ec4/0x9b0c1ec8 für beliebigen Kernel-Speicher lesen/schreiben. Zuerst wird PsInitialSystemProcess im Kernel lokalisiert, um das System-Token zu erhalten, und dann wird dieses Token in die EPROCESS-Struktur des aktuellen Prozesses geschrieben. Vor dem Compilieren aktualisieren Sie Ihre EPROCESS-Offsets mit https://www.vergiliusproject.com/, um einen BSOD zu vermeiden.
DWORD EPROCESS_ActiveProcessLinks = 0x2e8;
DWORD EPROCESS_Token = 0x348;
Verwenden Sie Visual Studio zum Compilieren (benötigt Windows-Header). Ntdll SDK Header: https://github.com/mathisvickie/segy-software/blob/main/external/ntdll.h
Getestet auf:
Ein erfolgreicher Exploit startet system cmd. Wenn Sie einen Bugcheck PAGE_FAULT_IN_NONPAGED_AREA erhalten, sind die Offsets wahrscheinlich falsch. Beispielausgabe:
