← Back to SOC feed Coverage →

Linux Webshell Indicators

sigma HIGH SigmaHQ
T1505.003
imProcessCreate
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

Suspicious sub-processes spawned by web server processes may indicate the presence of a Linux webshell used for persistent command and control. SOC teams should proactively hunt for this behavior in Azure Sentinel to identify and mitigate potential webshell-based attacks before they lead to data exfiltration or system compromise.

Detection Rule

Sigma (Original)

title: Linux Webshell Indicators
id: 818f7b24-0fba-4c49-a073-8b755573b9c7
status: test
description: Detects suspicious sub processes of web server processes
references:
    - https://www.acunetix.com/blog/articles/web-shells-101-using-php-introduction-web-shells-part-2/
    - https://media.defense.gov/2020/Jun/09/2002313081/-1/-1/0/CSI-DETECT-AND-PREVENT-WEB-SHELL-MALWARE-20200422.PDF
author: Florian Roth (Nextron Systems), Nasreddine Bencherchali (Nextron Systems)
date: 2021-10-15
modified: 2022-12-28
tags:
    - attack.persistence
    - attack.t1505.003
logsource:
    product: linux
    category: process_creation
detection:
    selection_general:
        ParentImage|endswith:
            - '/httpd'
            - '/lighttpd'
            - '/nginx'
            - '/apache2'
            - '/node'
            - '/caddy'
    selection_tomcat:
        ParentCommandLine|contains|all:
            - '/bin/java'
            - 'tomcat'
    selection_websphere:  # ? just guessing
        ParentCommandLine|contains|all:
            - '/bin/java'
            - 'websphere'
    sub_processes:
        Image|endswith:
            - '/whoami'
            - '/ifconfig'
            - '/ip'
            - '/bin/uname'
            - '/bin/cat'
            - '/bin/crontab'
            - '/hostname'
            - '/iptables'
            - '/netstat'
            - '/pwd'
            - '/route'
    condition: 1 of selection_* and sub_processes
falsepositives:
    - Web applications that invoke Linux command line tools
level: high

KQL (Azure Sentinel)

imProcessCreate
| where (((ParentProcessName endswith "/httpd" or ParentProcessName endswith "/lighttpd" or ParentProcessName endswith "/nginx" or ParentProcessName endswith "/apache2" or ParentProcessName endswith "/node" or ParentProcessName endswith "/caddy") or (ActingProcessName endswith "/httpd" or ActingProcessName endswith "/lighttpd" or ActingProcessName endswith "/nginx" or ActingProcessName endswith "/apache2" or ActingProcessName endswith "/node" or ActingProcessName endswith "/caddy")) or (ActingProcessCommandLine contains "/bin/java" and ActingProcessCommandLine contains "tomcat") or (ActingProcessCommandLine contains "/bin/java" and ActingProcessCommandLine contains "websphere")) and (TargetProcessName endswith "/whoami" or TargetProcessName endswith "/ifconfig" or TargetProcessName endswith "/ip" or TargetProcessName endswith "/bin/uname" or TargetProcessName endswith "/bin/cat" or TargetProcessName endswith "/bin/crontab" or TargetProcessName endswith "/hostname" or TargetProcessName endswith "/iptables" or TargetProcessName endswith "/netstat" or TargetProcessName endswith "/pwd" or TargetProcessName endswith "/route")

False Positive Guidance

MITRE ATT&CK Context

Original source: https://github.com/SigmaHQ/sigma/blob/master/rules/linux/process_creation/proc_creation_lnx_webshell_detection.yml