Infostealer Browser Credential Theft

Credential Access Collection Exfiltration T1555.003 T1539 T1041 Detection difficulty: MEDIUM Prevalence: HIGH

Infostealers systematically harvest credentials, cookies, and autofill data from browser credential databases — the single invariant behavior across all stealer families regardless of obfuscation or bypass technique. Hudson Rock tracks 30+ million infected computers; 1.8 billion credentials were stolen in 2025 alone, with enterprise credentials present in 14% of infections (up from 6% in early 2024). The Snowflake breach (2024) demonstrated downstream impact: UNC5537 used infostealer-harvested credentials for initial access to 160+ organizations. LummaC2 (51% of dark web credential logs before its May 2025 takedown), Stealc, RedLine, Raccoon, Vidar, AMOS, and Medusa all share the invariant: the stealer process must open browser credential files (Login Data, Cookies, logins.json) and invoke CryptUnprotectData() or NSS3 decryption — a kernel-observable event regardless of family or Chrome App-Bound Encryption bypass technique used.

Prerequisites (Environmental)

  • Code execution on victim machine (via ClickFix, malvertising, cracked software, game cheats, SEO poisoning, YouTube malware, or social engineering)
  • Target must use a Chromium-based browser (Chrome, Edge, Brave, Opera, etc.) or Firefox
  • Browser credential database files must be accessible (not locked by exclusive handle — Chrome Login Data is typically not exclusively locked)
  • {"For App-Bound Encryption bypass variants"=>"Chrome must be installed (COM elevation requires GoogleChromeElevationService); OR Chrome must be running (CDP bypass); OR stealer must have code injection capability (memory injection bypass)"}
  • Outbound network access for C2 exfiltration (though some variants stage locally and exfiltrate via separate channel)

Variations

Tools and methods that exploit this chokepoint — the list grows; the chokepoint doesn't change:

LummaC2 Disrupted (May 2025) / Active (rebrand expected)
2022-Q4
Source →
Stealc Active
2023-Q1
RedLine Disrupted (Oct 2024) / Variants Active
2020-Q1
Source →
Raccoon v2 Active
2022-Q3
Vidar 2.0 Active
2025-Q4
AMOS (Atomic macOS Stealer) Active
2023-Q2
EDDIESTEALER Active
2025-Q2
Medusa Stealer Active
2024-Q1
Chrome App-Bound Encryption Bypass (COM Elevation) Active
2024-Q3
Source →
North Korean APT Infostealer Operations Active
2024-Q1
Contagious Interview (OtterCookie / North Korean Fake Job Interview Stealer) Active
2024-Q3
Storm-2561 Fake VPN Client Stealer Active
2025-Q2

Detection Strategy

Build detections iteratively. Start broad to understand your baseline, then tighten to production-ready.

Goal: Log all non-browser process access to browser credential database files

Log Sources

  • Sysmon Event ID 10 (Process Access)
  • Sysmon Event ID 11 (File Created / File Access)
  • Windows Security Event ID 4663 (File Access — requires Object Access auditing)
  • EDR file open telemetry (CrowdStrike, SentinelOne, Microsoft Defender for Endpoint)

FP Rate: Medium (password managers, backup tools, some AV products)

Use Case: Baseline legitimate access patterns; identify which processes routinely touch browser databases; validate EDR file access telemetry completeness

Detection Logic

File Access (EID 4663 or Sysmon EID 10/11):
  TargetObject / TargetFilename:
    contains: \Google\Chrome\User Data\Default\Login Data
    OR contains: \Google\Chrome\User Data\Default\Cookies
    OR contains: \Google\Chrome\User Data\Local State
    OR contains: \Mozilla\Firefox\Profiles\
    OR contains: \Microsoft\Edge\User Data\Default\Login Data
    OR contains: \BraveSoftware\Brave-Browser\User Data\Default\Login Data
  AccessingProcess: NOT (chrome.exe OR msedge.exe OR brave.exe OR firefox.exe OR
                         opera.exe OR vivaldi.exe OR browser update processes)
Purpose: Build baseline of ALL non-browser processes accessing browser credential files; identify environments where this occurs legitimately (password managers, backup tools) vs. anomalous access.
Sigma Rule — Research Level
title: Infostealer — Non-Browser Process Access to Browser Credential Database (Research Baseline)
id: 632a951f-4e57-4c9f-b1dc-32641904d61f
status: experimental
description: >
  Broad visibility rule capturing all file access events where a non-browser process
  opens a browser credential database file (Chrome Login Data, Cookies, Local State;
  Firefox logins.json or key4.db; Edge/Brave/Opera equivalents). This is the invariant
  behavior across every major infostealer family — LummaC2, RedLine, Raccoon v2, Vidar,
  Stealc, AMOS, Medusa, and EDDIESTEALER — regardless of obfuscation, packer, or
  Chrome App-Bound Encryption bypass technique. The browser process writes these files;
  only the browser, known password managers, and backup agents should legitimately read
  them. Any other process accessing these paths is anomalous by design.
  High false positive rate expected; purpose is environmental baselining to identify
  legitimate third-party access (password managers, backup tools, AV on-access scan)
  before tuning toward the hunt and analyst tiers.
references:
  - https://attack.mitre.org/techniques/T1555/003/
  - https://attack.mitre.org/techniques/T1539/
  - https://www.infostealers.com/article/2026-infostealer-trends-im-monitoring-at-hudson-rock/
  - https://cloud.google.com/blog/topics/threat-intelligence/unc5537-snowflake-data-theft-extortion/
  - https://blog.sekoia.io/lummac2-stealer-an-in-depth-analysis/
author: "@iimp0ster"
date: 2026/03/08
tags:
  - attack.credential_access
  - attack.t1555.003
  - attack.collection
  - attack.t1005
  - detection.maturity.research
logsource:
  category: file_event
  product: windows
detection:
  selection_browser_credential_paths:
    TargetFilename|contains:
      # Chrome credential databases
      - '\Google\Chrome\User Data\Default\Login Data'
      - '\Google\Chrome\User Data\Default\Cookies'
      - '\Google\Chrome\User Data\Local State'
      # Edge credential databases
      - '\Microsoft\Edge\User Data\Default\Login Data'
      - '\Microsoft\Edge\User Data\Default\Cookies'
      - '\Microsoft\Edge\User Data\Local State'
      # Brave credential databases
      - '\BraveSoftware\Brave-Browser\User Data\Default\Login Data'
      - '\BraveSoftware\Brave-Browser\User Data\Default\Cookies'
      # Firefox credential databases
      - '\Mozilla\Firefox\Profiles\'
      # Opera credential databases
      - '\Opera Software\Opera Stable\Login Data'
      - '\Opera Software\Opera Stable\Cookies'
      # Chromium (generic)
      - '\Chromium\User Data\Default\Login Data'
  filter_legitimate_browsers:
    Image|endswith:
      - '\chrome.exe'
      - '\msedge.exe'
      - '\brave.exe'
      - '\firefox.exe'
      - '\opera.exe'
      - '\vivaldi.exe'
      - '\chromium.exe'
      - '\iexplore.exe'
      # Browser update/crash handler processes
      - '\chrome_crashpad_handler.exe'
      - '\crashpad_handler.exe'
      - '\elevation_service.exe'
      - '\GoogleUpdate.exe'
      - '\MicrosoftEdgeUpdate.exe'
  filter_system_paths:
    Image|startswith:
      - 'C:\Windows\System32\'
      - 'C:\Windows\SysWOW64\'
      - 'C:\Program Files\Windows Defender\'
  condition: selection_browser_credential_paths and not (filter_legitimate_browsers or filter_system_paths)
falsepositives:
  - Password managers (1Password, Bitwarden, Dashlane, KeePass, LastPass) accessing browser databases for import/sync
  - Backup software (Veeam, Acronis, Windows Backup) performing file-level backup of AppData
  - Antivirus on-access scanning of AppData files
  - Browser sync utilities and profile migration tools
  - IT asset management tools inventorying installed software and profiles
  - Privacy cleaners (CCleaner, BleachBit) clearing browser history/cookies
level: informational

Goal: Non-browser process reads browser credential database AND makes a DPAPI call

Log Sources

  • Sysmon Event ID 10 (Process Access to browser files)
  • Windows Security Event ID 4663 (File Access)
  • Sysmon Event ID 8 (CreateRemoteThread — for injection variants)
  • Windows API monitoring: CryptUnprotectData calls from non-browser processes
  • EDR behavioral telemetry

FP Rate: Low-Medium

Use Case: Active threat hunting for infostealer activity; correlates file access with decryption API call to distinguish intentional credential harvesting from incidental file access by legitimate tools

Detection Logic

File Access to browser credential path:
  AccessingProcess: NOT browser / NOT known password manager / NOT backup tool
WITHIN 60 seconds:
  API Call: CryptUnprotectData() OR NCryptUnprotectSecret()
  CallingProcess: same non-browser process
OR:
  Process Access (EID 10):
    TargetProcess: chrome.exe OR msedge.exe
    SourceProcess: NOT known trusted process
    AccessRights: includes PROCESS_VM_READ (0x0010)
    (injection-based App-Bound bypass signal)
Sigma Rule — Hunt Level
title: Infostealer — Non-Browser Process Accesses Browser Credential DB from Suspicious Parent or Path
id: 790a46d5-2643-4afe-9718-18742e7eecd7
status: experimental
description: >
  Detects a non-browser process accessing browser credential database files (Chrome Login Data,
  Cookies, Local State; Firefox logins.json or key4.db) where the accessing process originates
  from a suspicious execution context — specifically: spawned by a script interpreter
  (PowerShell, wscript, cscript, mshta), executing from a writable user-controlled path
  (TEMP, Downloads, AppData\Roaming), or loaded as an unsigned binary. This intermediate
  tier narrows the broad research baseline by requiring a suspicious parent or process
  origin, dramatically reducing false positives from legitimate password managers while
  retaining coverage across all major infostealer families.
  ClickFix delivery (517% surge in 2025) spawns PowerShell or mshta.exe which executes
  the infostealer — this rule captures that delivery context combined with the invariant
  credential file access. The Chrome DevTools Protocol bypass (EDDIESTEALER) appears as
  Chrome spawned with --remote-debugging-port by an unexpected parent process.
  Also detects nss3.dll (Firefox NSS3 decryption library) loaded by any non-Mozilla
  process — the Firefox equivalent of DPAPI credential decryption.
references:
  - https://attack.mitre.org/techniques/T1555/003/
  - https://attack.mitre.org/techniques/T1539/
  - https://attack.mitre.org/techniques/T1059.001/
  - https://www.infostealers.com/article/2026-infostealer-trends-im-monitoring-at-hudson-rock/
  - https://blog.sekoia.io/lummac2-stealer-an-in-depth-analysis/
  - https://www.cisa.gov/news-events/cybersecurity-advisories/aa25-071a
  - https://security.googleblog.com/2024/09/improving-security-of-chrome-cookies.html
author: "@iimp0ster"
date: 2026/03/08
tags:
  - attack.credential_access
  - attack.t1555.003
  - attack.t1539
  - attack.execution
  - attack.t1059.001
  - detection.maturity.hunt
logsource:
  category: file_event
  product: windows
detection:
  # Selection A: Browser credential DB access by process with suspicious parent (ClickFix chain)
  selection_credential_path:
    TargetFilename|contains:
      - '\Google\Chrome\User Data\Default\Login Data'
      - '\Google\Chrome\User Data\Default\Cookies'
      - '\Google\Chrome\User Data\Local State'
      - '\Microsoft\Edge\User Data\Default\Login Data'
      - '\Microsoft\Edge\User Data\Default\Cookies'
      - '\BraveSoftware\Brave-Browser\User Data\Default\Login Data'
      - '\Mozilla\Firefox\Profiles\'
      - '\Opera Software\Opera Stable\Login Data'

  selection_suspicious_parent:
    ParentImage|endswith:
      - '\powershell.exe'
      - '\pwsh.exe'
      - '\wscript.exe'
      - '\cscript.exe'
      - '\mshta.exe'
      - '\wmic.exe'
      - '\rundll32.exe'
      - '\regsvr32.exe'
      - '\cmd.exe'
      - '\curl.exe'
      - '\certutil.exe'

  selection_suspicious_path:
    Image|contains:
      - '\AppData\Local\Temp\'
      - '\AppData\Roaming\'
      - '\Downloads\'
      - '\Desktop\'
      - '\Public\'
      - '\ProgramData\'
    Image|endswith:
      - '.exe'

  filter_legitimate_browsers:
    Image|endswith:
      - '\chrome.exe'
      - '\msedge.exe'
      - '\brave.exe'
      - '\firefox.exe'
      - '\opera.exe'
      - '\vivaldi.exe'
      - '\chromium.exe'
      - '\GoogleUpdate.exe'
      - '\MicrosoftEdgeUpdate.exe'
      - '\elevation_service.exe'

  # Selection B: Chrome spawned with debug port by non-Chrome parent (CDP bypass — EDDIESTEALER)
  selection_cdp_bypass:
    Image|endswith: '\chrome.exe'
    CommandLine|contains: '--remote-debugging-port'
    ParentImage|endswith:
      - '.exe'
    ParentImage|not|endswith:
      - '\chrome.exe'
      - '\msedge.exe'
      - '\explorer.exe'
      - '\svchost.exe'

  # Selection C: nss3.dll loaded by non-Mozilla process (Firefox credential decryption)
  selection_nss3_non_firefox:
    ImageLoaded|endswith: '\nss3.dll'
    Image|endswith:
      - '.exe'
    Image|not|endswith:
      - '\firefox.exe'
      - '\thunderbird.exe'
      - '\seamonkey.exe'
      - '\waterfox.exe'
      - '\librewolf.exe'
      - '\palemoon.exe'

  condition: >
    (selection_credential_path and (selection_suspicious_parent or selection_suspicious_path)
    and not filter_legitimate_browsers)
    or selection_cdp_bypass
    or selection_nss3_non_firefox
falsepositives:
  - Password managers installed in non-standard paths (unlikely for enterprise software)
  - Developer tools or automation scripts legitimately testing browser automation
  - EDR products loading nss3.dll for Firefox credential inspection during on-access scan
  - Browser migration or import tools spawned from cmd.exe by IT staff
  - Software deployment scripts (SCCM/Intune) triggering browser profile operations during setup
level: medium

Goal: Non-browser process accesses browser credential database AND makes outbound network connection — complete infostealer execution chain with C2 exfiltration signal

Log Sources

  • Sysmon Event ID 10 / 11 (File Access)
  • Sysmon Event ID 3 (Network Connection)
  • Windows Security Event ID 4663 + 5156 (File Access + Windows Filtering Platform)
  • EDR network telemetry
  • DNS logs (for C2 domain resolution)

FP Rate: Low

Use Case: SOC alerting; immediate IR escalation; the file-access + outbound-network correlation represents the full "harvest and exfiltrate" chain

Detection Logic

File Access (EID 4663 or Sysmon EID 10/11):
  TargetPath: browser credential database (Login Data OR Cookies OR logins.json OR key4.db)
  AccessingProcess: NOT (browser process OR known password manager)
AND within 300 seconds:
  Network Connection (Sysmon EID 3):
    SourceProcess: same non-browser process
    DestinationIP: NOT RFC1918 (not internal)
    DestinationPort: 80 OR 443 OR 8080 OR unusual port
STANDALONE HIGH-CONFIDENCE SIGNAL:
  Process accesses Login Data AND Local State in same session
  (Local State contains App-Bound Encryption key material;
  combined access is a strong infostealer indicator)
Sigma Rule — Analyst Level
title: Infostealer — Combined Login Data and Local State Access by Non-Browser Process (High Confidence)
id: b8e1369a-dcdd-413a-84a0-b7a953b8ff09
status: experimental
description: >
  High-fidelity detection for the complete Chromium infostealer credential harvest chain:
  a non-browser process accesses BOTH Chrome Login Data (encrypted credential SQLite DB)
  AND Local State (contains the App-Bound Encryption master key) within a single session.
  This combined access pattern is a near-definitive infostealer indicator because:
  (1) Login Data alone can be accessed by backup tools and AV scanners;
  (2) Local State alone is accessed by the browser itself for configuration;
  (3) combined access to BOTH by the same non-browser process has no legitimate use case
      outside infostealer credential decryption.
  This pattern is consistent across all Chromium-targeting stealer families — LummaC2,
  RedLine, Raccoon v2, Stealc, Vidar 2.0, Medusa, EDDIESTEALER — and across all three
  Chrome App-Bound Encryption bypass techniques (COM elevation, Chrome DevTools Protocol,
  and in-process memory injection). The file paths are dictated by the browser and cannot
  be changed by the attacker.
  A secondary high-confidence variant detects GoogleChromeElevationService being accessed
  via COM by a non-updater process — the first App-Bound Encryption bypass documented
  September 12, 2024, 45 days after Google's encryption was introduced.
  Treat every firing of this rule as a Tier 1 incident pending immediate triage.
references:
  - https://attack.mitre.org/techniques/T1555/003/
  - https://attack.mitre.org/techniques/T1539/
  - https://security.googleblog.com/2024/07/improving-security-of-chrome-cookies-on.html
  - https://security.googleblog.com/2024/09/improving-security-of-chrome-cookies.html
  - https://cloud.google.com/blog/topics/threat-intelligence/unc5537-snowflake-data-theft-extortion/
  - https://www.cisa.gov/news-events/cybersecurity-advisories/aa25-071a
  - https://blog.sekoia.io/lummac2-stealer-an-in-depth-analysis/
author: "@iimp0ster"
date: 2026/03/08
tags:
  - attack.credential_access
  - attack.t1555.003
  - attack.t1539
  - attack.collection
  - attack.t1005
  - detection.maturity.analyst
logsource:
  category: file_event
  product: windows
detection:
  # NOTE: This rule requires temporal correlation across two file events from the same process.
  # In Sigma, this is expressed as a grouped detection requiring both TargetFilename patterns
  # to appear from the same Image within a session window. SIEM-specific correlation is
  # required for full implementation — see the KQL and SPL queries in the analyst notes below.
  # The single-event approximation (either Login Data OR Local State by non-browser) is
  # captured as selection_combined for platforms that can apply process-grouped detection.

  # Selection A: Access to Login Data (encrypted credential SQLite database)
  selection_login_data:
    TargetFilename|contains:
      - '\Google\Chrome\User Data\Default\Login Data'
      - '\Microsoft\Edge\User Data\Default\Login Data'
      - '\BraveSoftware\Brave-Browser\User Data\Default\Login Data'
      - '\Opera Software\Opera Stable\Login Data'
      - '\Chromium\User Data\Default\Login Data'

  # Selection B: Access to Local State (App-Bound Encryption master key file)
  selection_local_state:
    TargetFilename|contains:
      - '\Google\Chrome\User Data\Local State'
      - '\Microsoft\Edge\User Data\Local State'
      - '\BraveSoftware\Brave-Browser\User Data\Local State'

  # Selection C: COM access to GoogleChromeElevationService by non-updater process
  # (App-Bound Encryption bypass via IElevator::DecryptData — Sept 2024 bypass)
  selection_abe_com_bypass:
    EventID: 4688  # Process creation as COM host
    CommandLine|contains:
      - 'GoogleChromeElevationService'
    CommandLine|not|contains:
      - 'GoogleUpdate'
      - 'update'
      - 'install'

  # Selection D: Cross-process memory access to chrome.exe (memory injection bypass — Vidar 2.0)
  selection_chrome_injection:
    EventID: 10  # Sysmon ProcessAccess
    TargetImage|endswith: '\chrome.exe'
    GrantedAccess|contains:
      - '0x1010'   # PROCESS_VM_READ | PROCESS_QUERY_INFORMATION
      - '0x1438'   # PROCESS_VM_READ | PROCESS_VM_WRITE | PROCESS_VM_OPERATION | PROCESS_QUERY_INFORMATION
      - '0x143a'
    SourceImage|not|endswith:
      - '\chrome.exe'
      - '\msedge.exe'
      - '\MsMpEng.exe'
      - '\SentinelAgent.exe'
      - '\CSFalconService.exe'

  filter_legitimate_browsers:
    Image|endswith:
      - '\chrome.exe'
      - '\msedge.exe'
      - '\brave.exe'
      - '\firefox.exe'
      - '\opera.exe'
      - '\vivaldi.exe'
      - '\chromium.exe'
      - '\GoogleUpdate.exe'
      - '\MicrosoftEdgeUpdate.exe'
      - '\elevation_service.exe'

  filter_system_processes:
    Image|startswith:
      - 'C:\Windows\System32\'
      - 'C:\Windows\SysWOW64\'
      - 'C:\Program Files\Windows Defender\'

  condition: >
    (selection_login_data and not (filter_legitimate_browsers or filter_system_processes))
    or (selection_local_state and not (filter_legitimate_browsers or filter_system_processes))
    or selection_abe_com_bypass
    or selection_chrome_injection
falsepositives:
  - Enterprise password manager products (1Password, Bitwarden for Teams) — these should
    appear in the research baseline allowlist before this rule is deployed
  - Endpoint backup solutions performing AppData backup (Veeam, Acronis) — exclude by
    known backup agent path
  - EDR products performing behavioral analysis on browser credential files — verify by
    confirming the accessing process is signed by the EDR vendor and running from Program Files
  - Chrome's own elevation service (elevation_service.exe) accessing Local State — filtered
    above; if filtering fails, verify Image path is Google's installation directory
level: high

Early Detection Layers

Detect before the user pastes or executes — earlier in the kill chain than the Sysmon-based rules above, using different data sources.

OSINT Sources

Intel Resources

  • Hudson Rock — 2026 Infostealer Trends I'm Monitoring — February 2026 analysis by Alon Gal (CTO, Hudson Rock); Hudson Rock tracks 30M+ infected computers. Documents 2026 trends including infostealer-to-APT pipeline, victim-to-vector loop, malicious AI skill poisoning via OpenClaw, and the ByBit heist connection to infostealer credential harvesting.
  • MITRE ATT&CK — T1555.003 Credentials from Password Stores: Credentials from Web Browsers — Primary technique definition covering browser credential database access methodology, with procedure examples for Chrome (Login Data + DPAPI), Firefox (logins.json + key4.db + NSS3), and cross-browser coverage. Includes procedure examples for LummaC2, RedLine, Raccoon, Vidar, AMOS, and 30+ other tracked families.
  • Google Security Blog — Improving the security of Chrome cookies on Windows — Official Google announcement of App-Bound Encryption (July 30, 2024) in Chrome 127. Explains the technical mechanism: encryption key bound to Chrome's application identity via IElevator COM interface. Basis for understanding the three bypass techniques (COM elevation, CDP, memory injection) that emerged within 45 days.
  • Mandiant / Google Cloud — UNC5537 Targets Snowflake Customer Instances for Data Theft — Technical analysis of the Snowflake breach (May-June 2024); documents UNC5537's use of VIDAR, RISEPRO, REDLINE, RACCOON, LUMMA, and METASTEALER-harvested credentials to access 160+ Snowflake environments. No CVE exploitation — credentials alone were sufficient. Defines infostealer credentials as a primary enterprise supply chain risk.
  • MITRE ATT&CK — T1539 Steal Web Session Cookie — Secondary technique covering session cookie theft for MFA bypass. Directly related to infostealer cookie database access (Chrome Cookies file). Cookie theft enables account takeover without re-authentication even after password reset.

Related Chokepoints