GithubHelp home page GithubHelp logo

anthrax3 / stryker-1 Goto Github PK

View Code? Open in Web Editor NEW

This project forked from hfiref0x/stryker

0.0 1.0 0.0 169 KB

Multi-purpose proof-of-concept tool based on CPU-Z CVE-2017-15303

License: BSD 2-Clause "Simplified" License

C 98.70% C++ 0.98% Objective-C 0.32%

stryker-1's Introduction

Stryker

Multi-purpose proof-of-concept tool based on CPU-Z CVE-2017-15303

System Requirements

  • x64 Windows 7/8/8.1/10;
  • Stryker designed only for x64 Windows;
  • Administrative privilege is required.

Features

  • Driver Signature Enforcement Overrider (similar to DSEFIx);
  • Protected Processes Hijacking via Process object modification;
  • Driver loader for bypassing Driver Signature Enforcement (similar to TDL).

Usage

STRYKER -dse on | off
STRYKER -prot ProcessID (ProcessID in decimal form)
STRYKER -load filename
  • -dse - turn off/on Driver Signature Enforcement (similar to DSEFix functionality);
  • -prot - modify process object of given ProcessID;
  • -load - load input file as code buffer to kernel mode and run it (similar to TDL functionality).

Example:

  • stryker -dse off
  • stryker -prot 1188
  • stryker -load c:\driverless\mysuperhack.sys

Note: Stryker expects both cpuz141.sys and procexp152.sys are located in the same directory as program itself.

Limitations of -dse command

  • PatchGuard awareness.

Limitations of -prot command

  • Likely PatchGuard awareness or subject of future PatchGuard awareness.

Limitations of -load command

  • Loaded drivers MUST BE specially designed to run as "driverless".
  • No SEH support for target drivers.
  • No driver unloading.
  • Only ntoskrnl import resolved, everything else is up to you.
  • SysInternals Process Explorer driver as shellcode storage/executor is required.
  • Several Windows primitives are banned by PatchGuard from usage from the pool buffer not inside loaded modules list, e.g. notify routines.

You use it at your own risk. Some lazy AV may flag this tool as hacktool/malware.

How it work

It uses CPU-Z (https://www.cpuid.com/softwares/cpu-z.html) internal driver (version 1.41 as per CVE-2017-15303) to read/write into physical memory and read CPU control registers.

Depending on command Stryker will either work as DSEFix/TDL or modify kernel mode process objects (EPROCESS).

When in -load mode Stryker will use 3rd party signed driver from SysInternals Process Explorer software (driver version 1.52) to place a small loader shellcode inside it IRP_MJ_DEVICE_CONTROL/IRP_MJ_CREATE/IRP_MJ_CLOSE handler. This is done by overwriting physical memory where Process Explorer dispatch handler located and triggering it by calling driver IRP_MJ_CREATE (CreateFile call). Triggered shellcode will map input driver as code buffer to kernel mode and run it, current IRQL will be PASSIVE_LEVEL.

Also with slight modification shellcode can be used to simple execute your small piece of code in the kernel mode (not implemented in this tool).

Build

Stryker comes with full source code. In order to build from source you need Microsoft Visual Studio 2015 U1 and later versions. For driver builds you need Microsoft Windows Driver Kit 8.1 and/or above.

Support and Warranties

There is no support except critical bugfixes for Stryker itself. There is absolutely ZERO warranties of it work. Using this program might render your computer into BSOD. Compiled binary and source code provided AS-IS in help it will be useful BUT WITHOUT WARRANTY OF ANY KIND.

ANY USE OF THE SOFTWARE IS ENTIRELY AT YOUR OWN RISK.

Short answers on possible Frequency Asked Questions

  • Q: Can anything else except Process Explorer driver be used to execute shellcode?

  • A: Yes, but you have to carefully examine candidate to make sure it can store and execute shellcode.

  • Q: What about newest versions of CPU-Z? Can they be used to read/write physical memory, CPU control registers?

  • A: CPU-Z driver was redesigned to address CVE-2017-15303 and some functionality is no longer available. However old versions of CPU-Z may have the same functionality.

  • Q: Are the any other similar drivers with same functionality as CPU-Z?

  • A: Yes, a lot of them, e.g. WinIO.sys, AsIO64.sys, Asmmap64.sys. They all generally provide read/write access to the physical memory in different ways (\Device\PhysicalMemory).

  • Q: Does this work on every Windows version? Including not released yet?

  • A: It was tested on Windows 7 / 8.1 / 10 up to RS3. Working in future versions is unlikely.

  • Q: Will be support of Windows 10 NEXT or Windows XX NEXT added?

  • A: Unlikely.

References

Authors

(c) 2018 Stryker Project

stryker-1's People

Contributors

hfiref0x avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.