Detection rules › Splunk
Windows Credentials from Password Stores Chrome LocalState Access
The following analytic detects non-Chrome processes accessing the Chrome "Local State" file, which contains critical settings and information. It leverages Windows Security Event logs, specifically event code 4663, to identify this behavior. This activity is significant because threat actors can exploit this file to extract the encrypted master key used for decrypting saved passwords in Chrome. If confirmed malicious, this could lead to unauthorized access to sensitive information, posing a severe security risk. Monitoring this anomaly helps identify potential threats and safeguard browser-stored data.
Known false positives
- The chrome uninstaller will access these set of files and folders. Filter as needed.
MITRE ATT&CK coverage
| Tactic | Techniques |
|---|---|
| Discovery |
Telemetry coverage
| Provider | Record / event type |
|---|---|
| Security-Auditing | Event ID 4663: An attempt was made to access an object. |
Rule body
name: Windows Credentials from Password Stores Chrome LocalState Access
id: 3b1d09a8-a26f-473e-a510-6c6613573657
version: 23
creation_date: '2023-05-02'
modification_date: '2026-06-25'
author: Teoderick Contreras, Splunk
status: production
type: Anomaly
description: |-
The following analytic detects non-Chrome processes accessing the Chrome "Local State" file, which contains critical settings and information. It leverages Windows Security Event logs, specifically event code 4663, to identify this behavior.
This activity is significant because threat actors can exploit this file to extract the encrypted master key used for decrypting saved passwords in Chrome.
If confirmed malicious, this could lead to unauthorized access to sensitive information, posing a severe security risk.
Monitoring this anomaly helps identify potential threats and safeguard browser-stored data.
data_source:
- Windows Event Log Security 4663
search: |
`wineventlog_security`
EventCode=4663
object_file_path="*\\AppData\\Local\\Google\\Chrome\\User Data\\Local State"
NOT process_path IN (
"*:\\Windows\\explorer.exe",
"*\\AppData\\Local\\Google\\Chrome Beta\\Application\\chrome.exe",
"*\\AppData\\Local\\Google\\Chrome Dev\\Application\\chrome.exe",
"*\\AppData\\Local\\Google\\Chrome SxS\\Application\\chrome.exe",
"*\\AppData\\Local\\Google\\Chrome Unstable\\Application\\chrome.exe",
"*\\AppData\\Local\\Google\\Chrome\\Application\\chrome.exe",
"*\\platform_experience_helper.exe*",
"*:\\Program Files (x86)\\Microsoft\\Edge\\Application\\msedge.exe*"
)
| stats count min(_time) as firstTime
max(_time) as lastTime
by object_file_name object_file_path
process_name process_path
process_id EventCode dest
| `security_content_ctime(firstTime)`
| `security_content_ctime(lastTime)`
| `windows_credentials_from_password_stores_chrome_localstate_access_filter`
how_to_implement: |-
To successfully implement this search, you must ingest Windows Security Event logs and track event code 4663.
For 4663, enable "Audit Object Access" in Group Policy. Then check the two boxes listed for both "Success" and "Failure."
known_false_positives: |-
The chrome uninstaller will access these set of files and folders. Filter as needed.
references:
- https://malpedia.caad.fkie.fraunhofer.de/details/win.redline_stealer
intermediate_findings:
entities:
- field: dest
type: system
score: 20
message: A non-chrome process $process_name$ accessing "Chrome\\User Data\\Local State" file on $dest$
analytic_story:
- StealC Stealer
- DarkGate Malware
- Malicious Inno Setup Loader
- NjRAT
- Phemedrone Stealer
- Salt Typhoon
- Amadey
- Earth Alux
- Warzone RAT
- Quasar RAT
- PXA Stealer
- RedLine Stealer
- SnappyBee
- Meduza Stealer
- Braodo Stealer
- MoonPeak
- Snake Keylogger
- China-Nexus Threat Activity
- 0bj3ctivity Stealer
- Lokibot
- Scattered Lapsus$ Hunters
- BlankGrabber Stealer
- VIP Keylogger
- Salat Stealer
- Phantom Stealer
asset_type: Endpoint
mitre_attack_id:
- T1012
product:
- Splunk Enterprise
- Splunk Enterprise Security
- Splunk Cloud
category: endpoint
security_domain: endpoint
Stages and Predicates
Stage 1: search
`wineventlog_security`
EventCode=4663
object_file_path="*\\AppData\\Local\\Google\\Chrome\\User Data\\Local State"
NOT process_path IN (
"*:\\Windows\\explorer.exe",
"*\\AppData\\Local\\Google\\Chrome Beta\\Application\\chrome.exe",
"*\\AppData\\Local\\Google\\Chrome Dev\\Application\\chrome.exe",
"*\\AppData\\Local\\Google\\Chrome SxS\\Application\\chrome.exe",
"*\\AppData\\Local\\Google\\Chrome Unstable\\Application\\chrome.exe",
"*\\AppData\\Local\\Google\\Chrome\\Application\\chrome.exe",
"*\\platform_experience_helper.exe*",
"*:\\Program Files (x86)\\Microsoft\\Edge\\Application\\msedge.exe*"
)
Stage 2: stats
| stats count min(_time) as firstTime
max(_time) as lastTime
by object_file_name object_file_path
process_name process_path
process_id EventCode dest
Stage 3: search
| `security_content_ctime(firstTime)`
Stage 4: search
| `security_content_ctime(lastTime)`
Stage 5: search
| `windows_credentials_from_password_stores_chrome_localstate_access_filter`
Exclusions
The rule actively suppresses these predicates.
| Field | Kind | Excluded values | Search |
|---|---|---|---|
process_path | in | "*:\\Program Files (x86)\\Microsoft\\Edge\\Application\\msedge.exe*", "*:\\Windows\\explorer.exe", "*\\AppData\\Local\\Google\\Chrome Beta\\Application\\chrome.exe", "*\\AppData\\Local\\Google\\Chrome Dev\\Application\\chrome.exe", "*\\AppData\\Local\\Google\\Chrome SxS\\Application\\chrome.exe", "*\\AppData\\Local\\Google\\Chrome Unstable\\Application\\chrome.exe", "*\\AppData\\Local\\Google\\Chrome\\Application\\chrome.exe", "*\\platform_experience_helper.exe*" | excludes:process_path |
Indicators
These rows show field, operator, and value matches.
| Field | Kind | Values | Search |
|---|---|---|---|
EventCode | eq |
| field:"EventID" kind:eq value:"4663" |
object_file_path | eq |
| field:"TargetFilename" kind:eq |