Detect Steal Web Session Cookie in Elastic Security
An adversary may steal web application or service session cookies and use them to gain access to web applications or Internet services as an authenticated user without needing credentials. Web applications and services often use session cookies as an authentication token after a user has authenticated to a website. Cookies are often valid for an extended period of time, even if the web application is not actively used. Session cookies can be found on disk in browser profile directories (SQLite databases), in the process memory of the browser, and in network traffic to remote systems. Tools such as Evilginx2 and Muraena act as adversary-in-the-middle proxies to capture session cookies from victims directed to phishing domains without the victim's endpoint ever being directly compromised. Malware families including Raccoon Stealer, QakBot, Spica, CookieMiner, Grandoreiro, and EVILNUM specifically target browser cookie stores for theft. Stolen session cookies can bypass multi-factor authentication by reusing authenticated sessions, enabling account takeover without requiring credentials.
MITRE ATT&CK
- Tactic
- Credential Access
- Technique
- T1539 Steal Web Session Cookie
- Canonical reference
- https://attack.mitre.org/techniques/T1539/
Elastic Detection Query
sequence by host.id with maxspan=5m
[file where event.action in ("creation", "modification", "access") and
(
(file.path like~ "*Chrome*User Data*" or file.path like~ "*Edge*User Data*" or
file.path like~ "*Firefox*Profiles*" or file.path like~ "*BraveSoftware*Brave-Browser*" or
file.path like~ "*Opera Software*Opera Stable*" or file.path like~ "*Vivaldi*User Data*") and
(file.name == "Cookies" or file.name == "cookies.sqlite" or file.name == "cookies.sqlite-wal" or
file.name == "Local State" or file.name == "Login Data")
) and
not process.name in~ ("chrome.exe", "msedge.exe", "firefox.exe", "brave.exe", "opera.exe",
"vivaldi.exe", "chromium.exe", "msedgewebview2.exe",
"MsMpEng.exe", "SearchIndexer.exe", "SgrmBroker.exe",
"backgroundTaskHost.exe", "WerFault.exe", "svchost.exe",
"TiWorker.exe", "TrustedInstaller.exe")]
[process where event.action == "start" and
process.name in~ ("powershell.exe", "pwsh.exe", "cmd.exe", "wscript.exe",
"cscript.exe", "mshta.exe", "python.exe", "python3.exe",
"node.exe", "ruby.exe", "perl.exe", "sqlite3.exe")] Detects non-browser processes accessing browser cookie stores (Chrome, Edge, Firefox, Brave, Opera, Vivaldi) using EQL sequence correlation. Correlates cookie file access events with suspicious script host or interpreter process starts on the same host within 5 minutes, indicating potential session cookie theft by a stealer or script.
Data Sources
Required Tables
False Positives & Tuning
- Backup software (e.g., Veeam, Backblaze, Carbonite) accessing browser profile directories during scheduled backups — whitelist backup agent process names
- IT asset management or MDM agents scanning user profile directories for compliance inventory — known agent process names should be excluded
- Browser sync utilities or credential managers (e.g., 1Password, Bitwarden desktop apps) that legitimately access browser profile directories to import or sync data
Other platforms for T1539
Testing Methodology
Validate this detection against 4 adversary techniques from Atomic Red Team. Each test below lists the behaviour to exercise and the telemetry you should expect to see. Executable commands and cleanup steps are available with Pro.
- Test 1Copy Chrome Cookie Database via CMD
Expected signal: Sysmon Event ID 11 (FileCreate): TargetFilename=%TEMP%\df00tech_test_cookies.db, Image=cmd.exe. DeviceFileEvents: ActionType=FileCreated, FileName=df00tech_test_cookies.db, FolderPath containing Chrome\User Data, InitiatingProcessFileName=cmd.exe. The source Cookies file read will appear as a separate FileAccess event for the Cookies file initiated by cmd.exe.
- Test 2Extract Chrome Cookies and Local State via PowerShell
Expected signal: Sysmon Event ID 1: powershell.exe Process Create with CommandLine containing Chrome\User Data and Copy-Item. Sysmon Event ID 11: Two FileCreate events — TargetFilename containing df00tech_chrome\LocalState and df00tech_chrome\Cookies, Image=powershell.exe. DeviceFileEvents: Two file access events for Local State and Cookies files, InitiatingProcessFileName=powershell.exe.
- Test 3Read Firefox Cookie Database via sqlite3
Expected signal: Sysmon Event ID 1: sqlite3.exe Process Create with CommandLine containing Firefox\Profiles, cookies.sqlite, and SELECT. Sysmon Event ID 11: TargetFilename=%TEMP%\df00tech_ff_cookies.txt, Image=sqlite3.exe. DeviceProcessEvents: FileName=sqlite3.exe, ProcessCommandLine contains moz_cookies. DeviceFileEvents: sqlite3.exe accessing cookies.sqlite within Firefox Profiles path.
- Test 4Linux Firefox Cookie Theft via File Copy
Expected signal: Linux auditd: syscall=openat with path containing .mozilla/firefox and cookies.sqlite, and syscall=open/write for /tmp/df00tech_ff_linux_cookies.sqlite. Syslog/auditd: process cp accessing Firefox profile path. Linux EDR agents: file access event for cookies.sqlite initiated by cp process.
References (10)
- https://attack.mitre.org/techniques/T1539/
- https://wunderwuzzi23.github.io/blog/passthecookie.html
- https://github.com/kgretzky/evilginx2
- https://github.com/muraenateam/muraena
- https://unit42.paloaltonetworks.com/mac-malware-steals-cryptocurrency-exchanges-cookies/
- https://securelist.com/project-tajmahal/90240/
- https://krebsonsecurity.com/2023/05/discord-admins-hacked-by-malicious-bookmarks/
- https://blog.talosintelligence.com/roblox-scam-overview/
- https://learn.microsoft.com/en-us/microsoft-365/security/defender-endpoint/advanced-hunting-devicefileevents-table
- https://learn.microsoft.com/en-us/azure/azure-monitor/reference/tables/signinlogs
Unlock Pro Content
Get the full detection package for T1539 including response playbook, investigation guide, and atomic red team tests.