
📟 ein winziger Code, der mittels CVE-2023-38817 Lese-/Schreibzugriffe im Kernel-Modus durchführt.

Dieser Code bietet einfach die Möglichkeit, über einen verwundbaren signierten Treiber aus dem Benutzermodus Speicher im Kernelmodus zu lesen / zu schreiben. Er nutzt schlicht MmCopyVirtualMemory, eine undokumentierte, aber eine der gängigsten APIs, im Kernelmodus, sodass du beliebigen Benutzermodus-Speicher lesen / schreiben kannst, ohne dich um den Schutz der jeweiligen Speicherseite kümmern zu müssen. Darüber hinaus besitzt er eine Funktion, um als zusätzliches Hilfsmittel einen Prozess-Handle zur angegebenen PID zu erhalten. Da die Handle-Erstellung im Kernelmodus erfolgt, greifen die Standard-Zugriffsprüfungen und Callbacks meiner Meinung nach nicht ein.
Dieses Projekt wurde zu Studienzwecken erstellt, und es wird nicht empfohlen, es außerhalb einer virtuellen Maschine zu verwenden.
Ich habe gesehen, dass dieser spezifische Treiber im uc-Forum eine Privilege-Escalation-Schwachstelle aufweist. Also habe ich begonnen, den Treiber selbst zu reversen, und tatsächlich besitzt der Treiber keine Zugriffskontrolle über seine mächtigen ioctls.
Dieses Projekt nutzt die Schwachstelle, die als CVE-2023-38817 gemeldet wurde. https://www.loldrivers.io/drivers/afb8bb46-1d13-407d-9866-1daa7c82ca63/
Da ich zu faul war, es ordentlich umzusetzen, musst du einfach alles einbinden und kompilieren. Alle Funktionalitäten sind in der Klasse kur_t gekapselt.
https://github.com/pseuxide/kur/blob/cd3da42b8a146af3ca83d5f95970b030bd55585f/kur/kur.h#L5-L14