PowerShell Net.WebClient DownloadFile/DownloadString Usage (Classic)

Flags PowerShell Classic commands using Net.WebClient to download content via DownloadFile or DownloadString.

FreeReviewedSigma · Low · v2
Product
windows
Category
ps_classic_start
Author
Florian Roth (Nextron Systems) (SigmaHQ), DRL 1.1
Published
2017-03-05
Updated
2026-07-31
title: PowerShell Net.WebClient DownloadFile/DownloadString Usage (Classic)
id: 5439adb1-64fc-4ba6-86eb-df57032965df
related:
  - id: 65531a81-a694-4e31-ae04-f8ba5bc33759
    type: derived
  - id: 3236fcd0-b7e3-4433-b4f8-86ad61a9af2d
    type: derived
status: test
description: This rule identifies PowerShell classic execution that uses the Net.WebClient class to download content via the .DownloadFile() or .DownloadString() methods. Downloading external content is a common step attackers use to obtain additional payloads or stage follow-on activity. Telemetry relies on PowerShell start logs capturing the script content that includes Net.WebClient and the specific download method calls.
references:
  - https://www.trendmicro.com/en_us/research/22/j/lv-ransomware-exploits-proxyshell-in-attack.html
  - https://github.com/SigmaHQ/sigma/blob/master/rules/windows/powershell/powershell_classic/posh_pc_download_via_webclient.yml
author: Florian Roth (Nextron Systems), Huntrule Team
date: 2017-03-05
modified: 2026-04-28
tags:
  - attack.execution
  - attack.command-and-control
  - attack.t1059.001
  - attack.t1105
logsource:
  product: windows
  category: ps_classic_start
detection:
  selection_webclient:
    Data|contains: Net.WebClient
  selection_download:
    Data|contains:
      - .DownloadFile(
      - .DownloadString(
  condition: all of selection_*
falsepositives:
  - This activity may be used by legitimate software, such as patch management tools or software updaters. Investigate any such activity and apply the necessary filter.
level: low
license: DRL-1.1