Files
splunk-security_content/detections/endpoint/headless_browser_usage.yml

57 lines
2.8 KiB
YAML

name: Headless Browser Usage
id: 869ba261-c272-47d7-affe-5c0aa85c93d6
version: 6
date: '2025-05-02'
author: Michael Haag, Splunk
status: production
type: Hunting
data_source:
- Sysmon EventID 1
- Windows Event Log Security 4688
- CrowdStrike ProcessRollup2
description: The following analytic detects the usage of headless browsers within
an organization. It identifies processes containing the "--headless" and "--disable-gpu"
command line arguments, which are indicative of headless browsing. This detection
leverages data from the Endpoint.Processes datamodel to identify such processes.
Monitoring headless browser usage is significant as these tools can be exploited
by adversaries for malicious activities like web scraping, automated testing, and
undetected web interactions. If confirmed malicious, this activity could lead to
unauthorized data extraction, automated attacks, or other covert operations on web
applications.
search: '| tstats `security_content_summariesonly` count min(_time) as firstTime max(_time)
as lastTime from datamodel=Endpoint.Processes where (Processes.process="*--headless*"
AND Processes.process="*--disable-gpu*") by Processes.action Processes.dest Processes.original_file_name
Processes.parent_process Processes.parent_process_exec Processes.parent_process_guid
Processes.parent_process_id Processes.parent_process_name Processes.parent_process_path
Processes.process Processes.process_exec Processes.process_guid Processes.process_hash
Processes.process_id Processes.process_integrity_level Processes.process_name Processes.process_path
Processes.user Processes.user_id Processes.vendor_product | `drop_dm_object_name(Processes)`
| `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)`| `headless_browser_usage_filter`'
how_to_implement: To successfully implement this search you need to be ingesting information
on process that include the name of the process responsible for the changes from
your endpoints into the `Endpoint` datamodel in the `Processes` node. In addition,
confirm the latest CIM App 4.20 or higher is installed and the latest TA for the
endpoint product.
known_false_positives: This hunting analytic is meant to assist with baselining and
understanding headless browsing in use. Filter as needed.
references:
- https://cert.gov.ua/article/5702579
tags:
analytic_story:
- Forest Blizzard
asset_type: Endpoint
atomic_guid: []
mitre_attack_id:
- T1564.003
product:
- Splunk Enterprise
- Splunk Enterprise Security
- Splunk Cloud
security_domain: endpoint
tests:
- name: True Positive Test
attack_data:
- data: https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1185/headlessbrowser/headless_mockbin.log
source: XmlWinEventLog:Microsoft-Windows-Sysmon/Operational
sourcetype: XmlWinEventLog