Detection rules › Sigma

Suspicious File Download From IP Via Curl.EXE

Severity
high
Author
Nasreddine Bencherchali (Nextron Systems)
Source
upstream

Detects potentially suspicious file downloads directly from IP addresses using curl.exe

Event coverage

ProviderEvent IDTitle
Sysmon1Process creation

Stages and Predicates

Stage 1: all of selection_img

or:
Image|endswith: '\curl.exe'
OriginalFileName: curl.exe

Stage 2: all of selection_ip

CommandLine|re: '://[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}'

Stage 3: all of selection_http

CommandLine|contains: http

Stage 4: all of selection_flag

or:
CommandLine|contains: ' -O'
CommandLine|contains: --output
CommandLine|contains: --remote-name

Stage 5: all of selection_ext

or:
CommandLine|endswith: .bat
CommandLine|endswith: '.bat'''
CommandLine|endswith: '.bat"'
CommandLine|endswith: .dat
CommandLine|endswith: '.dat'''
CommandLine|endswith: '.dat"'
CommandLine|endswith: .dll
CommandLine|endswith: '.dll'''
CommandLine|endswith: '.dll"'
CommandLine|endswith: .exe
CommandLine|endswith: '.exe'''
CommandLine|endswith: '.exe"'
CommandLine|endswith: .gif
CommandLine|endswith: '.gif'''
CommandLine|endswith: '.gif"'
CommandLine|endswith: .hta
CommandLine|endswith: '.hta'''
CommandLine|endswith: '.hta"'
CommandLine|endswith: .jpeg
CommandLine|endswith: '.jpeg'''
CommandLine|endswith: '.jpeg"'
CommandLine|endswith: .log
CommandLine|endswith: '.log'''
CommandLine|endswith: '.log"'
CommandLine|endswith: .msi
CommandLine|endswith: '.msi'''
CommandLine|endswith: '.msi"'
CommandLine|endswith: .png
CommandLine|endswith: '.png'''
CommandLine|endswith: '.png"'
CommandLine|endswith: .ps1
CommandLine|endswith: '.ps1'''
CommandLine|endswith: '.ps1"'
CommandLine|endswith: .psm1
CommandLine|endswith: '.psm1'''
CommandLine|endswith: '.psm1"'
CommandLine|endswith: .vbe
CommandLine|endswith: '.vbe'''
CommandLine|endswith: '.vbe"'
CommandLine|endswith: .vbs
CommandLine|endswith: '.vbs'''
CommandLine|endswith: '.vbs"'

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
  • .bat corpus 5 (sigma 5)
  • .bat" corpus 5 (sigma 5)
  • .bat' corpus 5 (sigma 5)
  • .dat corpus 7 (sigma 7)
  • .dat" corpus 5 (sigma 5)
  • .dat' corpus 5 (sigma 5)
  • .dll corpus 9 (sigma 9)
  • .dll" corpus 6 (sigma 6)
  • .dll' corpus 6 (sigma 6)
  • .exe corpus 6 (sigma 6)
  • .exe" corpus 5 (sigma 5)
  • .exe' corpus 5 (sigma 5)
  • .gif corpus 4 (sigma 4)
  • .gif" corpus 2 (sigma 2)
  • .gif' corpus 2 (sigma 2)
  • .hta corpus 6 (sigma 6)
  • .hta" corpus 5 (sigma 5)
  • .hta' corpus 5 (sigma 5)
  • .jpeg corpus 4 (sigma 4)
  • .jpeg" corpus 2 (sigma 2)
  • .jpeg' corpus 2 (sigma 2)
  • .log corpus 3 (sigma 3)
  • .log" corpus 2 (sigma 2)
  • .log' corpus 2 (sigma 2)
  • .msi corpus 5 (sigma 5)
  • .msi" corpus 5 (sigma 5)
  • .msi' corpus 5 (sigma 5)
  • .png corpus 4 (sigma 4)
  • .png" corpus 2 (sigma 2)
  • .png' corpus 2 (sigma 2)
  • .ps1 corpus 6 (sigma 6)
  • .ps1" corpus 5 (sigma 5)
  • .ps1' corpus 5 (sigma 5)
  • .psm1 corpus 6 (sigma 6)
  • .psm1" corpus 5 (sigma 5)
  • .psm1' corpus 5 (sigma 5)
  • .vbe corpus 7 (sigma 7)
  • .vbe" corpus 5 (sigma 5)
  • .vbe' corpus 5 (sigma 5)
  • .vbs corpus 7 (sigma 7)
  • .vbs" corpus 5 (sigma 5)
  • .vbs' corpus 5 (sigma 5)
CommandLinematch
  • -O corpus 3 (sigma 3)
  • --output corpus 3 (sigma 3)
  • --remote-name corpus 3 (sigma 3)
  • http corpus 31 (sigma 31)
CommandLineregex_match
  • ://[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3} corpus 5 (sigma 5)
Imageends_with
  • \curl.exe corpus 19 (sigma 19)
OriginalFileNameeq
  • curl.exe corpus 11 (sigma 11)

Neighbors

Equivalent rules

1 other rule has the same matching logic as this one. Useful for cross-vendor comparison or picking the variant your stack supports. See eq_0006.