
Ferramenta multiuso de prova de conceito baseada em CPU-Z CVE-2017-15303
Exemplo:
Nota: Stryker espera que tanto cpuz141.sys quanto procexp152.sys estejam localizados no mesmo diretório que o próprio programa.
Você o usa por sua própria conta e risco. Alguns AVs preguiçosos podem marcar esta ferramenta como hacktool/malware.
Ele usa o driver interno do CPU-Z (https://www.cpuid.com/softwares/cpu-z.html) (versão 1.41 conforme CVE-2017-15303) para ler/escrever na memória física e ler os registradores de controle da CPU.
Dependendo do comando, o Stryker funcionará como DSEFix/TDL ou modificará objetos de processo em modo kernel (EPROCESS).
Quando no modo -load, o Stryker usará um driver assinado de terceiros do software SysInternals Process Explorer (versão do driver 1.52) para colocar um pequeno shellcode carregador dentro do seu manipulador IRP_MJ_DEVICE_CONTROL/IRP_MJ_CREATE/IRP_MJ_CLOSE. Isso é feito sobrescrevendo a memória física onde o manipulador de despacho do Process Explorer está localizado e acionando-o chamando o IRP_MJ_CREATE do driver (chamada CreateFile). O shellcode acionado mapeará o driver de entrada como buffer de código para modo kernel e o executará, o IRQL atual será PASSIVE_LEVEL. Além disso, com uma pequena modificação, o shellcode pode ser usado para simplesmente executar seu pequeno pedaço de código no modo kernel (não implementado nesta ferramenta).
Stryker vem com código fonte completo. Para compilar a partir do código fonte, você precisa do Microsoft Visual Studio 2015 U1 e versões posteriores. Para compilações de driver, você precisa do Microsoft Windows Driver Kit 8.1 e/ou superior.
Não há suporte, exceto correções críticas de bugs para o próprio Stryker. Não há absolutamente ZERO garantias de que funcione. Usar este programa pode levar seu computador a uma BSOD. O binário compilado e o código fonte são fornecidos COMO ESTÃO, na esperança de que sejam úteis, MAS SEM GARANTIA DE QUALQUER TIPO.
QUALQUER USO DO SOFTWARE É INTEIRAMENTE POR SUA CONTA E RISCO.
P: Qualquer outra coisa além do driver do Process Explorer pode ser usada para executar shellcode?
R: Sim, mas você precisa examinar cuidadosamente o candidato para garantir que ele possa armazenar e executar shellcode.
P: E as versões mais recentes do CPU-Z? Elas podem ser usadas para ler/escrever memória física, registradores de controle da CPU?
R: O driver do CPU-Z foi redesenhado para lidar com CVE-2017-15303 e algumas funcionalidades não estão mais disponíveis. No entanto, versões antigas do CPU-Z podem ter a mesma funcionalidade.
P: Existem outros drivers similares com a mesma funcionalidade do CPU-Z?
R: Sim, muitos deles, por exemplo WinIO.sys, AsIO64.sys, Asmmap64.sys. Todos geralmente fornecem acesso de leitura/escrita à memória física de diferentes maneiras (\Device\PhysicalMemory).
P: Isso funciona em todas as versões do Windows? Incluindo as ainda não lançadas?
R: Foi testado no Windows 7 / 8.1 / 10 até RS3. É improvável que funcione em versões futuras.
P: Será adicionado suporte para Windows 10 NEXT ou Windows XX NEXT?
R: Improvável.
(c) 2018 Stryker Project