Detection rules › Sigma

Suspicious File Download From File Sharing Websites - File Stream

Status
test
Severity
high
Log source
product windows, category create_stream_hash
Author
Florian Roth (Nextron Systems)
Source
github.com/SigmaHQ/sigma

Detects the download of suspicious file type from a well-known file and paste sharing domain

MITRE ATT&CK coverage

Event coverage

ProviderEventTitle
SysmonEvent ID 15FileCreateStreamHash

Rule body yaml

title: Suspicious File Download From File Sharing Websites -  File Stream
id: 52182dfb-afb7-41db-b4bc-5336cb29b464
related:
    - id: ae02ed70-11aa-4a22-b397-c0d0e8f6ea99
      type: similar
status: test
description: Detects the download of suspicious file type from a well-known file and paste sharing domain
references:
    - https://www.ultimatewindowssecurity.com/securitylog/encyclopedia/event.aspx?eventid=90015
    - https://www.cisa.gov/uscert/ncas/alerts/aa22-321a
    - https://fabian-voith.de/2020/06/25/sysmon-v11-1-reads-alternate-data-streams/
    - https://www.microsoft.com/en-us/security/blog/2024/01/17/new-ttps-observed-in-mint-sandstorm-campaign-targeting-high-profile-individuals-at-universities-and-research-orgs/
author: Florian Roth (Nextron Systems)
date: 2022-08-24
modified: 2025-12-10
tags:
    - attack.stealth
    - attack.s0139
    - attack.t1564.004
logsource:
    product: windows
    category: create_stream_hash
detection:
    selection_domain:
        Contents|contains:
            - '.githubusercontent.com'       # Includes both gists and github repositories / Michael Haag (idea)
            - 'anonfiles.com'
            - 'cdn.discordapp.com'
            - 'ddns.net'
            - 'dl.dropboxusercontent.com'
            - 'ghostbin.co'
            - 'github.com'
            - 'glitch.me'
            - 'gofile.io'
            - 'hastebin.com'
            - 'mediafire.com'
            - 'mega.nz'
            - 'onrender.com'
            - 'pages.dev'
            - 'paste.ee'
            - 'pastebin.com'
            - 'pastebin.pl'
            - 'pastetext.net'
            - 'pixeldrain.com'
            - 'privatlab.com'
            - 'privatlab.net'
            - 'send.exploit.in'
            - 'sendspace.com'
            - 'storage.googleapis.com'
            - 'storjshare.io'
            - 'supabase.co'
            - 'temp.sh'
            - 'transfer.sh'
            - 'trycloudflare.com'
            - 'ufile.io'
            - 'w3spaces.com'
            - 'workers.dev'
    selection_extension:
        TargetFilename|contains:
            - '.cpl:Zone'
            - '.dll:Zone'
            - '.exe:Zone'
            - '.hta:Zone'
            - '.lnk:Zone'
            - '.one:Zone'
            - '.vbe:Zone'
            - '.vbs:Zone'
            - '.xll:Zone'
    condition: all of selection_*
falsepositives:
    - Some false positives might occur with binaries download via Github
level: high

Stages and Predicates

Stage 0: condition

all of selection_*

Stage 1: selection_domain

selection_domain:
    Contents|contains:
        - '.githubusercontent.com'
        - 'anonfiles.com'
        - 'cdn.discordapp.com'
        - 'ddns.net'
        - 'dl.dropboxusercontent.com'
        - 'ghostbin.co'
        - 'github.com'
        - 'glitch.me'
        - 'gofile.io'
        - 'hastebin.com'
        - 'mediafire.com'
        - 'mega.nz'
        - 'onrender.com'
        - 'pages.dev'
        - 'paste.ee'
        - 'pastebin.com'
        - 'pastebin.pl'
        - 'pastetext.net'
        - 'pixeldrain.com'
        - 'privatlab.com'
        - 'privatlab.net'
        - 'send.exploit.in'
        - 'sendspace.com'
        - 'storage.googleapis.com'
        - 'storjshare.io'
        - 'supabase.co'
        - 'temp.sh'
        - 'transfer.sh'
        - 'trycloudflare.com'
        - 'ufile.io'
        - 'w3spaces.com'
        - 'workers.dev'

Stage 2: selection_extension

selection_extension:
    TargetFilename|contains:
        - '.cpl:Zone'
        - '.dll:Zone'
        - '.exe:Zone'
        - '.hta:Zone'
        - '.lnk:Zone'
        - '.one:Zone'
        - '.vbe:Zone'
        - '.vbs:Zone'
        - '.xll:Zone'

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
Contentsmatch
  • .githubusercontent.com corpus 2 (sigma 2)
  • anonfiles.com corpus 2 (sigma 2)
  • cdn.discordapp.com corpus 2 (sigma 2)
  • ddns.net corpus 2 (sigma 2)
  • dl.dropboxusercontent.com corpus 2 (sigma 2)
  • ghostbin.co corpus 2 (sigma 2)
  • github.com corpus 2 (sigma 2)
  • glitch.me corpus 2 (sigma 2)
  • gofile.io corpus 2 (sigma 2)
  • hastebin.com corpus 2 (sigma 2)
  • mediafire.com corpus 2 (sigma 2)
  • mega.nz corpus 2 (sigma 2)
  • onrender.com corpus 2 (sigma 2)
  • pages.dev corpus 2 (sigma 2)
  • paste.ee corpus 2 (sigma 2)
  • pastebin.com corpus 2 (sigma 2)
  • pastebin.pl corpus 2 (sigma 2)
  • pastetext.net corpus 2 (sigma 2)
  • pixeldrain.com corpus 2 (sigma 2)
  • privatlab.com corpus 2 (sigma 2)
  • privatlab.net corpus 2 (sigma 2)
  • send.exploit.in corpus 2 (sigma 2)
  • sendspace.com corpus 2 (sigma 2)
  • storage.googleapis.com corpus 2 (sigma 2)
  • storjshare.io corpus 2 (sigma 2)
  • supabase.co corpus 2 (sigma 2)
  • temp.sh corpus 2 (sigma 2)
  • transfer.sh corpus 2 (sigma 2)
  • trycloudflare.com corpus 2 (sigma 2)
  • ufile.io corpus 2 (sigma 2)
  • w3spaces.com corpus 2 (sigma 2)
  • workers.dev corpus 2 (sigma 2)
TargetFilenamematch
  • .cpl:Zone
  • .dll:Zone corpus 3 (sigma 3)
  • .exe:Zone corpus 3 (sigma 3)
  • .hta:Zone corpus 3 (sigma 3)
  • .lnk:Zone corpus 2 (sigma 2)
  • .one:Zone corpus 2 (sigma 2)
  • .vbe:Zone corpus 3 (sigma 3)
  • .vbs:Zone corpus 3 (sigma 3)
  • .xll:Zone corpus 3 (sigma 3)