Potential Cookies Theft via Browser Debugging
Identifies the execution of a Chromium based browser with the debugging process argument, which may indicate an attempt to steal authentication cookies. An adversary may steal web application or service session cookies and use them to gain access web applications or Internet services as an authenticated user without needing credentials.
Elastic rule (View on GitHub)
1[metadata]
2creation_date = "2020/12/21"
3integration = ["endpoint", "windows"]
4min_stack_comments = "Breaking change at 8.14.0 for the Windows Integration."
5min_stack_version = "8.14.0"
6maturity = "production"
7updated_date = "2024/05/28"
8
9[rule]
10author = ["Elastic"]
11description = """
12Identifies the execution of a Chromium based browser with the debugging process argument, which may indicate an attempt
13to steal authentication cookies. An adversary may steal web application or service session cookies and use them to gain
14access web applications or Internet services as an authenticated user without needing credentials.
15"""
16false_positives = ["Developers performing browsers plugin or extension debugging."]
17from = "now-9m"
18index = ["auditbeat-*", "winlogbeat-*", "logs-endpoint.events.*", "logs-windows.*"]
19language = "eql"
20license = "Elastic License v2"
21max_signals = 33
22name = "Potential Cookies Theft via Browser Debugging"
23references = [
24 "https://github.com/defaultnamehere/cookie_crimes",
25 "https://embracethered.com/blog/posts/2020/cookie-crimes-on-mirosoft-edge/",
26 "https://github.com/rapid7/metasploit-framework/blob/master/documentation/modules/post/multi/gather/chrome_cookies.md",
27 "https://posts.specterops.io/hands-in-the-cookie-jar-dumping-cookies-with-chromiums-remote-debugger-port-34c4f468844e",
28]
29risk_score = 47
30rule_id = "027ff9ea-85e7-42e3-99d2-bbb7069e02eb"
31setup = """## Setup
32
33If enabling an EQL rule on a non-elastic-agent index (such as beats) for versions <8.2,
34events will not define `event.ingested` and default fallback for EQL rules was not added until version 8.2.
35Hence for this rule to work effectively, users will need to add a custom ingest pipeline to populate
36`event.ingested` to @timestamp.
37For more details on adding a custom ingest pipeline refer - https://www.elastic.co/guide/en/fleet/current/data-streams-pipeline-tutorial.html
38"""
39severity = "medium"
40tags = [
41 "Domain: Endpoint",
42 "OS: Linux",
43 "OS: Windows",
44 "OS: macOS",
45 "Use Case: Threat Detection",
46 "Tactic: Credential Access",
47 "Data Source: Elastic Defend",
48]
49timestamp_override = "event.ingested"
50type = "eql"
51
52query = '''
53process where event.type in ("start", "process_started", "info") and
54 process.name in (
55 "Microsoft Edge",
56 "chrome.exe",
57 "Google Chrome",
58 "google-chrome-stable",
59 "google-chrome-beta",
60 "google-chrome",
61 "msedge.exe") and
62 process.args : ("--remote-debugging-port=*",
63 "--remote-debugging-targets=*",
64 "--remote-debugging-pipe=*") and
65 process.args : "--user-data-dir=*" and not process.args:"--remote-debugging-port=0"
66'''
67
68
69[[rule.threat]]
70framework = "MITRE ATT&CK"
71[[rule.threat.technique]]
72id = "T1539"
73name = "Steal Web Session Cookie"
74reference = "https://attack.mitre.org/techniques/T1539/"
75
76
77[rule.threat.tactic]
78id = "TA0006"
79name = "Credential Access"
80reference = "https://attack.mitre.org/tactics/TA0006/"
References
Related rules
- Elastic Agent Service Terminated
- Active Directory Forced Authentication from Linux Host - SMB Named Pipes
- Modification of Standard Authentication Module or Configuration
- Network Logon Provider Registry Modification
- Potential Credential Access via Windows Utilities