cscli scenarios install sigmahq/proc_creation_win_curl_susp_download
1type: trigger2name: sigmahq/proc_creation_win_curl_susp_download3description: |4 Detects a suspicious curl process start on Windows and outputs the requested document to a local file5filter: |6 (evt.Meta.service == 'sysmon' && evt.Parsed.EventID == '1') && ((evt.Parsed.Image endsWith '\\curl.exe' || evt.Parsed.Product == 'The curl executable') && (evt.Parsed.CommandLine contains '%AppData%' || evt.Parsed.CommandLine contains '%Public%' || evt.Parsed.CommandLine contains '%Temp%' || evt.Parsed.CommandLine contains '%tmp%' || evt.Parsed.CommandLine contains '\\AppData\\' || evt.Parsed.CommandLine contains '\\Desktop\\' || evt.Parsed.CommandLine contains '\\Temp\\' || evt.Parsed.CommandLine contains '\\Users\\Public\\' || evt.Parsed.CommandLine contains 'C:\\PerfLogs\\' || evt.Parsed.CommandLine contains 'C:\\ProgramData\\' || evt.Parsed.CommandLine contains 'C:\\Windows\\Temp\\' || evt.Parsed.CommandLine endsWith '.dll' || evt.Parsed.CommandLine endsWith '.gif' || evt.Parsed.CommandLine endsWith '.jpeg' || evt.Parsed.CommandLine endsWith '.jpg' || evt.Parsed.CommandLine endsWith '.png' || evt.Parsed.CommandLine endsWith '.temp' || evt.Parsed.CommandLine endsWith '.tmp' || evt.Parsed.CommandLine endsWith '.txt' || evt.Parsed.CommandLine endsWith '.vbe' || evt.Parsed.CommandLine endsWith '.vbs') && not (evt.Parsed.ParentImage == 'C:\\Program Files\\Git\\usr\\bin\\sh.exe' && evt.Parsed.Image == 'C:\\Program Files\\Git\\mingw64\\bin\\curl.exe' && evt.Parsed.CommandLine contains '--silent --show-error --output ' && evt.Parsed.CommandLine contains 'gfw-httpget-' && evt.Parsed.CommandLine contains 'AppData'))7blackhole: 2m8#status: test9labels:10 service: windows11 confidence: 112 spoofable: 013 classification:14 - attack.t11051516 label: "Suspicious Curl.EXE Download"17 behavior : "windows:audit"18 remediation: false1920scope:21 type: ParentProcessId22 expression: evt.Parsed.ParentProcessId2324