← Back to SOC feed Coverage →

Windows Webshell Strings

sigma HIGH SigmaHQ
T1505.003
imWebSession
This rule was pulled from an open-source repository and enriched with AI. Validate in a test environment before deploying to production.
View original rule at SigmaHQ →
Retrieved: 2026-03-25T02:50:08Z · Confidence: medium

Hunt Hypothesis

The detection identifies potential webshell activity by monitoring for known command strings associated with Windows-based webshells, which are commonly used by adversaries to execute arbitrary code and maintain persistent access. SOC teams should proactively hunt for this behavior in Azure Sentinel to detect and mitigate early-stage webshell-based attacks before they lead to data exfiltration or lateral movement.

Detection Rule

Sigma (Original)

title: Windows Webshell Strings
id: 7ff9db12-1b94-4a79-ba68-a2402c5d6729
status: test
description: Detects common commands used in Windows webshells
references:
    - https://bad-jubies.github.io/RCE-NOW-WHAT/
    - https://m365internals.com/2022/10/07/hunting-in-on-premises-exchange-server-logs/
author: Florian Roth (Nextron Systems), Nasreddine Bencherchali (Nextron Systems)
date: 2017-02-19
modified: 2022-11-18
tags:
    - attack.persistence
    - attack.t1505.003
logsource:
    category: webserver
detection:
    selection_method:
        cs-method: 'GET'
    selection_keywords:
        # The "%20" is URL encoded version of the space
        # The "%2B" is URL encoded version of the "+"
        - '=whoami'
        - '=net%20user'
        - '=net+user'
        - '=net%2Buser'
        - '=cmd%20/c%'
        - '=cmd+/c+'
        - '=cmd%2B/c%'
        - '=cmd%20/r%'
        - '=cmd+/r+'
        - '=cmd%2B/r%'
        - '=cmd%20/k%'
        - '=cmd+/k+'
        - '=cmd%2B/k%'
        - '=powershell%'
        - '=powershell+'
        - '=tasklist%'
        - '=tasklist+'
        - '=wmic%'
        - '=wmic+'
        - '=ssh%'
        - '=ssh+'
        - '=python%'
        - '=python+'
        - '=python3%'
        - '=python3+'
        - '=ipconfig'
        - '=wget%'
        - '=wget+'
        - '=curl%'
        - '=curl+'
        - '=certutil'
        - '=copy%20%5C%5C'
        - '=dsquery%'
        - '=dsquery+'
        - '=nltest%'
        - '=nltest+'
    condition: all of selection_*
falsepositives:
    - Web sites like wikis with articles on os commands and pages that include the os commands in the URLs
    - User searches in search boxes of the respective website
level: high

KQL (Azure Sentinel)

imWebSession
| where HttpRequestMethod =~ "GET" and ("=whoami" or "=net%20user" or "=net+user" or "=net%2Buser" or "=cmd%20/c%" or "=cmd+/c+" or "=cmd%2B/c%" or "=cmd%20/r%" or "=cmd+/r+" or "=cmd%2B/r%" or "=cmd%20/k%" or "=cmd+/k+" or "=cmd%2B/k%" or "=powershell%" or "=powershell+" or "=tasklist%" or "=tasklist+" or "=wmic%" or "=wmic+" or "=ssh%" or "=ssh+" or "=python%" or "=python+" or "=python3%" or "=python3+" or "=ipconfig" or "=wget%" or "=wget+" or "=curl%" or "=curl+" or "=certutil" or "=copy%20%5C%5C" or "=dsquery%" or "=dsquery+" or "=nltest%" or "=nltest+")

False Positive Guidance

MITRE ATT&CK Context

Original source: https://github.com/SigmaHQ/sigma/blob/master/rules/web/webserver_generic/web_win_webshells_in_access_logs.yml