Detection rules › Sigma

File Download From Browser Process Via Inline URL

Status
test
Severity
medium
Log source
product windows, category process_creation
Author
Florian Roth (Nextron Systems), Nasreddine Bencherchali (Nextron Systems)
Source
github.com/SigmaHQ/sigma

Detects execution of a browser process with a URL argument pointing to a file with a potentially interesting extension. This can be abused to download arbitrary files or to hide from the user for example by launching the browser in a minimized state.

MITRE ATT&CK coverage

TacticTechniques
Command & ControlT1105 Ingress Tool Transfer

Event coverage

Rule body yaml

title: File Download From Browser Process Via Inline URL
id: 94771a71-ba41-4b6e-a757-b531372eaab6
status: test
description: Detects execution of a browser process with a URL argument pointing to a file with a potentially interesting extension. This can be abused to download arbitrary files or to hide from the user for example by launching the browser in a minimized state.
references:
    - https://twitter.com/mrd0x/status/1478116126005641220
    - https://lolbas-project.github.io/lolbas/Binaries/Msedge/
author: Florian Roth (Nextron Systems), Nasreddine Bencherchali (Nextron Systems)
date: 2022-01-11
modified: 2025-10-27
tags:
    - attack.command-and-control
    - attack.t1105
logsource:
    category: process_creation
    product: windows
detection:
    selection_img:
        Image|endswith:
            - '\brave.exe'
            - '\chrome.exe'
            - '\msedge.exe'
            - '\opera.exe'
            - '\vivaldi.exe'
    selection_http:
        CommandLine|contains: 'http'
    selection_extensions:
        - CommandLine|endswith:
              - '.7z'
              - '.dat'
              - '.dll'
              - '.exe'
              - '.hta'
              - '.ps1'
              - '.psm1'
              - '.txt'
              - '.vbe'
              - '.vbs'
              - '.zip'
        - CommandLine|contains:
              - '.7z"'
              - '.dat"'
              - '.dll"'
              - '.hta"'
              - '.ps1"'
              - '.psm1"'
              - '.txt"'
              - '.vbe"'
              - '.vbs"'
              - '.zip"'
    condition: all of selection_*
falsepositives:
    - Unknown
level: medium
regression_tests_path: regression_data/rules/windows/process_creation/proc_creation_win_browsers_inline_file_download/info.yml

Stages and Predicates

Stage 0: condition

all of selection_*

Stage 1: selection_img

selection_img:
    Image|endswith:
        - '\brave.exe'
        - '\chrome.exe'
        - '\msedge.exe'
        - '\opera.exe'
        - '\vivaldi.exe'

Stage 2: selection_http

selection_http:
    CommandLine|contains: 'http'

Stage 3: selection_extensions

selection_extensions:
    - CommandLine|endswith:
          - '.7z'
          - '.dat'
          - '.dll'
          - '.exe'
          - '.hta'
          - '.ps1'
          - '.psm1'
          - '.txt'
          - '.vbe'
          - '.vbs'
          - '.zip'
    - CommandLine|contains:
          - '.7z"'
          - '.dat"'
          - '.dll"'
          - '.hta"'
          - '.ps1"'
          - '.psm1"'
          - '.txt"'
          - '.vbe"'
          - '.vbs"'
          - '.zip"'

Indicators

Each row is a field, operator, and value that the rule matches. The corpus column counts how many other rules in the catalog look for the same combination: high numbers point to widely-used, community-vetted indicators. Blank or 1 shows that the indicator is specific to this rule.

FieldKindValues
CommandLineends_with
  • .7z
  • .dat corpus 6 (sigma 6)
  • .dll corpus 7 (sigma 7)
  • .exe corpus 6 (sigma 6)
  • .hta corpus 6 (sigma 6)
  • .ps1 corpus 6 (sigma 6)
  • .psm1 corpus 5 (sigma 5)
  • .txt corpus 4 (sigma 4)
  • .vbe corpus 7 (sigma 7)
  • .vbs corpus 7 (sigma 7)
  • .zip corpus 2 (sigma 2)
CommandLinematch
  • .7z"
  • .dat"
  • .dll"
  • .hta"
  • .ps1"
  • .psm1"
  • .txt"
  • .vbe"
  • .vbs"
  • .zip"
  • http corpus 39 (sigma 34, elastic 2, chronicle 2, splunk 1)
Imageends_with
  • \brave.exe corpus 11 (sigma 11)
  • \chrome.exe corpus 13 (sigma 13)
  • \msedge.exe corpus 14 (sigma 14)
  • \opera.exe corpus 11 (sigma 11)
  • \vivaldi.exe corpus 11 (sigma 11)