T1217

Browser Information Discovery

Adversaries may enumerate information about browsers to learn more about compromised environments. Data saved by browsers (such as bookmarks, accounts, and browsing history) may reveal personal information about users (banking sites, social media, relationships) as well as details about internal network resources such as servers, tools/dashboards, and other infrastructure. Browser information may also highlight additional targets after an adversary has access to valid credentials, especially credentials cached by browsers in Login Data or logins.json files. Specific storage locations vary by platform and application, but browser information is typically stored in local SQLite databases and JSON files under user profile directories.

Microsoft Sentinel / Defender
kusto
let BrowserDataFiles = dynamic([
  "History", "Bookmarks", "Login Data", "Cookies", "Web Data",
  "places.sqlite", "logins.json", "key4.db", "LocalState",
  "Favicons", "Network Action Predictor", "Visited Links",
  "Extension Cookies", "TransportSecurity", "BookmarksExtended"
]);
let LegitBrowserProcesses = dynamic([
  "chrome.exe", "msedge.exe", "firefox.exe", "brave.exe",
  "opera.exe", "iexplore.exe", "MicrosoftEdge.exe", "msedgewebview2.exe",
  "chromium.exe", "vivaldi.exe"
]);
let BrowserDataPaths = dynamic([
  "\\Google\\Chrome\\User Data\\",
  "\\Microsoft\\Edge\\User Data\\",
  "\\Mozilla\\Firefox\\Profiles\\",
  "\\BraveSoftware\\Brave-Browser\\User Data\\",
  "\\Opera Software\\Opera Stable\\",
  "\\Vivaldi\\User Data\\"
]);
let NoisySystemProcesses = dynamic([
  "MsMpEng.exe", "SearchIndexer.exe", "SgrmBroker.exe",
  "CompatTelRunner.exe", "TiWorker.exe"
]);
DeviceFileEvents
| where Timestamp > ago(24h)
| where ActionType in ("FileRead", "FileCopied", "FileCreated", "FileRenamed")
| where FolderPath has_any (BrowserDataPaths)
| where FileName in~ (BrowserDataFiles)
| where not(InitiatingProcessFileName in~ (LegitBrowserProcesses))
| where not(InitiatingProcessFileName in~ (NoisySystemProcesses))
| extend IsScriptEngine = InitiatingProcessFileName in~ ("powershell.exe", "pwsh.exe", "cmd.exe", "wscript.exe", "cscript.exe", "mshta.exe")
| extend IsArchiver = InitiatingProcessFileName in~ ("7z.exe", "winrar.exe", "zip.exe", "robocopy.exe", "xcopy.exe", "tar.exe")
| extend IsPython = InitiatingProcessFileName in~ ("python.exe", "python3.exe", "pythonw.exe")
| extend IsSuspiciousPath = InitiatingProcessFolderPath has_any ("\\Temp\\", "\\AppData\\Roaming\\", "\\Downloads\\", "\\Public\\")
| extend RiskScore = toint(IsScriptEngine) + toint(IsArchiver) + toint(IsPython) + toint(IsSuspiciousPath)
| project Timestamp, DeviceName, AccountName, FileName, FolderPath, ActionType,
          InitiatingProcessFileName, InitiatingProcessCommandLine,
          InitiatingProcessFolderPath, InitiatingProcessParentFileName,
          IsScriptEngine, IsArchiver, IsPython, IsSuspiciousPath, RiskScore
| sort by RiskScore desc, Timestamp desc
medium severity medium confidence

Data Sources

File: File Access File: File Modification Microsoft Defender for Endpoint

Required Tables

DeviceFileEvents

False Positives

  • Backup software (Veeam, Acronis, Windows Backup) backing up user AppData directories including browser profiles
  • Enterprise endpoint management tools (Tanium, BigFix, SCCM inventory agents) performing asset scans of user profile contents
  • Password managers (1Password, Bitwarden, KeePass import utilities) reading browser data for credential import/migration workflows
  • Browser profile migration or sync tools (e.g., MigrationAssistant, PCmover) during workstation refresh cycles
  • Security tools and DLP agents that scan browser storage as part of data classification or credential exposure monitoring

Unlock Pro Content

Get the full detection package for T1217 including response playbook, investigation guide, and atomic red team tests.

Response PlaybookInvestigation GuideHunting QueriesAtomic Red Team TestsTuning Guidance

Related Detections