
Ehemaliger 0day-Exploit aus dem Hacking-Team-Leak, geschrieben von Eugene Ching/Qavar.
Dies ist ein Exploit für CVE-2015-2426 (MS-078), ein 0day-Exploit zur lokalen Privilegieneskalation im Windows-Kernel aus dem Hacking-Team-Archiv (E-Mail hier). Er wurde von Eugene Ching / Qavar security entwickelt. Nachfolgend die Originalinhalte:
Windows-Kernel-Speicherkorruptions-Exploit, der zur Privilegieneskalation führt.
Getestet auf vollständig gepatchtem Windows 8.1 (Stand: 28. Jan. 2015).
Außerdem getestet gegen:
vorausgesetzt, ein geeignetes RCE in Chrome (simuliert durch Injizieren eines Threads in Chrome)
Der Hauptexploit ist in PIC.c implementiert, das als Teil einer
Visual-Studio-2013-Express-Projektmappe bereitgestellt wird.
Das Erstellen der Projektmappe erzeugt PIC.exe.
Wir wollen den Exploit letztendlich in den Speicher des Ziels injizieren und direkt ausführen. Dazu müssen wir nur die relevanten Anweisungen (Opcodes) und die notwendigen Daten injizieren.
Daher extrahieren wir das Codesegment (die Opcodes) aus PIC.exe und fügen die
notwendigen Daten (die fehlerhafte Schriftart, font-data.bin) zu einer Sequenz von Bytes hinzu.
Dies erzeugt die "Rohbytes", die wir direkt in das Ziel injizieren und
mit CreateRemoteThread() aufrufen können.
Dieser Prozess wird durch das Python-Skript make-raw-bytes.py automatisiert.
Die Ausgabe ist raw-bytes.bin.
Um die "Rohbytes" in eine .exe umzuwandeln, die die "Rohbytes" tatsächlich
in ein Ziel injiziert, müssen wir WriteProcessMemory() & CreateRemoteThread() aufrufen.
Dieser Prozess wird von make-injector-cpp.py übernommen. Die Ausgabe ist
injector.cpp, ein Codestück, das beim Kompilieren eine Ziel-PID
entgegennimmt und den Exploit ausführt.
Der Einfachheit halber erzeugt make.bat injector.exe direkt, indem es
die oben beschriebenen Schritte ausführt.
Mit anderen Worten, make.bat wird Folgendes tun: