Windows Process Creation: Web Request Cmdlets and CLI Tools Usage

Alerts on Windows CommandLine usage of web request cmdlets/tools like Invoke-WebRequest, Invoke-RestMethod, curl, wget, and BITS transfer.

FreeUnreviewedSigmamediumv1
title: "Windows Process Creation: Web Request Cmdlets and CLI Tools Usage"
id: b976f68d-4039-4ed6-9511-663ce9951e17
related:
  - id: 1139d2e2-84b1-4226-b445-354492eba8ba
    type: similar
  - id: f67dbfce-93bc-440d-86ad-a95ae8858c90
    type: obsolete
  - id: cd5c8085-4070-4e22-908d-a5b3342deb74
    type: obsolete
  - id: 6e897651-f157-4d8f-aaeb-df8151488385
    type: obsolete
  - id: 9fc51a3c-81b3-4fa7-b35f-7c02cf10fd2d
    type: derived
status: test
description: This rule flags Windows command-line activity that uses common web request mechanisms, including PowerShell cmdlets (and aliases) and command-line tools such as curl and wget. Such commands are frequently used to retrieve remote content and can support download-and-execute or staged payload delivery. It relies on process creation telemetry with full CommandLine content matching specific strings for these web request behaviors.
references:
  - https://4sysops.com/archives/use-powershell-to-download-a-file-with-http-https-and-ftp/
  - https://blog.jourdant.me/post/3-ways-to-download-files-with-powershell
  - https://learn.microsoft.com/en-us/powershell/module/bitstransfer/add-bitsfile?view=windowsserver2019-ps
  - https://github.com/SigmaHQ/sigma/blob/master/rules/windows/process_creation/proc_creation_win_susp_web_request_cmd_and_cmdlets.yml
author: James Pemberton / @4A616D6573, Endgame, JHasenbusch, oscd.community, Austin Songer @austinsonger, Huntrule Team
date: 2019-10-24
modified: 2025-10-20
tags:
  - attack.execution
  - attack.t1059.001
logsource:
  category: process_creation
  product: windows
detection:
  selection:
    CommandLine|contains:
      - "[System.Net.WebRequest]::create"
      - "curl "
      - Invoke-RestMethod
      - Invoke-WebRequest
      - " irm "
      - "iwr "
      - Resume-BitsTransfer
      - Start-BitsTransfer
      - "wget "
      - WinHttp.WinHttpRequest
  condition: selection
falsepositives:
  - Use of Get-Command and Get-Help modules to reference Invoke-WebRequest and Start-BitsTransfer.
level: medium
license: DRL-1.1

What it detects

This rule flags Windows command-line activity that uses common web request mechanisms, including PowerShell cmdlets (and aliases) and command-line tools such as curl and wget. Such commands are frequently used to retrieve remote content and can support download-and-execute or staged payload delivery. It relies on process creation telemetry with full CommandLine content matching specific strings for these web request behaviors.

Known false positives

  • Use of Get-Command and Get-Help modules to reference Invoke-WebRequest and Start-BitsTransfer.

Detection content is published as a reviewed draft. Tune thresholds and exclusions against your own telemetry before enabling this rule for alerting.