Try in Splunk Security Cloud

Description

This search looks for reg.exe being launched from a command prompt not started by the user. When a user launches cmd.exe, the parent process is usually explorer.exe. This search filters out those instances.

  • Type: TTP
  • Product: Splunk Enterprise, Splunk Enterprise Security, Splunk Cloud
  • Datamodel: Endpoint- Datasource: Splunk Add-on for Sysmon
  • Last Updated: 2020-07-22
  • Author: David Dorsey, Splunk
  • ID: a6b3ab4e-dd77-4213-95fa-fc94701995e0

Annotations

ATT&CK
ID Technique Tactic
T1112 Modify Registry Defense Evasion
Kill Chain Phase
  • Actions on Objectives
NIST
  • DE.CM
CIS20
  • CIS 8
CVE
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| tstats `security_content_summariesonly` count min(_time) as firstTime max(_time) as lastTime FROM datamodel=Endpoint.Processes where Processes.parent_process_name != explorer.exe Processes.process_name =cmd.exe by Processes.user Processes.process_name Processes.parent_process_name Processes.dest Processes.process_id Processes.parent_process_id 
| `drop_dm_object_name("Processes")` 
| `security_content_ctime(firstTime)` 
| `security_content_ctime(lastTime)` 
| search [
| tstats `security_content_summariesonly` count FROM datamodel=Endpoint.Processes where Processes.parent_process_name=cmd.exe Processes.process_name= reg.exe by Processes.parent_process_id Processes.dest Processes.process_name 
| `drop_dm_object_name("Processes")` 
| `security_content_ctime(firstTime)` 
| `security_content_ctime(lastTime)` 
| rename parent_process_id as process_id 
|dedup process_id
| table process_id dest] 
| `suspicious_reg_exe_process_filter` 

Macros

The SPL above uses the following Macros:

Note that suspicious_reg_exe_process_filter is a empty macro by default. It allows the user to filter out any results (false positives) without editing the SPL.

Required field

  • _time
  • Processes.parent_process_name
  • Processes.process_name
  • Processes.user
  • Processes.parent_process_name
  • Processes.dest
  • Processes.process_id
  • Processes.parent_process_id

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.

Known False Positives

It’s possible for system administrators to write scripts that exhibit this behavior. If this is the case, the search will need to be modified to filter them out.

Associated Analytic story

RBA

Risk Score Impact Confidence Message
35.0 70 50 Suspicious $Processes.process_path.file_path$ process running with an uncommon parent process $Processes.parent_process_name$

Reference

Test Dataset

Replay any dataset to Splunk Enterprise by using our replay.py tool or the UI. Alternatively you can replay a dataset into a Splunk Attack Range

source | version: 4