mirror of
https://github.com/splunk/security_content
synced 2026-06-08 17:32:49 +00:00
73 lines
3.6 KiB
YAML
73 lines
3.6 KiB
YAML
name: Malicious PowerShell Process - Encoded Command
|
||
id: c4db14d9-7909-48b4-a054-aa14d89dbb19
|
||
version: 12
|
||
date: '2024-11-22'
|
||
author: David Dorsey, Michael Haag, Splunk, SirDuckly, GitHub Community
|
||
status: production
|
||
type: Hunting
|
||
description: The following analytic detects the use of the EncodedCommand parameter
|
||
in PowerShell processes. It leverages Endpoint Detection and Response (EDR) data
|
||
to identify variations of the EncodedCommand parameter, including shortened forms
|
||
and different command switch types. This activity is significant because adversaries
|
||
often use encoded commands to obfuscate malicious scripts, making detection harder.
|
||
If confirmed malicious, this behavior could allow attackers to execute hidden code,
|
||
potentially leading to unauthorized access, privilege escalation, or persistent
|
||
threats within the environment. Review parallel events to determine legitimacy and
|
||
tune based on known administrative scripts.
|
||
data_source:
|
||
- Sysmon EventID 1
|
||
- Windows Event Log Security 4688
|
||
- CrowdStrike ProcessRollup2
|
||
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)[\-|\/|–|—|―][Ee^]{1,2}[NnCcOoDdEeMmAa^]+\s+[\"]?[A-Za-z0-9+/=]{5,}[\"]?")
|
||
| `malicious_powershell_process___encoded_command_filter`'
|
||
how_to_implement: The detection is based on data that originates from Endpoint Detection
|
||
and Response (EDR) agents. These agents are designed to provide security-related
|
||
telemetry from the endpoints where the agent is installed. To implement this search,
|
||
you must ingest logs that contain the process GUID, process name, and parent process.
|
||
Additionally, you must ingest complete command-line executions. These logs must
|
||
be processed using the appropriate Splunk Technology Add-ons that are specific to
|
||
the EDR product. The logs must also be mapped to the `Processes` node of the `Endpoint`
|
||
data model. Use the Splunk Common Information Model (CIM) to normalize the field
|
||
names and speed up the data modeling process.
|
||
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/Windows/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/
|
||
- https://www.microsoft.com/en-us/security/blog/2023/05/24/volt-typhoon-targets-us-critical-infrastructure-with-living-off-the-land-techniques/
|
||
tags:
|
||
analytic_story:
|
||
- CISA AA22-320A
|
||
- Hermetic Wiper
|
||
- Sandworm Tools
|
||
- Qakbot
|
||
- Volt Typhoon
|
||
- NOBELIUM Group
|
||
- Data Destruction
|
||
- Lumma Stealer
|
||
- Malicious PowerShell
|
||
- DarkCrystal RAT
|
||
- WhisperGate
|
||
- Crypto Stealer
|
||
asset_type: Endpoint
|
||
mitre_attack_id:
|
||
- T1027
|
||
product:
|
||
- Splunk Enterprise
|
||
- Splunk Enterprise Security
|
||
- Splunk Cloud
|
||
security_domain: endpoint
|
||
tests:
|
||
- name: True Positive Test
|
||
attack_data:
|
||
- data:
|
||
https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1027/atomic_red_team/windows-sysmon.log
|
||
source: XmlWinEventLog:Microsoft-Windows-Sysmon/Operational
|
||
sourcetype: XmlWinEventLog
|