mirror of
https://github.com/splunk/security_content
synced 2026-06-08 17:32:49 +00:00
93 lines
3.4 KiB
YAML
93 lines
3.4 KiB
YAML
name: Malicious PowerShell Process - Encoded Command
|
|
id: c4db14d9-7909-48b4-a054-aa14d89dbb19
|
|
version: 7
|
|
date: '2022-01-18'
|
|
author: David Dorsey, Michael Haag, Splunk
|
|
type: Hunting
|
|
datamodel:
|
|
- Endpoint
|
|
description: 'The following analytic identifies the use of the EncodedCommand PowerShell
|
|
parameter. This is typically used by Administrators to run complex scripts, but
|
|
commonly used by adversaries to hide their code. \
|
|
|
|
The analytic identifies all variations of EncodedCommand, as PowerShell allows the
|
|
ability to shorten the parameter. For example enc, enco, encod and so forth. In
|
|
addition, through our research it was identified that PowerShell will interpret
|
|
different command switch types beyond the hyphen. We have added endash, emdash,
|
|
horizontal bar, and forward slash. \
|
|
|
|
During triage, review parallel events to determine legitimacy. Tune as needed based
|
|
on admin scripts in use. \
|
|
|
|
Alternatively, may use regex per matching here https://regexr.com/662ov.'
|
|
search: "| tstats `security_content_summariesonly` count min(_time) as firstTime max(_time)\
|
|
\ as lastTime from datamodel=Endpoint.Processes where `process_powershell` by Processes.user\
|
|
\ Processes.process_name Processes.process Processes.parent_process_name Processes.original_file_name\
|
|
\ Processes.dest Processes.process_id | `drop_dm_object_name(Processes)` | `security_content_ctime(firstTime)`\
|
|
\ | `security_content_ctime(lastTime)` | where match(process,\"(?i)[\\-|\\/|\u2013\
|
|
|\u2014|\u2015]e(nc*o*d*e*d*c*o*m*m*a*n*d*)*\\s+[^-]\") | `malicious_powershell_process___encoded_command_filter`"
|
|
how_to_implement: To successfully implement this search you need to be ingesting information
|
|
on process that include the name of the process responsible for the changes from
|
|
your endpoints into the `Endpoint` datamodel in the `Processes` node. In addition,
|
|
confirm the latest CIM App 4.20 or higher is installed and the latest TA for the
|
|
endpoint product.
|
|
known_false_positives: System administrators may use this option, but it's not common.
|
|
references:
|
|
- https://regexr.com/662ov
|
|
- https://github.com/redcanaryco/AtomicTestHarnesses/blob/master/TestHarnesses/T1059.001_PowerShell/OutPowerShellCommandLineParameter.ps1
|
|
- https://ss64.com/ps/powershell.html
|
|
- https://twitter.com/M_haggis/status/1440758396534214658?s=20
|
|
- https://www.microsoft.com/security/blog/2022/01/15/destructive-malware-targeting-ukrainian-organizations/
|
|
tags:
|
|
analytic_story:
|
|
- Hermetic Wiper
|
|
- Malicious PowerShell
|
|
- NOBELIUM Group
|
|
- WhisperGate
|
|
- DarkCrystal RAT
|
|
- Qakbot
|
|
- CISA AA22-320A
|
|
asset_type: Endpoint
|
|
cis20:
|
|
- CIS 3
|
|
- CIS 7
|
|
- CIS 8
|
|
confidence: 50
|
|
context:
|
|
- Source:Endpoint
|
|
- Stage:Initial Access
|
|
- Stage:Execution
|
|
- Stage:Defense Evasion
|
|
dataset:
|
|
- https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1027/atomic_red_team/windows-sysmon.log
|
|
impact: 70
|
|
kill_chain_phases:
|
|
- Command & Control
|
|
- Actions on Objectives
|
|
message: Powershell.exe running potentially malicious encodede commands on $dest$
|
|
mitre_attack_id:
|
|
- T1027
|
|
nist:
|
|
- PR.PT
|
|
- DE.CM
|
|
- PR.IP
|
|
observable:
|
|
- name: dest
|
|
type: Endpoint
|
|
role:
|
|
- Victim
|
|
product:
|
|
- Splunk Enterprise
|
|
- Splunk Enterprise Security
|
|
- Splunk Cloud
|
|
required_fields:
|
|
- _time
|
|
- Processes.process_name
|
|
- Processes.process
|
|
- Processes.user
|
|
- Processes.parent_process_name
|
|
- Processes.dest
|
|
- Processes.process_id
|
|
risk_score: 35
|
|
security_domain: endpoint
|