LoFP LoFP / administrators may leverage winrm and `invoke-command` to start a process on remote systems for system administration or automation use cases. however, this activity is usually limited to a small set of hosts or users.

Sample rules

Remote Process Instantiation via WinRM and PowerShell

Description

This analytic looks for the execution of powershell.exe with arguments utilized to start a process on a remote endpoint by abusing the WinRM protocol. Specifically, this search looks for the abuse of the Invoke-Command commandlet. Red Teams and adversaries alike may abuse WinRM and powershell.exe for lateral movement and remote code execution.

Detection logic


| tstats `security_content_summariesonly` count min(_time) as firstTime max(_time) as lastTime from datamodel=Endpoint.Processes where `process_powershell` (Processes.process="*Invoke-Command*" AND Processes.process="*-ComputerName*") by Processes.dest Processes.user Processes.parent_process_name Processes.process_name Processes.process Processes.process_id Processes.parent_process_id 
| `drop_dm_object_name(Processes)` 
| `security_content_ctime(firstTime)`
| `security_content_ctime(lastTime)` 
| `remote_process_instantiation_via_winrm_and_powershell_filter`

Remote Process Instantiation via WinRM and PowerShell Script Block

Description

The following analytic utilizes PowerShell Script Block Logging (EventCode=4104) to identify the execution of PowerShell with arguments utilized to start a process on a remote endpoint by abusing the WinRM protocol. Specifically, this search looks for the abuse of the Invoke-Command commandlet. Red Teams and adversaries alike may abuse WinRM for lateral movement and remote code execution.

Detection logic

`powershell` EventCode=4104 (ScriptBlockText="*Invoke-Command*" AND ScriptBlockText="*-ComputerName*") 
| stats count min(_time) as firstTime max(_time) as lastTime by EventCode ScriptBlockText Computer user_id 
| `security_content_ctime(firstTime)` 
| `security_content_ctime(lastTime)` 
| `remote_process_instantiation_via_winrm_and_powershell_script_block_filter`