Process Creating LNK file in Suspicious Location
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
Kill Chain Phase
- Installation
- Actions on Objectives
NIST
- ID.AM
- PR.DS
CIS20
- CIS 7
- CIS 8
CVE
Search
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:
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.
Supported Add-on (TA)
List of Splunk Add-on’s tested to work with the analytic.
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$ |
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
- https://attack.mitre.org/techniques/T1566/001/
- https://www.trendmicro.com/en_us/research/17/e/rising-trend-attackers-using-lnk-files-download-malware.html
- https://twitter.com/pr0xylife/status/1590394227758104576
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