Detection rules › Splunk

Crowdstrike Privilege Escalation For Non-Admin User

Status
production
Severity
low
Group by
count_alerts, description, severity, src_host, src_ip, type, user
Author
Teoderick Contreras, Splunk
Source
github.com/splunk/security_content

The following analytic detects CrowdStrike alerts for privilege escalation attempts by non-admin users. These alerts indicate unauthorized efforts by regular users to gain elevated permissions, posing a significant security risk. Detecting and addressing these attempts promptly helps prevent potential breaches and ensures that user privileges remain properly managed, maintaining the integrity of the organization's security protocols.

Known false positives

  • No false positives have been identified at this time.

MITRE ATT&CK coverage

TacticTechniques
Credential Access

Rule body

name: Crowdstrike Privilege Escalation For Non-Admin User
id: 69e2860c-0e4b-40ae-9dc4-bf9e3bf2a548
version: 9
creation_date: '2024-07-31'
modification_date: '2026-05-13'
author: Teoderick Contreras, Splunk
status: production
type: Anomaly
description: The following analytic detects CrowdStrike alerts for privilege escalation attempts by non-admin users. These alerts indicate unauthorized efforts by regular users to gain elevated permissions, posing a significant security risk. Detecting and addressing these attempts promptly helps prevent potential breaches and ensures that user privileges remain properly managed, maintaining the integrity of the organization's security protocols.
data_source: []
search: |-
    `crowdstrike_stream` tag=alert
      | rename event.EndpointIp as src_ip, event.EndpointName as src_host, event.UserName as user, event.IncidentDescription as description, event.IncidentType as type, event.NumbersOfAlerts as count_alerts, event.SeverityName as severity
      | stats count min(_time) as firstTime max(_time) as lastTime
        BY src_ip, src_host, user,
           description, type, count_alerts,
           severity
      | where LIKE(type,"%Privilege escalation%") AND NOT LIKE(user, "%adm%") AND NOT LIKE(user, "%svc%") AND NOT LIKE(user, "%admin%")
      | `security_content_ctime(firstTime)`
      | `security_content_ctime(lastTime)`
      | `crowdstrike_privilege_escalation_for_non_admin_user_filter`
how_to_implement: To implement CrowdStrike stream JSON logs, use the Falcon Streaming API. Set up an API client, authenticate with your CrowdStrike credentials, and subscribe to the "CrowdStrike:Event:Streams:JSON" event stream. Process and store the JSON logs as needed, integrating them into your logging or SIEM system for monitoring and analysis.
known_false_positives: No false positives have been identified at this time.
references:
    - https://www.crowdstrike.com/wp-content/uploads/2022/12/CrowdStrike-Falcon-Event-Streams-Add-on-Guide-v3.pdf
intermediate_findings:
    entities:
        - field: user
          type: user
          score: 20
          message: A Privilege escalation happened in Non-Admin Account in $src_host$
analytic_story:
    - Compromised Windows Host
asset_type: Endpoint
mitre_attack_id:
    - T1110
product:
    - Splunk Enterprise
    - Splunk Enterprise Security
    - Splunk Cloud
category: endpoint
security_domain: endpoint

Stages and Predicates

Stage 1: search

`crowdstrike_stream` tag=alert

Stage 2: rename

| rename event.EndpointIp as src_ip, event.EndpointName as src_host, event.UserName as user, event.IncidentDescription as description, event.IncidentType as type, event.NumbersOfAlerts as count_alerts, event.SeverityName as severity

Stage 3: stats

| stats count min(_time) as firstTime max(_time) as lastTime
    BY src_ip, src_host, user,
       description, type, count_alerts,
       severity

Stage 4: where

| where LIKE(type,"%Privilege escalation%") AND NOT LIKE(user, "%adm%") AND NOT LIKE(user, "%svc%") AND NOT LIKE(user, "%admin%")

Stage 5: search

| `security_content_ctime(firstTime)`

Stage 6: search

| `security_content_ctime(lastTime)`

Stage 7: search

| `crowdstrike_privilege_escalation_for_non_admin_user_filter`

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
userlike"%adm%"excludes:user
userlike"%admin%"excludes:user
userlike"%svc%"excludes:user

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
sourcetypeeq
  • CrowdStrike:Event:Streams:JSON
field:"sourcetype" kind:eq value:"CrowdStrike:Event:Streams:JSON"
typelike
  • "%Privilege escalation%"
field:"type" kind:like