mirror of
https://github.com/splunk/security_content
synced 2026-06-08 17:32:49 +00:00
124 lines
4.6 KiB
YAML
124 lines
4.6 KiB
YAML
asset_type: Endpoint
|
|
confidence: medium
|
|
creation_date: '2018-03-19'
|
|
data_metadata:
|
|
data_models:
|
|
- Endpoint
|
|
data_source:
|
|
- Endpoint Intel
|
|
providing_technologies:
|
|
- Carbon Black Response
|
|
- CrowdStrike Falcon
|
|
- Sysmon
|
|
- Tanium
|
|
- Ziften
|
|
description: This search looks for PowerShell processes started with parameters used
|
|
to bypass the local execution policy for scripts. These parameters are often observed
|
|
in attacks leveraging PowerShell scripts as they override the default PowerShell
|
|
execution policy.
|
|
detect:
|
|
splunk:
|
|
correlation_rule:
|
|
notable:
|
|
nes_fields: dest, user, process_name
|
|
rule_description: The system $dest$ executed a PowerShell process with parameters
|
|
to bypass the local execution policy.
|
|
rule_title: PowerShell process with -executionpolicy bypass detected on $dest$
|
|
risk:
|
|
risk_object: dest
|
|
risk_object_type:
|
|
- system
|
|
risk_score: 50
|
|
schedule:
|
|
cron_schedule: 50 * * * *
|
|
earliest_time: -70m@m
|
|
latest_time: -10m@m
|
|
search: '| tstats `summariesonly` count values(Processes.process) as process
|
|
values(Processes.parent_process) as parent_process min(_time) as firstTime
|
|
max(_time) as lastTime from datamodel=Endpoint.Processes where Processes.process_name=powershell.exe
|
|
by Processes.user Processes.process_name Processes.parent_process_name Processes.dest |
|
|
`drop_dm_object_name(Processes)` | `ctime(firstTime)`| `ctime(lastTime)`|
|
|
search process=* -ex* OR process=* bypass *'
|
|
suppress:
|
|
suppress_fields: dest, process_name
|
|
suppress_period: 14400s
|
|
eli5: This search looks for PowerShell processes that were launched using a parameter
|
|
designed to bypass the local PowerShell execution policy. By default, the policy
|
|
is set to "Restricted," which disables the execution of PowerShell scripts. In environments
|
|
that make heavy use of PowerShell, the policy can be set to allow only scripts signed
|
|
by a trusted publisher. Malicious PowerShell use almost always includes the parameter
|
|
`-ExecutionPolicy bypass`. PowerShell is very liberal when it comes to interpreting
|
|
command-line parameters passed to it. For example, the parameter we look for, `-ExecutionPolicy`,
|
|
can be abbreviated to `-Execution`, `-Exec`, or even `-ex`. As such, we look for
|
|
`* -ex*`, which should catch all variations of this parameter, followed by the keyword
|
|
`bypass`. This search will return the host, the user the process ran under, the
|
|
process and its command-line arguments, the number of times it has seen this process,
|
|
and the first and last times it saw this process.
|
|
entities:
|
|
- dest
|
|
how_to_implement: You must be ingesting data that records process activity from your
|
|
hosts to populate the Endpoint data model in the Processes node. You must also be
|
|
ingesting logs with both the process name and command line from your endpoints.
|
|
The command-line arguments are mapped to the "process" field in the Endpoint data
|
|
model.
|
|
id: 9be56c82-b1cc-4318-87eb-d138afaaca39
|
|
investigations:
|
|
- id: bc91a8cf-35e7-4bb2-8140-e756cc06fd76
|
|
name: Get Authentication Logs For Endpoint
|
|
type: splunk
|
|
- id: fecf2918-670d-4f1c-872b-3d7317a41bf9
|
|
name: Get Parent Process Info
|
|
type: splunk
|
|
- id: fdcfb369-1725-4c24-824a-22972d7f0d55
|
|
name: Get Risk Modifiers For User
|
|
type: splunk
|
|
- id: bc91a8cf-35e7-4bb2-8140-e756cc06fd71
|
|
name: Get Process Info
|
|
type: splunk
|
|
- id: 3d6c3213-5fff-4a1e-b57d-b24c262171e7
|
|
name: Get Notable History
|
|
type: splunk
|
|
- id: f3fb4d1b-5f33-4b01-b541-c7af9534c242
|
|
name: Get Notable Info
|
|
type: splunk
|
|
- id: fdcfb369-1725-4c24-824a-22972d7f0d65
|
|
name: Get Risk Modifiers For Endpoint
|
|
type: splunk
|
|
- id: bc91a8cf-35e7-4bb2-8140-e756cc06fd74
|
|
name: Get User Information from Identity Table
|
|
type: splunk
|
|
known_false_positives: There may be legitimate reasons to bypass the PowerShell execution
|
|
policy. The PowerShell script being run with this parameter should be validated
|
|
to ensure that it is legitimate.
|
|
maintainers:
|
|
- company: Splunk
|
|
email: rvaldez@splunk.com
|
|
name: Rico Valdez
|
|
mappings:
|
|
cis20:
|
|
- CIS 3
|
|
- CIS 7
|
|
- CIS 8
|
|
kill_chain_phases:
|
|
- Command and Control
|
|
- Actions on Objectives
|
|
mitre_attack:
|
|
- Execution
|
|
- PowerShell
|
|
- Scripting
|
|
nist:
|
|
- PR.PT
|
|
- DE.CM
|
|
- PR.IP
|
|
modification_date: '2018-12-03'
|
|
name: Malicious PowerShell Process - Execution Policy Bypass
|
|
original_authors:
|
|
- company: Splunk
|
|
email: rvaldez@splunk.com
|
|
name: Rico Valdez
|
|
references: []
|
|
security_domain: endpoint
|
|
spec_version: 2
|
|
type: splunk
|
|
version: '3.0'
|