Skip to content
Atomic Red Team
atomics
T1021.006

T1021.006 - Remote Services: Windows Remote Management

Description from ATT&CK (opens in a new tab)

Adversaries may use Valid Accounts (opens in a new tab) to interact with remote systems using Windows Remote Management (WinRM). The adversary may then perform actions as the logged-on user.

WinRM is the name of both a Windows service and a protocol that allows a user to interact with a remote system (e.g., run an executable, modify the Registry, modify services).(Citation: Microsoft WinRM) It may be called with the winrm command or by any number of programs such as PowerShell.(Citation: Jacobsen 2014) WinRM can be used as a method of remotely interacting with Windows Management Instrumentation (opens in a new tab).(Citation: MSDN WMI)

Atomic Tests


Atomic Test #1 - Enable Windows Remote Management

Powershell Enable WinRM

Upon successful execution, powershell will "Enable-PSRemoting" allowing for remote PS access.

Supported Platforms: Windows

auto_generated_guid: 9059e8de-3d7d-4954-a322-46161880b9cf

Attack Commands: Run with powershell! Elevation Required (e.g. root or admin)

Enable-PSRemoting -Force


Atomic Test #2 - Remote Code Execution with PS Credentials Using Invoke-Command

Simulate lateral movement with PowerShell Remoting on the local host. Upon successful execution, PowerShell will execute whoami using Invoke-Command, targeting the local machine as remote target.

Supported Platforms: Windows

auto_generated_guid: 5295bd61-bd7e-4744-9d52-85962a4cf2d6

Attack Commands: Run with powershell!

Enable-PSRemoting -Force
Invoke-Command -ComputerName $env:COMPUTERNAME -ScriptBlock {whoami}

Cleanup Commands:

Disable-PSRemoting -Force


Atomic Test #3 - WinRM Access with Evil-WinRM

An adversary may attempt to use Evil-WinRM with a valid account to interact with remote systems that have WinRM enabled

Supported Platforms: Windows

auto_generated_guid: efe86d95-44c4-4509-ae42-7bfd9d1f5b3d

Inputs:

NameDescriptionTypeDefault Value
user_nameUsernamestringDomain\Administrator
destination_addressRemote Host IP or HostnamestringTarget
passwordPasswordstringP@ssw0rd1

Attack Commands: Run with powershell! Elevation Required (e.g. root or admin)

evil-winrm -i #{destination_address} -u #{user_name} -p #{password}

Dependencies: Run with powershell!

Description: Computer must have Ruby Installed
Check Prereq Commands:
try {if (ruby -v) {exit 0} else {exit 1}} catch {exit 1}
Get Prereq Commands:
New-Item -Type Directory "PathToAtomicsFolder\..\ExternalPayloads\" -ErrorAction Ignore -Force | Out-Null
Invoke-WebRequest  -OutFile "PathToAtomicsFolder\..\ExternalPayloads\rubyinstaller-2.7.1-1-x64.exe" https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-2.7.1-1/rubyinstaller-2.7.1-1-x64.exe
$file1= "PathToAtomicsFolder\..\ExternalPayloads\rubyinstaller-2.7.1-1-x64.exe"
Start-Process $file1 /S;
Description: Computer must have Evil-WinRM installed
Check Prereq Commands:
try {if (evil-winrm -h) {exit 0} else {exit 1}} catch {exit 1}
Get Prereq Commands:
gem install evil-winrm