
Mehrzweck-Proof-of-Concept-Tool basiert auf CPU-Z CVE-2017-15303
Beispiel:
Hinweis: Stryker erwartet, dass sich cpuz141.sys und procexp152.sys im selben Verzeichnis wie das Programm selbst befinden.
Sie verwenden es auf eigenes Risiko. Einige träge Antivirenprogramme könnten dieses Tool als Hacktool/Malware einstufen.
Es verwendet den internen Treiber von CPU-Z (https://www.cpuid.com/softwares/cpu-z.html) (Version 1.41 gemäß CVE-2017-15303), um in den physischen Speicher zu lesen/schreiben und CPU-Steuerregister auszulesen.
Je nach Befehl arbeitet Stryker entweder als DSEFix/TDL oder modifiziert Kernel-Mode-Prozessobjekte (EPROCESS).
Im -load-Modus verwendet Stryker einen signierten Drittanbieter-Treiber aus der SysInternals Process Explorer-Software (Treiberversion 1.52), um einen kleinen Loader-Shellcode in dessen IRP_MJ_DEVICE_CONTROL/IRP_MJ_CREATE/IRP_MJ_CLOSE-Handler zu platzieren. Dies geschieht durch Überschreiben des physischen Speichers, in dem sich der Process Explorer-Dispatch-Handler befindet, und Auslösen durch Aufruf des Treiber-IRP_MJ_CREATE (CreateFile-Aufruf). Der ausgelöste Shellcode bildet den eingegebenen Treiber als Code-Puffer in den Kernel-Modus ab und führt ihn aus; die aktuelle IRQL ist PASSIVE_LEVEL.
Mit einer kleinen Modifikation kann der Shellcode auch verwendet werden, um einfach ein kleines Stück eigenen Code im Kernel-Modus auszuführen (in diesem Tool nicht implementiert).
Stryker wird mit vollständigem Quellcode ausgeliefert. Um aus dem Quellcode zu bauen, benötigen Sie Microsoft Visual Studio 2015 U1 und neuere Versionen. Für Treiber-Builds benötigen Sie Microsoft Windows Driver Kit 8.1 und/oder höher.
Es gibt keinen Support außer kritischen Fehlerbehebungen für Stryker selbst. Es gibt absolut KEINERLEI Garantie, dass es funktioniert. Die Verwendung dieses Programms kann Ihren Computer in einen BSOD versetzen. Kompilierte Binärdatei und Quellcode werden WIE BESEHEN in der Hoffnung bereitgestellt, dass sie nützlich sind, ABER OHNE JEGLICHE GEWÄHRLEISTUNG.
JEGLICHE NUTZUNG DER SOFTWARE ERFOLGT VOLLSTÄNDIG AUF EIGENES RISIKO.
F: Kann außer dem Process Explorer-Treiber auch etwas anderes zum Ausführen von Shellcode verwendet werden?
A: Ja, aber Sie müssen den Kandidaten sorgfältig prüfen, um sicherzustellen, dass er Shellcode speichern und ausführen kann.
F: Was ist mit den neuesten Versionen von CPU-Z? Können sie zum Lesen/Schreiben von physischem Speicher und CPU-Steuerregistern verwendet werden?
A: Der CPU-Z-Treiber wurde neu gestaltet, um CVE-2017-15303 zu beheben, und einige Funktionen sind nicht mehr verfügbar. Ältere Versionen von CPU-Z können jedoch die gleiche Funktionalität aufweisen.
F: Gibt es andere ähnliche Treiber mit der gleichen Funktionalität wie CPU-Z?
A: Ja, viele, z.B. WinIO.sys, AsIO64.sys, Asmmap64.sys. Sie bieten alle im Allgemeinen Lese-/Schreibzugriff auf den physischen Speicher auf unterschiedliche Weise (\Device\PhysicalMemory).
F: Funktioniert das auf jeder Windows-Version? Einschließlich noch nicht veröffentlichter?
A: Es wurde auf Windows 7 / 8.1 / 10 bis RS3 getestet. Ein Funktionieren in zukünftigen Versionen ist unwahrscheinlich.
F: Wird die Unterstützung von Windows 10 NEXT oder Windows XX NEXT hinzugefügt?
A: Unwahrscheinlich.
(c) 2018 Stryker Project