Detection rules › Elastic

Chrome Browser Spawned from an Unusual Parent

Source
github.com/elastic/protections-artifacts

Identifies instances where an unusual process spawns a chrome browser child process. This behavior could be related to malwares stealing browser information.

MITRE ATT&CK coverage

Rule body

[rule]
description = """
Identifies instances where an unusual process spawns a chrome browser child process. This behavior could be related to
malwares stealing browser information.
"""
id = "fcbeaab7-017f-4bba-8b27-ffe68d64a28c"
license = "Elastic License v2"
name = "Chrome Browser Spawned from an Unusual Parent"
os_list = ["windows"]
version = "1.0.7"

query = '''
process where event.type == "start" and
 process.name : "chrome.exe" and process.args in~ ("--profile-directory=\"Default\"", "--profile-directory=Default") and
 process.parent.executable != null and
 not process.parent.executable in~
                     ("c:\\windows\\explorer.exe",
                      "c:\\program files\\google\\chrome\\application\\chrome_proxy.exe",
                      "C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome_proxy.exe",
                      "c:\\program files\\google\\chrome\\application\\chrome.exe",
                      "c:\\Program Files (x86)\\google\\chrome\\application\\chrome.exe",
                      "C:\\Windows\\System32\\rdpinit.exe",
                      "C:\\Windows\\System32\\sihost.exe",
                      "C:\\Windows\\System32\\RuntimeBroker.exe",
                      "C:\\Windows\\System32\\SECOCL64.exe") and
 not process.parent.executable : (
                      "C:\\Windows\\System32\\DriverStore\\FileRepository\\seapo64.inf_*\\SECOCL64.exe", 
                      "C:\\Program Files\\OutSystems\\Service Studio ??\\Service Studio\\ServiceStudio.exe",
                      "C:\\Windows\\System32\\DriverStore\\FileRepository\\snapo64.inf_amd64_*\\SNAPOS64.exe",
                      "C:\\Program Files\\WindowsApps\\*.exe") and
 not (process.parent.code_signature.subject_name in (
        "Google LLC", "Sound Research Corporation", "FactSet Research Systems Inc."
      ) and process.parent.code_signature.trusted == true) and
 not (process.parent.name : "cmd.exe" and process.parent.args : "*\\Desktop\\*.bat " and process.args : "--profile-directory=Default") and
 not (process.parent.name == "chromedriver.exe" and process.args == "--test-type=webdriver") and
 not (process.parent.name == "gralvior-desktop.exe" and process.args == "https://google.com") and
 not (process.parent.name == "rundll32.exe" and process.parent.args == "C:\\windows\\System32\\SHELL32.dll,RunAsNewUser_RunDLL") and
 not (process.parent.code_signature.subject_name in ("AMARYLLIS SIGNAL LTD", "BLUE TAKIN LTD", "METROPOLITAN DESIGN LLC") and process.parent.code_signature.trusted == true)
'''

min_endpoint_version = "8.10.0"
[[actions]]
action = "kill_process"
field = "process.parent.entity_id"
state = 0
tree = true

[[optional_actions]]
action = "rollback"
field = "process.entity_id"
state = 0

[[threat]]
framework = "MITRE ATT&CK"
[[threat.technique]]
id = "T1539"
name = "Steal Web Session Cookie"
reference = "https://attack.mitre.org/techniques/T1539/"

[[threat.technique]]
id = "T1555"
name = "Credentials from Password Stores"
reference = "https://attack.mitre.org/techniques/T1555/"
[[threat.technique.subtechnique]]
id = "T1555.003"
name = "Credentials from Web Browsers"
reference = "https://attack.mitre.org/techniques/T1555/003/"



[threat.tactic]
id = "TA0006"
name = "Credential Access"
reference = "https://attack.mitre.org/tactics/TA0006/"

[internal]
min_endpoint_version = "8.10.0"

Stages and Predicates

Stage 1: process

process where event.type == "start" and
 process.name : "chrome.exe" and process.args in~ ("--profile-directory=\"Default\"", "--profile-directory=Default") and
 process.parent.executable != null and
 not process.parent.executable in~
                     ("c:\\windows\\explorer.exe",
                      "c:\\program files\\google\\chrome\\application\\chrome_proxy.exe",
                      "C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome_proxy.exe",
                      "c:\\program files\\google\\chrome\\application\\chrome.exe",
                      "c:\\Program Files (x86)\\google\\chrome\\application\\chrome.exe",
                      "C:\\Windows\\System32\\rdpinit.exe",
                      "C:\\Windows\\System32\\sihost.exe",
                      "C:\\Windows\\System32\\RuntimeBroker.exe",
                      "C:\\Windows\\System32\\SECOCL64.exe") and
 not process.parent.executable : (
                      "C:\\Windows\\System32\\DriverStore\\FileRepository\\seapo64.inf_*\\SECOCL64.exe", 
                      "C:\\Program Files\\OutSystems\\Service Studio ??\\Service Studio\\ServiceStudio.exe",
                      "C:\\Windows\\System32\\DriverStore\\FileRepository\\snapo64.inf_amd64_*\\SNAPOS64.exe",
                      "C:\\Program Files\\WindowsApps\\*.exe") and
 not (process.parent.code_signature.subject_name in (
        "Google LLC", "Sound Research Corporation", "FactSet Research Systems Inc."
      ) and process.parent.code_signature.trusted == true) and
 not (process.parent.name : "cmd.exe" and process.parent.args : "*\\Desktop\\*.bat " and process.args : "--profile-directory=Default") and
 not (process.parent.name == "chromedriver.exe" and process.args == "--test-type=webdriver") and
 not (process.parent.name == "gralvior-desktop.exe" and process.args == "https://google.com") and
 not (process.parent.name == "rundll32.exe" and process.parent.args == "C:\\windows\\System32\\SHELL32.dll,RunAsNewUser_RunDLL") and
 not (process.parent.code_signature.subject_name in ("AMARYLLIS SIGNAL LTD", "BLUE TAKIN LTD", "METROPOLITAN DESIGN LLC") and process.parent.code_signature.trusted == true)

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
process.argseq--profile-directory=Defaultexcludes:process.args field:"process.args" value:"--profile-directory=Default"
process.parent.argswildcard*\Desktop\*.bat excludes:process.parent.args field:"process.parent.args" value:"*\Desktop\*.bat "
process.parent.nameeqcmd.exeexcludes:process.parent.name field:"process.parent.name" value:"cmd.exe"
process.argseq--test-type=webdriverexcludes:process.args field:"process.args" value:"--test-type=webdriver"
process.parent.nameeqchromedriver.exeexcludes:process.parent.name field:"process.parent.name" value:"chromedriver.exe"
process.argseqhttps://google.comexcludes:process.args field:"process.args" value:"https://google.com"
process.parent.nameeqgralvior-desktop.exeexcludes:process.parent.name field:"process.parent.name" value:"gralvior-desktop.exe"
process.parent.argseqC:\windows\System32\SHELL32.dll,RunAsNewUser_RunDLLexcludes:process.parent.args field:"process.parent.args" value:"C:\windows\System32\SHELL32.dll,RunAsNewUser_RunDLL"
process.parent.nameeqrundll32.exeexcludes:process.parent.name field:"process.parent.name" value:"rundll32.exe"
process.parent.code_signature.subject_nameinAMARYLLIS SIGNAL LTD, BLUE TAKIN LTD, METROPOLITAN DESIGN LLCexcludes:process.parent.code_signature.subject_name field:"process.parent.code_signature.subject_name" value:"AMARYLLIS SIGNAL LTD" field:"process.parent.code_signature.subject_name" value:"BLUE TAKIN LTD" field:"process.parent.code_signature.subject_name" value:"METROPOLITAN DESIGN LLC"
process.parent.code_signature.trustedeqtrueexcludes:process.parent.code_signature.trusted field:"process.parent.code_signature.trusted" value:"true"
process.parent.code_signature.subject_nameinFactSet Research Systems Inc., Google LLC, Sound Research Corporationexcludes:process.parent.code_signature.subject_name field:"process.parent.code_signature.subject_name" value:"FactSet Research Systems Inc." field:"process.parent.code_signature.subject_name" value:"Google LLC" field:"process.parent.code_signature.subject_name" value:"Sound Research Corporation"
process.parent.executableinC:\Program Files (x86)\Google\Chrome\Application\chrome_proxy.exe, C:\Windows\System32\RuntimeBroker.exe, C:\Windows\System32\SECOCL64.exe, C:\Windows\System32\rdpinit.exe, C:\Windows\System32\sihost.exe, c:\Program Files (x86)\google\chrome\application\chrome.exe, c:\program files\google\chrome\application\chrome.exe, c:\program files\google\chrome\application\chrome_proxy.exe, c:\windows\explorer.exeexcludes:process.parent.executable
process.parent.executablewildcardC:\Windows\System32\DriverStore\FileRepository\seapo64.inf_*\SECOCL64.exe, C:\Program Files\OutSystems\Service Studio ??\Service Studio\ServiceStudio.exe, C:\Windows\System32\DriverStore\FileRepository\snapo64.inf_amd64_*\SNAPOS64.exe, C:\Program Files\WindowsApps\*.exeexcludes:process.parent.executable

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
event.typeeq
  • start corpus 1078 (elastic 1078)
field:"event.type" kind:eq value:"start"
process.argsin
  • --profile-directory="Default"
  • --profile-directory=Default
field:"process.args" kind:in
process.namewildcard
  • chrome.exe corpus 16 (elastic 14, splunk 2)
field:"process_name" kind:wildcard value:"chrome.exe"
process.parent.executableis_not_null
  • (no value, null check)
field:"ParentImage" kind:is_not_null