Join GitHub today

GitHub is home to over 20 million developers working together to host and review code, manage projects, and build software together.

Sign up

PowerShell

Fetching latest commit…

Cannot retrieve the latest commit at this time.

README.md

This is a PoC script for various methods to acheive authenticated remote code execution via WMI, without (at least directly) using the Win32_Process class. The type of technique is determined by the "Type" parameter.

Parameters

  • Target - Name or IP of target machine
  • Type - The type of technique to use
  • Protocol - Decides between the DCOM and Wsman (WinRM) protocols as the underlying transport. Default is DCOM
  • Name - For techniques creating named objects (services, tasks etc.)
  • Command - Executable to run
  • CommandArgs - Arguments to the executable
  • CleanUp - an optional phase to remove artifacts created by the various techniques
  • Username
  • Password

Supported Techniques

  • DerivedProcess - Creates a class deriving from Win32_Process, and calls the Create method of that class
  • Service - Creates a service and runs it using WMI. Basically PSEXEC with different network traffic
  • Job - Creates an at.exe style scheduled task to run in 30 seconds. Does not work on Win8+, unless at.exe is enabled
  • Task - Creates an schtasks.exe style scheduled task and runs it. Works only on Win8+
  • Product - Runs an arbitrary MSI file from a given path (given by the Command parameter)
  • Provider - Creates a new provider with the command and arguments as the underlying COM object, and loads it