@@ -5,7 +5,8 @@ date: '2025-07-29'
5
5
author : Bhavin Patel, Splunk, sventec, Github Community
6
6
status : production
7
7
type : TTP
8
- description : The following analytic detects the execution of tools commonly exploited
8
+ description :
9
+ The following analytic detects the execution of tools commonly exploited
9
10
by cybercriminals, such as those used for unauthorized access, network scanning,
10
11
or data exfiltration. It leverages process activity data from Endpoint Detection
11
12
and Response (EDR) agents, focusing on known attacker tool names. This activity
@@ -14,14 +15,15 @@ description: The following analytic detects the execution of tools commonly expl
14
15
lead to unauthorized access, data theft, or further network compromise, posing a
15
16
severe threat to the organization's security infrastructure.
16
17
data_source :
17
- - Sysmon EventID 1
18
- - Windows Event Log Security 4688
19
- - CrowdStrike ProcessRollup2
20
- - Cisco Network Visibility Module Flow Data
21
- search : ' | tstats `security_content_summariesonly` count min(_time) as firstTime max(_time)
18
+ - Sysmon EventID 1
19
+ - Windows Event Log Security 4688
20
+ - CrowdStrike ProcessRollup2
21
+ - Cisco Network Visibility Module Flow Data
22
+ search :
23
+ ' | tstats `security_content_summariesonly` count min(_time) as firstTime max(_time)
22
24
as lastTime values(Processes.process) as process values(Processes.parent_process)
23
- as parent_process from datamodel=Endpoint.Processes where
24
- [| inputlookup attacker_tools | rename attacker_tool_names AS Processes.process_name | fields Processes.process_name] AND
25
+ as parent_process from datamodel=Endpoint.Processes where
26
+ [| inputlookup attacker_tools | rename attacker_tool_names AS Processes.process_name | fields Processes.process_name] AND
25
27
Processes.dest!=unknown AND Processes.user!=unknown by Processes.action Processes.dest Processes.original_file_name
26
28
Processes.parent_process Processes.parent_process_exec Processes.parent_process_guid
27
29
Processes.parent_process_id Processes.parent_process_name Processes.parent_process_path
@@ -31,7 +33,8 @@ search: '| tstats `security_content_summariesonly` count min(_time) as firstTime
31
33
| `security_content_ctime(lastTime)` | `drop_dm_object_name(Processes)` | lookup
32
34
attacker_tools attacker_tool_names AS process_name OUTPUT description | search description
33
35
!=false| `attacker_tools_on_endpoint_filter`'
34
- how_to_implement : The detection is based on data that originates from Endpoint Detection
36
+ how_to_implement :
37
+ The detection is based on data that originates from Endpoint Detection
35
38
and Response (EDR) agents. These agents are designed to provide security-related
36
39
telemetry from the endpoints where the agent is installed. To implement this search,
37
40
you must ingest logs that contain the process GUID, process name, and parent process.
@@ -40,64 +43,67 @@ how_to_implement: The detection is based on data that originates from Endpoint D
40
43
the EDR product. The logs must also be mapped to the `Processes` node of the `Endpoint`
41
44
data model. Use the Splunk Common Information Model (CIM) to normalize the field
42
45
names and speed up the data modeling process.
43
- known_false_positives : Some administrator activity can be potentially triggered, please
46
+ known_false_positives :
47
+ Some administrator activity can be potentially triggered, please
44
48
add those users to the filter macro.
45
49
references : []
46
50
drilldown_searches :
47
- - name : View the detection results for - "$user$" and "$dest$"
48
- search : ' %original_detection_search% | search user = "$user$" dest = "$dest$"'
49
- earliest_offset : $info_min_time$
50
- latest_offset : $info_max_time$
51
- - name : View risk events for the last 7 days for - "$user$" and "$dest$"
52
- search : ' | from datamodel Risk.All_Risk | search normalized_risk_object IN ("$user$",
53
- "$dest$") starthoursago=168 | stats count min(_time) as firstTime max(_time)
54
- as lastTime values(search_name) as "Search Name" values(risk_message) as "Risk
55
- Message" values(analyticstories) as "Analytic Stories" values(annotations._all)
56
- as "Annotations" values(annotations.mitre_attack.mitre_tactic) as "ATT&CK Tactics"
57
- by normalized_risk_object | `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)`'
58
- earliest_offset : $info_min_time$
59
- latest_offset : $info_max_time$
51
+ - name : View the detection results for - "$user$" and "$dest$"
52
+ search : ' %original_detection_search% | search user = "$user$" dest = "$dest$"'
53
+ earliest_offset : $info_min_time$
54
+ latest_offset : $info_max_time$
55
+ - name : View risk events for the last 7 days for - "$user$" and "$dest$"
56
+ search :
57
+ ' | from datamodel Risk.All_Risk | search normalized_risk_object IN ("$user$",
58
+ "$dest$") starthoursago=168 | stats count min(_time) as firstTime max(_time)
59
+ as lastTime values(search_name) as "Search Name" values(risk_message) as "Risk
60
+ Message" values(analyticstories) as "Analytic Stories" values(annotations._all)
61
+ as "Annotations" values(annotations.mitre_attack.mitre_tactic) as "ATT&CK Tactics"
62
+ by normalized_risk_object | `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)`'
63
+ earliest_offset : $info_min_time$
64
+ latest_offset : $info_max_time$
60
65
rba :
61
- message : An attacker tool $process_name$, listed in attacker_tools.csv is executed
66
+ message :
67
+ An attacker tool $process_name$, listed in attacker_tools.csv is executed
62
68
on host $dest$ by User $user$. This process $process_name$ is known to do- $description$
63
69
risk_objects :
64
- - field : user
65
- type : user
66
- score : 64
67
- - field : dest
68
- type : system
69
- score : 64
70
+ - field : user
71
+ type : user
72
+ score : 64
73
+ - field : dest
74
+ type : system
75
+ score : 64
70
76
threat_objects :
71
- - field : process_name
72
- type : process_name
77
+ - field : process_name
78
+ type : process_name
73
79
tags :
74
80
analytic_story :
75
- - XMRig
76
- - Unusual Processes
77
- - SamSam Ransomware
78
- - CISA AA22-264A
79
- - Compromised Windows Host
80
- - PHP-CGI RCE Attack on Japanese Organizations
81
- - Cisco Network Visibility Module Analytics
82
- - Scattered Spider
81
+ - XMRig
82
+ - Unusual Processes
83
+ - SamSam Ransomware
84
+ - CISA AA22-264A
85
+ - Compromised Windows Host
86
+ - PHP-CGI RCE Attack on Japanese Organizations
87
+ - Cisco Network Visibility Module Analytics
88
+ - Scattered Spider
83
89
asset_type : Endpoint
84
90
mitre_attack_id :
85
- - T1003
86
- - T1036.005
87
- - T1595
91
+ - T1003
92
+ - T1036.005
93
+ - T1595
88
94
product :
89
- - Splunk Enterprise
90
- - Splunk Enterprise Security
91
- - Splunk Cloud
95
+ - Splunk Enterprise
96
+ - Splunk Enterprise Security
97
+ - Splunk Cloud
92
98
security_domain : endpoint
93
99
tests :
94
- - name : True Positive Test - Sysmon
95
- attack_data :
96
- - data : https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1595/attacker_scan_tools/windows-sysmon.log
97
- source : XmlWinEventLog:Microsoft-Windows-Sysmon/Operational
98
- sourcetype : XmlWinEventLog
99
- - name : True Positive Test - Cisco NVM
100
- attack_data :
101
- - data : https://media.githubusercontent.com/media/splunk/attack_data/refs/heads /master/datasets/cisco_network_visibility_module/cisco_nvm_flowdata/nvm_flowdata.log
102
- source : not_applicable
103
- sourcetype : cisco:nvm:flowdata
100
+ - name : True Positive Test - Sysmon
101
+ attack_data :
102
+ - data : https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1595/attacker_scan_tools/windows-sysmon.log
103
+ source : XmlWinEventLog:Microsoft-Windows-Sysmon/Operational
104
+ sourcetype : XmlWinEventLog
105
+ - name : True Positive Test - Cisco NVM
106
+ attack_data :
107
+ - data : https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/cisco_network_visibility_module/cisco_nvm_flowdata/nvm_flowdata.log
108
+ source : not_applicable
109
+ sourcetype : cisco:nvm:flowdata
0 commit comments