
Outil de preuve de concept polyvalent basé sur CPU-Z CVE-2017-15303
Exemple :
Remarque : Stryker s'attend à ce que cpuz141.sys et procexp152.sys se trouvent dans le même répertoire que le programme lui-même.
Vous l'utilisez à vos risques et périls. Certains antivirus paresseux peuvent signaler cet outil comme hacktool/malware.
Il utilise le pilote interne de CPU-Z (https://www.cpuid.com/softwares/cpu-z.html) (version 1.41 selon CVE-2017-15303) pour lire/écrire dans la mémoire physique et lire les registres de contrôle du CPU.
Selon la commande, Stryker fonctionnera soit comme DSEFix/TDL, soit modifiera les objets processus en mode noyau (EPROCESS).
En mode -load, Stryker utilisera un pilote signé tiers du logiciel SysInternals Process Explorer (version de pilote 1.52) pour placer un petit shellcode chargeur dans son gestionnaire IRP_MJ_DEVICE_CONTROL/IRP_MJ_CREATE/IRP_MJ_CLOSE. Cela se fait en écrasant la mémoire physique où se trouve le gestionnaire de répartition de Process Explorer et en le déclenchant en appelant le pilote IRP_MJ_CREATE (appel CreateFile). Le shellcode déclenché mappera le pilote d'entrée comme tampon de code en mode noyau et l'exécutera, l'IRQL courant sera PASSIVE_LEVEL.
Aussi, avec une légère modification, le shellcode peut être utilisé pour exécuter simplement votre petit morceau de code en mode noyau (non implémenté dans cet outil).
Stryker est fourni avec le code source complet.
Pour compiler à partir du code source, vous avez besoin de Microsoft Visual Studio 2015 U1 et versions ultérieures. Pour les compilations de pilotes, vous avez besoin du Microsoft Windows Driver Kit 8.1 et/ou supérieur.
Il n'y a aucun support à part les corrections de bugs critiques pour Stryker lui-même. Il n'y a absolument AUCUNE garantie de son fonctionnement.
L'utilisation de ce programme pourrait transformer votre ordinateur en écran bleu (BSOD). Le binaire compilé et le code source sont fournis EN L'ÉTAT dans l'espoir qu'ils seront utiles, MAIS SANS AUCUNE GARANTIE D'AUCUNE SORTE.
TOUTE UTILISATION DU LOGICIEL SE FAIT ENTIÈREMENT À VOS RISQUES.
Q : N'importe quoi d'autre que le pilote Process Explorer peut-il être utilisé pour exécuter le shellcode ?
R : Oui, mais vous devez examiner attentivement le candidat pour vous assurer qu'il peut stocker et exécuter le shellcode.
Q : Qu'en est-il des versions les plus récentes de CPU-Z ? Peuvent-elles être utilisées pour lire/écrire la mémoire physique, les registres de contrôle du CPU ?
R : Le pilote CPU-Z a été repensé pour corriger CVE-2017-15303 et certaines fonctionnalités ne sont plus disponibles. Cependant, les anciennes versions de CPU-Z peuvent avoir les mêmes fonctionnalités.
Q : Existe-t-il d'autres pilotes similaires avec les mêmes fonctionnalités que CPU-Z ?
R : Oui, beaucoup, par exemple WinIO.sys, AsIO64.sys, Asmmap64.sys. Ils fournissent généralement un accès en lecture/écriture à la mémoire physique de différentes manières (\Device\PhysicalMemory).
Q : Cela fonctionne-t-il sur toutes les versions de Windows ? Y compris celles non encore publiées ?
R : Il a été testé sur Windows 7 / 8.1 / 10 jusqu'à RS3. Il est peu probable qu'il fonctionne sur les versions futures.
Q : Le support de Windows 10 NEXT ou Windows XX NEXT sera-t-il ajouté ?
R : Peu probable.
(c) 2018 Projet Stryker