Try in Splunk Security Cloud

Description

This search looks for a process launching an *.lnk file under C:\User* or *\Local\Temp\*. This is common behavior used by various spear phishing tools.

  • Type: TTP
  • Product: Splunk Enterprise, Splunk Enterprise Security, Splunk Cloud
  • Datamodel: Endpoint
  • Last Updated: 2021-08-26
  • Author: Jose Hernandez, Splunk
  • ID: 5d814af1-1041-47b5-a9ac-d754e82e9a26

Annotations

ATT&CK

ATT&CK

ID Technique Tactic
T1566 Phishing Initial Access
T1566.002 Spearphishing Link Initial Access
Kill Chain Phase
  • Delivery
NIST
  • DE.CM
CIS20
  • CIS 13
CVE
1
2
3
4
5
6
7
8
9
10
11
12
13
| tstats `security_content_summariesonly` count min(_time) as firstTime max(_time) as lastTime FROM datamodel=Endpoint.Filesystem where Filesystem.file_name="*.lnk" AND (Filesystem.file_path="C:\\User\\*" OR Filesystem.file_path="*\\Temp\\*") by _time span=1h Filesystem.process_guid Filesystem.file_name Filesystem.file_path Filesystem.file_hash Filesystem.user 
| `drop_dm_object_name(Filesystem)` 
| rename process_guid as lnk_guid 
| join lnk_guid, _time [
| tstats `security_content_summariesonly` count FROM datamodel=Endpoint.Processes where Processes.process_name=* by _time span=1h Processes.parent_process_guid Processes.process_id Processes.process_name Processes.dest Processes.process_path Processes.process 
| `drop_dm_object_name(Processes)` 
| rename parent_process_guid as lnk_guid 
| fields _time lnk_guid process_id dest process_name process_path process] 
| `security_content_ctime(firstTime)` 
| `security_content_ctime(lastTime)` 
| table firstTime, lastTime, lnk_guid, process_id, user, dest, file_name, file_path, process_name, process, process_path, file_hash 
| `process_creating_lnk_file_in_suspicious_location_filter`

Macros

The SPL above uses the following Macros:

:information_source: process_creating_lnk_file_in_suspicious_location_filter is a empty macro by default. It allows the user to filter out any results (false positives) without editing the SPL.

Required fields

List of fields required to use this analytic.

  • _time
  • Filesystem.file_name
  • Filesystem.file_path
  • Filesystem.process_id
  • Filesystem.file_name
  • Filesystem.file_path
  • Filesystem.file_hash
  • Filesystem.user

How To Implement

You must be ingesting data that records filesystem and process activity from your hosts to populate the Endpoint data model. This is typically populated via endpoint detection-and-response product, such as Carbon Black, or endpoint data sources, such as Sysmon.

Known False Positives

This detection should yield little or no false positive results. It is uncommon for LNK files to be executed from temporary or user directories.

Associated Analytic Story

RBA

Risk Score Impact Confidence Message
63.0 70 90 A process $process_name$ that launching .lnk file in $file_path$ in host $dest$

:information_source: The Risk Score is calculated by the following formula: Risk Score = (Impact * Confidence/100). Initial Confidence and Impact is set by the analytic author.

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: 5