
Win10Pcap-Treiber ausnutzen, um einige Privilegien in unserem Prozess-Token zu aktivieren (lokale Privilegienausweitung)
Dank an
https://twitter.com/R00tkitSMM ([email protected]) Telegram-Benutzername: https://telegram.me/firozi
Vor einigen Tagen habe ich eine Schwachstelle im Win10Pcap-Treiber gefunden, die zu einer Privilege-Escalation führen kann. Ich habe die Schwachstelle gemeldet und der Fehler ist inzwischen behoben:
Also habe ich beschlossen, einen Beispiel-Exploit zu veröffentlichen.
Win10Pcap ist eine neue WinPcap-basierte Bibliothek zur Ethernet-Paketerfassung. Im Gegensatz zum ursprünglichen WinPcap ist Win10Pcap mit dem NDIS-6.x-Treibermodell kompatibel, um unter Windows 10 stabil zu arbeiten. Win10Pcap unterstützt außerdem das Erfassen von IEEE802.1Q-VLAN-Tags.
Wenn du also Wireshark unter Windows 10 installierst, brauchst du diesen Mist :)
Der Win10Pcap-Kernelmodus-Treiber hat die virtuellen Adressen, die aus dem Benutzermodus übergeben werden, nicht überprüft. Der IOCTL verwendet „Neither Buffered Nor Direct I/O“ (weder gepufferte noch direkte E/A) ohne ProbeForWrite, um die übergebene Adresse zu validieren.
Du musst den genauen Gerätenamen zur Laufzeit ermitteln, um IOCTL zu senden. Ein hartkodierter Gerätename führt nicht zum verwundbaren Code.
Der IOCTL-Handler schreibt eine Zeichenkette an die übergebene Adresse. Die Zeichenkette sieht etwa so aus: "Global\WTCAP_EVENT_3889023063_1"
Es gab viele Möglichkeiten, diese Schwachstelle auszunutzen. Ich habe mich entschieden, Berechtigungen im Prozess-TOKEN zu setzen, indem ich _SEP_TOKEN_PRIVILEGES überschreibe.
Das Überschreiben des Tokens an Adresse 0x034 mit der Zeichenkette "Global\WTCAP_EVENT" kann SeDebugPrivilege setzen, ohne sensible Felder zu beschädigen.
81687cf8 cc int 3
2: kd> dt nt!_TOken
+0x000 TokenSource : _TOKEN_SOURCE
+0x010 TokenId : _LUID
+0x018 AuthenticationId : _LUID
+0x020 ParentTokenId : _LUID
+0x028 ExpirationTime : _LARGE_INTEGER
+0x030 TokenLock : Ptr32 _ERESOURCE
+0x034 ModifiedId : _LUID
+0x040 Privileges : _SEP_TOKEN_PRIVILEGES
+0x058 AuditPolicy : _SEP_AUDIT_POLICY
