Detection rules › Elastic

Suspicious Web Server Child Process

Source
github.com/elastic/protections-artifacts

This rule detects when a web server spawns a suspicious child process. Attackers may exploit RCE or file upload vulnerabilities to spawn suspicious child processes on web servers to gain/maintain access and to establish a command and control channel.

MITRE ATT&CK coverage

Rule body

[rule]
description = """
This rule detects when a web server spawns a suspicious child process. Attackers may exploit RCE or file upload
vulnerabilities to spawn suspicious child processes on web servers to gain/maintain access and to establish a command
and control channel.
"""
id = "b4fff9bb-6095-4282-9084-217fced11ce7"
license = "Elastic License v2"
name = "Suspicious Web Server Child Process"
os_list = ["linux"]
version = "1.0.9"

query = '''
process where event.type == "start" and event.action == "exec" and (
  process.parent.name in (
    "nginx", "apache2", "httpd", "caddy", "mongrel_rails", "uwsgi", "daphne", "httpd.worker", "flask",
    "php-cgi", "php-fcgi", "php-cgi.cagefs", "lswsctrl", "varnishd", "uvicorn", "waitress-serve", "starman",
    "frankenphp", "asterisk", "sw-engine-fpm"
  ) or
  process.parent.name like ("php-fpm*", "gunicorn*", "*.cgi", "*.fcgi") or
  (process.parent.name like "ruby*" and process.parent.command_line like~ ("*puma*", "*rails*", "*passenger*")) or
  (process.parent.name like "python*" and process.parent.command_line like~ (
    "*hypercorn*", "*flask*", "*uvicorn*", "*django*", "*app.py*", "*server.py*", "*wsgi.py*", "*asgi.py*"
  )) or
  (process.parent.name like "perl*" and process.parent.command_line like~ "*plackup*") or
  (process.parent.name == "node" and process.parent.command_line like~ (
    "*next start*", "*--port*", "*PORT=*", "*HOST=*", "*0.0.0.0*", "*/dist/*.js*", "*/build/*.js*", "*/server/*.js*",
    "*/app/*.js*", "*/apps/*/*.js*", "*/index.js*", "*/main.js*", "*/srv/*", "*/opt/*", "*/var/www/*", "*n8n*"
    ) and
    not process.parent.args like (
      "/opt/cursor-agent/*", "/home/*/*", "/root/*", "/opt/vscode-server/*", "/usr/lib/node_modules/openclaw/dist/index.js",
      "/opt/yarn-*/bin/yarn.js"
    ) 
  ) or
  (process.parent.name == "java" and process.parent.args like~ (
    /* Tomcat */
    "org.apache.catalina.startup.Bootstrap", "-Dcatalina.base=*",

    /* Jetty */
    "org.eclipse.jetty.start.Main", "-Djetty.home=*",

    /* WildFly / JBoss */
    "org.jboss.modules.Main", "-Djboss.home.dir=*",

    /* WebLogic */
    "weblogic.Server", "-Dweblogic.Name=*", "*weblogic-launcher.jar*",

    /* WebSphere traditional + Liberty */
    "com.ibm.ws.runtime.WsServer", "com.ibm.ws.kernel.boot.cmdline.Bootstrap",

    /* GlassFish */
    "com.sun.enterprise.glassfish.bootstrap.ASMain",

    /* Resin */
    "com.caucho.server.resin.Resin",

    /* Spring Boot */
    "org.springframework.boot.loader.*",

    /* Quarkus */
    "*quarkus-run.jar*", "io.quarkus.runner.GeneratedMain",

    /* Micronaut */
    "io.micronaut.runtime.Micronaut",

    /* Dropwizard */
    "io.dropwizard.cli.ServerCommand",

    /* Play */
    "play.core.server.ProdServerStart",

    /* Helidon */
    "io.helidon.microprofile.server.Main", "io.helidon.webserver*",

    /* Vert.x */
    "io.vertx.core.Launcher",

    /* Keycloak */
    "org.keycloak*",

    /* Apereo CAS */
    "org.apereo.cas*",

    /* Elasticsearch */
    "org.elasticsearch.bootstrap.Elasticsearch",

    /* Atlassian / Gerrit */
    "com.atlassian.jira.startup.Launcher", "*BitbucketServerLauncher*", "com.google.gerrit.pgm.Daemon",

    /* Solr */
    "*-Dsolr.solr.home=*",

    /* Jenkins */
    "*jenkins.war*"
    )
  )
) and (
  (
    process.name like ("*.sh", "*.py", "*.lua", "*.pl", "*.rb", "*.bin") and
    process.executable like ("/dev/shm/*", "/tmp/*", "/var/tmp/*")
  ) or
  process.executable like ("/dev/shm/*", "/tmp/*", "/var/tmp/*", "./*") or
  process.name like (".*", "chpasswd") or
  (
    process.name in ("whoami", "id", "hostname", "uname", "ps", "netstat", "ss", "ip", "ifconfig") and
    process.interactive == true and process.parent.interactive == false
  ) or
  (
    process.name in ("nc", "ncat", "netcat", "netcat.openbsd", "netcat.traditional", "nc.openbsd", "nc.traditional") and (
      process.command_line regex ".*[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}.*" or
      process.command_line like "*http*"
    ) and
    not process.args in ("localhost", "127.0.0.1", "-z", "-zv", "-vz") 
  ) or
  (
    process.name == "socat" and
    process.command_line like~ ("*exec*", "*tty*", "*fork*", "*file*", "*open*") and
    process.command_line like~ ("*tcp*", "*udp*", "*openssl*")
  ) or
  (
    process.name == "openssl" and (
      process.command_line like ("*s_server*", "*s_client*") or
      (process.args == "enc" and process.args in ("-d", "-base64", "-a", "-A"))
    )
  ) or
  (
    process.name in ("wget", "curl") and
    (
      process.command_line regex ".*[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}(:[0-9]{1,5})?/.*" or
      process.command_line like ("*http*", "*ftp*")
    ) and
    (
      process.command_line regex~ """.*curl.* \-[a-zA-Z]*[oO]( .+|\-.*)?""" or
      process.command_line like~ ("*curl* --output*", "*curl* --remote-name*") or
      process.command_line regex~ """.*wget.* \-[a-zA-Z]*O.*""" or
      process.command_line like~ "*wget* --output-document*" or
      process.command_line like ("*|*sh*", "*|*python*", "*|*php*", "*|*perl*", "*|*ruby*", "*|*node*", "*|*lua*", "*|*busybox*") or
      process.command_line like ("*curl *>> /*", "*curl *>>/*", "*curl *> /*", "*curl *>/*", "*wget *>> /*", "*wget *>>/*", "*wget *> /*", "*wget *>/*")
    ) and
    not process.args == "/dev/null"
  ) or
  (
    process.name in ("base64", "basez", "base64plain", "base64url", "base64mime", "base64pem", "basenc", "base32", "base16") and
    process.args like~ "-*d*"
  ) or
  (
    process.name == "xxd" and process.args like~ ("-*r*", "-*p*")
  ) or
  (process.name == "sudo" and process.args == "-l") or
  (
    process.executable like ("/bin/chmod", "/usr/bin/chmod", "/usr/local/bin/chmod") and
    process.args like ("+x", "a+x", "0777", "755", "777", "0755", "700", "0700", "+s", "u+s", "g+s") and (
      process.args like ("/tmp/*", "/var/tmp/*", "/dev/shm/*", "/var/www/*", "~/*", "/home/*", "/run/*", "/var/run/*") or
      stringcontains(process.args, process.working_directory)
    )
  ) or
  (
    process.executable like ("/bin/cat", "/usr/bin/cat", "/usr/local/bin/cat") and (
      process.args like (
        "/etc/passwd", "/etc/shadow", "/etc/hostname", "/etc/hosts", "*ssh*", "/proc/self/environ",
        "*.env*", "*../../../*", "*/secrets/kubernetes.io/serviceaccount/*", "*/.docker/config.json*",
        "*/.npmrc*", "*.aws/credentials*", "*/.aws/config*"
      )
    )
  )
)
and not (
  process.parent.executable like "/tmp/*/.vscode-server/bin/*/node" or
  stringcontains(process.parent.executable, process.executable) or
  stringcontains(process.parent.args, process.executable) or
  (process.name == "echo" and process.parent.args in ("/usr/share/passenger/helper-scripts/rack-preloader.rb", "/etc/init.d/apache2")) or
  (process.parent.name == "ruby" and process.executable == "/etc/puppet/node.rb") or
  process.args like "/tmp/yarn*" or
  (process.name == "node" and process.parent.name == "ruby" and process.args like "/tmp/execjs*") or
  (process.parent.name == "httpd" and process.name == "perl" and process.args in ("/var/www/cgi-bin/metrics.cgi", "edittag.cgi", "plans.cgi")) or
  (process.parent.name == "apache2" and process.name == "perl" and process.args in ("/usr/lib/cgi-bin/LeaderBoardExtra.pl", "/usr/lib/cgi-bin/bibl/index_s.pl")) or
  (process.parent.name == "apache2" and process.name like "python*" and process.args in ("/opt/omnimesh/apache/cgi-bin/all-events-api-adaptor.cgi", "/usr/lib/cgi-bin/render/user-data.py")) or
  process.executable like ("/opt/iParapheur/common/bin/.convert.bin", "/tmp/.*/.vscode-server/bin/*/node_modules/@vscode/vsce-sign/bin/vsce-sign") or
  process.command_line in ("runc init", "ps h -eo pid,args") or
  (
    process.parent.name == "node" and 
    process.executable like ("./bin/dhcpd-pools", "/tmp/*/smoke-module/node_modules/@esbuild/linux-x64/bin/esbuild", "/tmp/.*/.cursor-server/*", "/var/tmp/buildah*")
  ) or
  (process.parent.executable == "/etc/zabbix/script/php-fpm/php-fpm-check.sh" and process.command_line like "*127.0.0.1:10061/php-fpm_status*") or 
  process.executable like (
    "/tmp/plz_sandbox/*", "/tmp/exiftool*", "/tmp/renovate/*", "/tmp/xfs*/yarn", "/tmp/newroot/usr/bin/ansible",
    "/tmp/chromedriver/*/chromedriver-linux64/chromedriver", "/tmp/temporal-sdk-typescript-*", "/tmp/newroot/var/snap/docker/common/var-lib-docker/rootfs/overlayfs/*/usr/local/bin/npm",
    "/tmp/newroot/*", "/tmp/temporal-test-server-sdk-typescript-*", "/tmp/.*/.vscode-server/cli/servers/Stable-*/server/node_modules/@vscode/vsce-sign/bin/vsce-sign",
    "/tmp/compiler-explorer-compiler*/output.s", "./Merge_DAT_files.sh", "./bin/pg_isready", "/usr/local/share/npm-global/lib/node_modules/opencode-ai/bin/.opencode",
    "/tmp/.npm-cache/_npx/*/node_modules/@esbuild/linux-x64/bin/esbuild", "/tmp/async-profiler/bin/asprof", "/tmp/snap.rootfs*", "/nix/store/*/bin/.wine",
    "/tmp/par-*/cache-exiftool-*/exiftool-*", "/tmp/vscode-komo/Stable-*/server/node_modules/@vscode/vsce-sign/bin/vsce-sign",
    "/tmp/*/node_modules/.pnpm/@esbuild*/node_modules/@esbuild/linux-x64/bin/esbuild",
    "/tmp/*/.pixi/envs/*/bin/*"
  ) or
  (
    process.parent.executable like ("/usr/local/openresty/nginx/sbin/nginx", "/u02/informatica/powercenter/*/java/bin/java") and
    process.name == "chmod" and
    process.args == "777"
  ) or
  (
    process.parent.executable like "/sashome/SASPrivateJavaRuntimeEnvironment/*/jre/bin/java" and
    process.args like (
      "/sasconfig/Lev1/Web/SASEnvironmentManager/server-*/hq-engine/hq-server/temp/pdknull/work/lib/sas-gridsgmg/*.jar",
      "/sasconfig/Lev1/Web/SASEnvironmentManager/server-*/hq-engine/hq-server/temp/pdknull/work/lib/*.jar"
    )
  ) or
  (
    process.parent.executable like ("/usr/lib/jvm/java-*-openjdk-amd64/bin/java", "/dm/sebsw/Java/jdk-*/bin/java", "/dm/sebsw/jdk*/bin/java") and
    process.args like ("http://*:48080/*/getfile/cy/out/*.gz", "https://ebookstore.*/getfile/cy/out/*.gz", "https://ebookstore.*/getfile/cy/out/*.uni")
  ) or
  (process.parent.name in ("httpd", "apache2") and process.command_line == "/bin/sh .php-fcgi-starter") or
  (process.parent.executable == "/usr/lib/jvm/default-java/bin/java" and process.command_line like "chmod 755 /tmp/tomcat8-tomcat8-tmp/sqlite-*-libsqlitejdbc.so") or
  (process.parent.executable like "/sashome/SASPrivateJavaRuntimeEnvironment/*/jre/bin/java" and process.name == "chmod" and process.args like "/sasconfig/Lev1/Web/SASEnvironmentManager/*") or
  (process.parent.executable like "/data/sashome/SASPrivateJavaRuntimeEnvironment/*/jre/bin/java" and process.args like "/data/sasconfig/Lev1/Web/SASEnvironmentManager/*/hq-engine/hq-server/temp/pdknull/work/lib/*.jar") or
  (process.parent.name == "node" and process.command_line == "sudo dpkg -l gzvaupdater") or
  (process.name == "chmod" and process.args like ("/opt/sas/config/*", "/data/sasconfig/*", "/usd/sas/soft/sas/config/*") and process.parent.name == "java") or 
  (process.parent.name == "node" and process.name == "chmod" and process.args like "/tmp/github-runner*") or
  (process.executable like "/tmp/passenger-install.*/PassengerAgent" and process.parent.name like "ruby*") or
  (process.parent.args == "/venv/bin/gunicorn" and process.executable like "./merged/var/lib/containers/storage/overlay/*/merged/*") or
  (process.parent.executable like "/usr/lib/jvm/java-*-temurin-jdk/bin/java" and process.name == "chmod" and process.args like "/data/tomcat*/webapps/GeneiousServer/*")
)
'''

min_endpoint_version = "8.2.0"
optional_actions = []
[[actions]]
action = "kill_process"
field = "process.entity_id"
state = 0

[[threat]]
framework = "MITRE ATT&CK"
[[threat.technique]]
id = "T1190"
name = "Exploit Public-Facing Application"
reference = "https://attack.mitre.org/techniques/T1190/"


[threat.tactic]
id = "TA0001"
name = "Initial Access"
reference = "https://attack.mitre.org/tactics/TA0001/"
[[threat]]
framework = "MITRE ATT&CK"
[[threat.technique]]
id = "T1059"
name = "Command and Scripting Interpreter"
reference = "https://attack.mitre.org/techniques/T1059/"
[[threat.technique.subtechnique]]
id = "T1059.004"
name = "Unix Shell"
reference = "https://attack.mitre.org/techniques/T1059/004/"



[threat.tactic]
id = "TA0002"
name = "Execution"
reference = "https://attack.mitre.org/tactics/TA0002/"
[[threat]]
framework = "MITRE ATT&CK"
[[threat.technique]]
id = "T1505"
name = "Server Software Component"
reference = "https://attack.mitre.org/techniques/T1505/"
[[threat.technique.subtechnique]]
id = "T1505.003"
name = "Web Shell"
reference = "https://attack.mitre.org/techniques/T1505/003/"



[threat.tactic]
id = "TA0003"
name = "Persistence"
reference = "https://attack.mitre.org/tactics/TA0003/"
[[threat]]
framework = "MITRE ATT&CK"
[[threat.technique]]
id = "T1210"
name = "Exploitation of Remote Services"
reference = "https://attack.mitre.org/techniques/T1210/"


[threat.tactic]
id = "TA0008"
name = "Lateral Movement"
reference = "https://attack.mitre.org/tactics/TA0008/"
[[threat]]
framework = "MITRE ATT&CK"
[[threat.technique]]
id = "T1071"
name = "Application Layer Protocol"
reference = "https://attack.mitre.org/techniques/T1071/"


[threat.tactic]
id = "TA0011"
name = "Command and Control"
reference = "https://attack.mitre.org/tactics/TA0011/"

[internal]
min_endpoint_version = "8.2.0"

Stages and Predicates

Stage 1: process

process where event.type == "start" and event.action == "exec" and (
  process.parent.name in (
    "nginx", "apache2", "httpd", "caddy", "mongrel_rails", "uwsgi", "daphne", "httpd.worker", "flask",
    "php-cgi", "php-fcgi", "php-cgi.cagefs", "lswsctrl", "varnishd", "uvicorn", "waitress-serve", "starman",
    "frankenphp", "asterisk", "sw-engine-fpm"
  ) or
  process.parent.name like ("php-fpm*", "gunicorn*", "*.cgi", "*.fcgi") or
  (process.parent.name like "ruby*" and process.parent.command_line like~ ("*puma*", "*rails*", "*passenger*")) or
  (process.parent.name like "python*" and process.parent.command_line like~ (
    "*hypercorn*", "*flask*", "*uvicorn*", "*django*", "*app.py*", "*server.py*", "*wsgi.py*", "*asgi.py*"
  )) or
  (process.parent.name like "perl*" and process.parent.command_line like~ "*plackup*") or
  (process.parent.name == "node" and process.parent.command_line like~ (
    "*next start*", "*--port*", "*PORT=*", "*HOST=*", "*0.0.0.0*", "*/dist/*.js*", "*/build/*.js*", "*/server/*.js*",
    "*/app/*.js*", "*/apps/*/*.js*", "*/index.js*", "*/main.js*", "*/srv/*", "*/opt/*", "*/var/www/*", "*n8n*"
    ) and
    not process.parent.args like (
      "/opt/cursor-agent/*", "/home/*/*", "/root/*", "/opt/vscode-server/*", "/usr/lib/node_modules/openclaw/dist/index.js",
      "/opt/yarn-*/bin/yarn.js"
    )
  ) or
  (process.parent.name == "java" and process.parent.args like~ (
    "org.apache.catalina.startup.Bootstrap", "-Dcatalina.base=*",
    "org.eclipse.jetty.start.Main", "-Djetty.home=*",
    "org.jboss.modules.Main", "-Djboss.home.dir=*",
    "weblogic.Server", "-Dweblogic.Name=*", "*weblogic-launcher.jar*",
    "com.ibm.ws.runtime.WsServer", "com.ibm.ws.kernel.boot.cmdline.Bootstrap",
    "com.sun.enterprise.glassfish.bootstrap.ASMain",
    "com.caucho.server.resin.Resin",
    "org.springframework.boot.loader.*",
    "*quarkus-run.jar*", "io.quarkus.runner.GeneratedMain",
    "io.micronaut.runtime.Micronaut",
    "io.dropwizard.cli.ServerCommand",
    "play.core.server.ProdServerStart",
    "io.helidon.microprofile.server.Main", "io.helidon.webserver*",
    "io.vertx.core.Launcher",
    "org.keycloak*",
    "org.apereo.cas*",
    "org.elasticsearch.bootstrap.Elasticsearch",
    "com.atlassian.jira.startup.Launcher", "*BitbucketServerLauncher*", "com.google.gerrit.pgm.Daemon",
    "*-Dsolr.solr.home=*",
    "*jenkins.war*"
    )
  )
) and (
  (
    process.name like ("*.sh", "*.py", "*.lua", "*.pl", "*.rb", "*.bin") and
    process.executable like ("/dev/shm/*", "/tmp/*", "/var/tmp/*")
  ) or
  process.executable like ("/dev/shm/*", "/tmp/*", "/var/tmp/*", "./*") or
  process.name like (".*", "chpasswd") or
  (
    process.name in ("whoami", "id", "hostname", "uname", "ps", "netstat", "ss", "ip", "ifconfig") and
    process.interactive == true and process.parent.interactive == false
  ) or
  (
    process.name in ("nc", "ncat", "netcat", "netcat.openbsd", "netcat.traditional", "nc.openbsd", "nc.traditional") and (
      process.command_line regex ".*[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}.*" or
      process.command_line like "*http*"
    ) and
    not process.args in ("localhost", "127.0.0.1", "-z", "-zv", "-vz")
  ) or
  (
    process.name == "socat" and
    process.command_line like~ ("*exec*", "*tty*", "*fork*", "*file*", "*open*") and
    process.command_line like~ ("*tcp*", "*udp*", "*openssl*")
  ) or
  (
    process.name == "openssl" and (
      process.command_line like ("*s_server*", "*s_client*") or
      (process.args == "enc" and process.args in ("-d", "-base64", "-a", "-A"))
    )
  ) or
  (
    process.name in ("wget", "curl") and
    (
      process.command_line regex ".*[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}(:[0-9]{1,5})?/.*" or
      process.command_line like ("*http*", "*ftp*")
    ) and
    (
      process.command_line regex~ """.*curl.* \-[a-zA-Z]*[oO]( .+|\-.*)?""" or
      process.command_line like~ ("*curl* --output*", "*curl* --remote-name*") or
      process.command_line regex~ """.*wget.* \-[a-zA-Z]*O.*""" or
      process.command_line like~ "*wget* --output-document*" or
      process.command_line like ("*|*sh*", "*|*python*", "*|*php*", "*|*perl*", "*|*ruby*", "*|*node*", "*|*lua*", "*|*busybox*") or
      process.command_line like ("*curl *>> /*", "*curl *>>/*", "*curl *> /*", "*curl *>/*", "*wget *>> /*", "*wget *>>/*", "*wget *> /*", "*wget *>/*")
    ) and
    not process.args == "/dev/null"
  ) or
  (
    process.name in ("base64", "basez", "base64plain", "base64url", "base64mime", "base64pem", "basenc", "base32", "base16") and
    process.args like~ "-*d*"
  ) or
  (
    process.name == "xxd" and process.args like~ ("-*r*", "-*p*")
  ) or
  (process.name == "sudo" and process.args == "-l") or
  (
    process.executable like ("/bin/chmod", "/usr/bin/chmod", "/usr/local/bin/chmod") and
    process.args like ("+x", "a+x", "0777", "755", "777", "0755", "700", "0700", "+s", "u+s", "g+s") and (
      process.args like ("/tmp/*", "/var/tmp/*", "/dev/shm/*", "/var/www/*", "~/*", "/home/*", "/run/*", "/var/run/*") or
      stringcontains(process.args, process.working_directory)
    )
  ) or
  (
    process.executable like ("/bin/cat", "/usr/bin/cat", "/usr/local/bin/cat") and (
      process.args like (
        "/etc/passwd", "/etc/shadow", "/etc/hostname", "/etc/hosts", "*ssh*", "/proc/self/environ",
        "*.env*", "*../../../*", "*/secrets/kubernetes.io/serviceaccount/*", "*/.docker/config.json*",
        "*/.npmrc*", "*.aws/credentials*", "*/.aws/config*"
      )
    )
  )
)
and not (
  process.parent.executable like "/tmp/*/.vscode-server/bin/*/node" or
  stringcontains(process.parent.executable, process.executable) or
  stringcontains(process.parent.args, process.executable) or
  (process.name == "echo" and process.parent.args in ("/usr/share/passenger/helper-scripts/rack-preloader.rb", "/etc/init.d/apache2")) or
  (process.parent.name == "ruby" and process.executable == "/etc/puppet/node.rb") or
  process.args like "/tmp/yarn*" or
  (process.name == "node" and process.parent.name == "ruby" and process.args like "/tmp/execjs*") or
  (process.parent.name == "httpd" and process.name == "perl" and process.args in ("/var/www/cgi-bin/metrics.cgi", "edittag.cgi", "plans.cgi")) or
  (process.parent.name == "apache2" and process.name == "perl" and process.args in ("/usr/lib/cgi-bin/LeaderBoardExtra.pl", "/usr/lib/cgi-bin/bibl/index_s.pl")) or
  (process.parent.name == "apache2" and process.name like "python*" and process.args in ("/opt/omnimesh/apache/cgi-bin/all-events-api-adaptor.cgi", "/usr/lib/cgi-bin/render/user-data.py")) or
  process.executable like ("/opt/iParapheur/common/bin/.convert.bin", "/tmp/.*/.vscode-server/bin/*/node_modules/@vscode/vsce-sign/bin/vsce-sign") or
  process.command_line in ("runc init", "ps h -eo pid,args") or
  (
    process.parent.name == "node" and
    process.executable like ("./bin/dhcpd-pools", "/tmp/*/smoke-module/node_modules/@esbuild/linux-x64/bin/esbuild", "/tmp/.*/.cursor-server/*", "/var/tmp/buildah*")
  ) or
  (process.parent.executable == "/etc/zabbix/script/php-fpm/php-fpm-check.sh" and process.command_line like "*127.0.0.1:10061/php-fpm_status*") or
  process.executable like (
    "/tmp/plz_sandbox/*", "/tmp/exiftool*", "/tmp/renovate/*", "/tmp/xfs*/yarn", "/tmp/newroot/usr/bin/ansible",
    "/tmp/chromedriver/*/chromedriver-linux64/chromedriver", "/tmp/temporal-sdk-typescript-*", "/tmp/newroot/var/snap/docker/common/var-lib-docker/rootfs/overlayfs/*/usr/local/bin/npm",
    "/tmp/newroot/*", "/tmp/temporal-test-server-sdk-typescript-*", "/tmp/.*/.vscode-server/cli/servers/Stable-*/server/node_modules/@vscode/vsce-sign/bin/vsce-sign",
    "/tmp/compiler-explorer-compiler*/output.s", "./Merge_DAT_files.sh", "./bin/pg_isready", "/usr/local/share/npm-global/lib/node_modules/opencode-ai/bin/.opencode",
    "/tmp/.npm-cache/_npx/*/node_modules/@esbuild/linux-x64/bin/esbuild", "/tmp/async-profiler/bin/asprof", "/tmp/snap.rootfs*", "/nix/store/*/bin/.wine",
    "/tmp/par-*/cache-exiftool-*/exiftool-*", "/tmp/vscode-komo/Stable-*/server/node_modules/@vscode/vsce-sign/bin/vsce-sign",
    "/tmp/*/node_modules/.pnpm/@esbuild*/node_modules/@esbuild/linux-x64/bin/esbuild",
    "/tmp/*/.pixi/envs/*/bin/*"
  ) or
  (
    process.parent.executable like ("/usr/local/openresty/nginx/sbin/nginx", "/u02/informatica/powercenter/*/java/bin/java") and
    process.name == "chmod" and
    process.args == "777"
  ) or
  (
    process.parent.executable like "/sashome/SASPrivateJavaRuntimeEnvironment/*/jre/bin/java" and
    process.args like (
      "/sasconfig/Lev1/Web/SASEnvironmentManager/server-*/hq-engine/hq-server/temp/pdknull/work/lib/sas-gridsgmg/*.jar",
      "/sasconfig/Lev1/Web/SASEnvironmentManager/server-*/hq-engine/hq-server/temp/pdknull/work/lib/*.jar"
    )
  ) or
  (
    process.parent.executable like ("/usr/lib/jvm/java-*-openjdk-amd64/bin/java", "/dm/sebsw/Java/jdk-*/bin/java", "/dm/sebsw/jdk*/bin/java") and
    process.args like ("http://*:48080/*/getfile/cy/out/*.gz", "https://ebookstore.*/getfile/cy/out/*.gz", "https://ebookstore.*/getfile/cy/out/*.uni")
  ) or
  (process.parent.name in ("httpd", "apache2") and process.command_line == "/bin/sh .php-fcgi-starter") or
  (process.parent.executable == "/usr/lib/jvm/default-java/bin/java" and process.command_line like "chmod 755 /tmp/tomcat8-tomcat8-tmp/sqlite-*-libsqlitejdbc.so") or
  (process.parent.executable like "/sashome/SASPrivateJavaRuntimeEnvironment/*/jre/bin/java" and process.name == "chmod" and process.args like "/sasconfig/Lev1/Web/SASEnvironmentManager/*") or
  (process.parent.executable like "/data/sashome/SASPrivateJavaRuntimeEnvironment/*/jre/bin/java" and process.args like "/data/sasconfig/Lev1/Web/SASEnvironmentManager/*/hq-engine/hq-server/temp/pdknull/work/lib/*.jar") or
  (process.parent.name == "node" and process.command_line == "sudo dpkg -l gzvaupdater") or
  (process.name == "chmod" and process.args like ("/opt/sas/config/*", "/data/sasconfig/*", "/usd/sas/soft/sas/config/*") and process.parent.name == "java") or
  (process.parent.name == "node" and process.name == "chmod" and process.args like "/tmp/github-runner*") or
  (process.executable like "/tmp/passenger-install.*/PassengerAgent" and process.parent.name like "ruby*") or
  (process.parent.args == "/venv/bin/gunicorn" and process.executable like "./merged/var/lib/containers/storage/overlay/*/merged/*") or
  (process.parent.executable like "/usr/lib/jvm/java-*-temurin-jdk/bin/java" and process.name == "chmod" and process.args like "/data/tomcat*/webapps/GeneiousServer/*")
)

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
process.argseq777excludes:process.args field:"process.args" value:"777"
process.nameeqchmodexcludes:process.name field:"process.name" value:"chmod"
process.parent.executablewildcard/usr/local/openresty/nginx/sbin/nginx, /u02/informatica/powercenter/*/java/bin/javaexcludes:process.parent.executable field:"process.parent.executable" value:"/usr/local/openresty/nginx/sbin/nginx" field:"process.parent.executable" value:"/u02/informatica/powercenter/*/java/bin/java"
process.argsin/opt/omnimesh/apache/cgi-bin/all-events-api-adaptor.cgi, /usr/lib/cgi-bin/render/user-data.pyexcludes:process.args field:"process.args" value:"/opt/omnimesh/apache/cgi-bin/all-events-api-adaptor.cgi" field:"process.args" value:"/usr/lib/cgi-bin/render/user-data.py"
process.namestarts_withpythonexcludes:process.name field:"process.name" value:"python"
process.parent.nameeqapache2excludes:process.parent.name field:"process.parent.name" value:"apache2"
process.argsin/usr/lib/cgi-bin/LeaderBoardExtra.pl, /usr/lib/cgi-bin/bibl/index_s.plexcludes:process.args field:"process.args" value:"/usr/lib/cgi-bin/LeaderBoardExtra.pl" field:"process.args" value:"/usr/lib/cgi-bin/bibl/index_s.pl"
process.nameeqperlexcludes:process.name field:"process.name" value:"perl"
process.argsin/var/www/cgi-bin/metrics.cgi, edittag.cgi, plans.cgiexcludes:process.args field:"process.args" value:"/var/www/cgi-bin/metrics.cgi" field:"process.args" value:"edittag.cgi" field:"process.args" value:"plans.cgi"
process.parent.nameeqhttpdexcludes:process.parent.name field:"process.parent.name" value:"httpd"
process.argsstarts_with/opt/sas/config/, /data/sasconfig/, /usd/sas/soft/sas/config/excludes:process.args field:"process.args" value:"/opt/sas/config/" field:"process.args" value:"/data/sasconfig/" field:"process.args" value:"/usd/sas/soft/sas/config/"
process.parent.nameeqjavaexcludes:process.parent.name field:"process.parent.name" value:"java"
process.argsstarts_with/sasconfig/Lev1/Web/SASEnvironmentManager/excludes:process.args field:"process.args" value:"/sasconfig/Lev1/Web/SASEnvironmentManager/"
process.parent.executablewildcard/sashome/SASPrivateJavaRuntimeEnvironment/*/jre/bin/javaexcludes:process.parent.executable field:"process.parent.executable" value:"/sashome/SASPrivateJavaRuntimeEnvironment/*/jre/bin/java"
process.argsstarts_with/tmp/execjsexcludes:process.args field:"process.args" value:"/tmp/execjs"
process.nameeqnodeexcludes:process.name field:"process.name" value:"node"
process.parent.nameeqrubyexcludes:process.parent.name field:"process.parent.name" value:"ruby"
process.argsstarts_with/tmp/github-runnerexcludes:process.args field:"process.args" value:"/tmp/github-runner"
process.parent.nameeqnodeexcludes:process.parent.name field:"process.parent.name" value:"node"
process.argswildcard/data/sasconfig/Lev1/Web/SASEnvironmentManager/*/hq-engine/hq-server/temp/pdknull/work/lib/*.jarexcludes:process.args field:"process.args" value:"/data/sasconfig/Lev1/Web/SASEnvironmentManager/*/hq-engine/hq-server/temp/pdknull/work/lib/*.jar"
process.parent.executablewildcard/data/sashome/SASPrivateJavaRuntimeEnvironment/*/jre/bin/javaexcludes:process.parent.executable field:"process.parent.executable" value:"/data/sashome/SASPrivateJavaRuntimeEnvironment/*/jre/bin/java"
process.argswildcard/data/tomcat*/webapps/GeneiousServer/*excludes:process.args field:"process.args" value:"/data/tomcat*/webapps/GeneiousServer/*"
process.parent.executablewildcard/usr/lib/jvm/java-*-temurin-jdk/bin/javaexcludes:process.parent.executable field:"process.parent.executable" value:"/usr/lib/jvm/java-*-temurin-jdk/bin/java"
process.argswildcard/sasconfig/Lev1/Web/SASEnvironmentManager/server-*/hq-engine/hq-server/temp/pdknull/work/lib/sas-gridsgmg/*.jar, /sasconfig/Lev1/Web/SASEnvironmentManager/server-*/hq-engine/hq-server/temp/pdknull/work/lib/*.jarexcludes:process.args field:"process.args" value:"/sasconfig/Lev1/Web/SASEnvironmentManager/server-*/hq-engine/hq-server/temp/pdknull/work/lib/sas-gridsgmg/*.jar" field:"process.args" value:"/sasconfig/Lev1/Web/SASEnvironmentManager/server-*/hq-engine/hq-server/temp/pdknull/work/lib/*.jar"
process.argswildcardhttp://*:48080/*/getfile/cy/out/*.gz, https://ebookstore.*/getfile/cy/out/*.gz, https://ebookstore.*/getfile/cy/out/*.uniexcludes:process.args field:"process.args" value:"http://*:48080/*/getfile/cy/out/*.gz" field:"process.args" value:"https://ebookstore.*/getfile/cy/out/*.gz" field:"process.args" value:"https://ebookstore.*/getfile/cy/out/*.uni"
process.parent.executablewildcard/usr/lib/jvm/java-*-openjdk-amd64/bin/java, /dm/sebsw/Java/jdk-*/bin/java, /dm/sebsw/jdk*/bin/javaexcludes:process.parent.executable field:"process.parent.executable" value:"/usr/lib/jvm/java-*-openjdk-amd64/bin/java" field:"process.parent.executable" value:"/dm/sebsw/Java/jdk-*/bin/java" field:"process.parent.executable" value:"/dm/sebsw/jdk*/bin/java"
process.command_lineeq/bin/sh .php-fcgi-starterexcludes:process.command_line field:"process.command_line" value:"/bin/sh .php-fcgi-starter"
process.parent.nameinapache2, httpdexcludes:process.parent.name field:"process.parent.name" value:"apache2" field:"process.parent.name" value:"httpd"
process.command_lineeqsudo dpkg -l gzvaupdaterexcludes:process.command_line field:"process.command_line" value:"sudo dpkg -l gzvaupdater"
process.command_linematch127.0.0.1:10061/php-fpm_statusexcludes:process.command_line field:"process.command_line" value:"127.0.0.1:10061/php-fpm_status"
process.parent.executableeq/etc/zabbix/script/php-fpm/php-fpm-check.shexcludes:process.parent.executable field:"process.parent.executable" value:"/etc/zabbix/script/php-fpm/php-fpm-check.sh"
process.command_linewildcardchmod 755 /tmp/tomcat8-tomcat8-tmp/sqlite-*-libsqlitejdbc.soexcludes:process.command_line field:"process.command_line" value:"chmod 755 /tmp/tomcat8-tomcat8-tmp/sqlite-*-libsqlitejdbc.so"
process.parent.executableeq/usr/lib/jvm/default-java/bin/javaexcludes:process.parent.executable field:"process.parent.executable" value:"/usr/lib/jvm/default-java/bin/java"
process.executableeq/etc/puppet/node.rbexcludes:process.executable field:"process.executable" value:"/etc/puppet/node.rb"
process.executablewildcard./bin/dhcpd-pools, /tmp/*/smoke-module/node_modules/@esbuild/linux-x64/bin/esbuild, /tmp/.*/.cursor-server/*, /var/tmp/buildah*excludes:process.executable
process.executablewildcard./merged/var/lib/containers/storage/overlay/*/merged/*excludes:process.executable field:"process.executable" value:"./merged/var/lib/containers/storage/overlay/*/merged/*"
process.parent.argseq/venv/bin/gunicornexcludes:process.parent.args field:"process.parent.args" value:"/venv/bin/gunicorn"
process.executablewildcard/tmp/passenger-install.*/PassengerAgentexcludes:process.executable field:"process.executable" value:"/tmp/passenger-install.*/PassengerAgent"
process.parent.namestarts_withrubyexcludes:process.parent.name field:"process.parent.name" value:"ruby"
process.nameeqechoexcludes:process.name field:"process.name" value:"echo"
process.parent.argsin/etc/init.d/apache2, /usr/share/passenger/helper-scripts/rack-preloader.rbexcludes:process.parent.args field:"process.parent.args" value:"/etc/init.d/apache2" field:"process.parent.args" value:"/usr/share/passenger/helper-scripts/rack-preloader.rb"
process.argsstarts_with/tmp/yarnexcludes:process.args field:"process.args" value:"/tmp/yarn"
process.command_lineinps h -eo pid,args, runc initexcludes:process.command_line field:"process.command_line" value:"ps h -eo pid,args" field:"process.command_line" value:"runc init"
process.executablewildcard/opt/iParapheur/common/bin/.convert.bin, /tmp/.*/.vscode-server/bin/*/node_modules/@vscode/vsce-sign/bin/vsce-signexcludes:process.executable field:"process.executable" value:"/opt/iParapheur/common/bin/.convert.bin" field:"process.executable" value:"/tmp/.*/.vscode-server/bin/*/node_modules/@vscode/vsce-sign/bin/vsce-sign"
process.executablewildcard/tmp/plz_sandbox/*, /tmp/exiftool*, /tmp/renovate/*, /tmp/xfs*/yarn, /tmp/newroot/usr/bin/ansible, /tmp/chromedriver/*/chromedriver-linux64/chromedriver, /tmp/temporal-sdk-typescript-*, /tmp/newroot/var/snap/docker/common/var-lib-docker/rootfs/overlayfs/*/usr/local/bin/npm, /tmp/newroot/*, /tmp/temporal-test-server-sdk-typescript-*, /tmp/.*/.vscode-server/cli/servers/Stable-*/server/node_modules/@vscode/vsce-sign/bin/vsce-sign, /tmp/compiler-explorer-compiler*/output.s, ./Merge_DAT_files.sh, ./bin/pg_isready, /usr/local/share/npm-global/lib/node_modules/opencode-ai/bin/.opencode, /tmp/.npm-cache/_npx/*/node_modules/@esbuild/linux-x64/bin/esbuild, /tmp/async-profiler/bin/asprof, /tmp/snap.rootfs*, /nix/store/*/bin/.wine, /tmp/par-*/cache-exiftool-*/exiftool-*, /tmp/vscode-komo/Stable-*/server/node_modules/@vscode/vsce-sign/bin/vsce-sign, /tmp/*/node_modules/.pnpm/@esbuild*/node_modules/@esbuild/linux-x64/bin/esbuild, /tmp/*/.pixi/envs/*/bin/*excludes:process.executable
process.parent.argscontainsprocess.executableexcludes:process.parent.args field:"process.parent.args" value:"process.executable"
process.parent.executablecontainsprocess.executableexcludes:process.parent.executable field:"process.parent.executable" value:"process.executable"
process.parent.executablewildcard/tmp/*/.vscode-server/bin/*/nodeexcludes:process.parent.executable field:"process.parent.executable" value:"/tmp/*/.vscode-server/bin/*/node"

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
event.actioneq
  • exec
field:"EventType" kind:eq value:"exec"
event.typeeq
  • start
field:"event.type" kind:eq value:"start"
process.argscontains
  • process.working_directory (field reference)
field:"process.args" kind:contains value:"process.working_directory"
process.argseq
  • -l
  • enc
field:"process.args" kind:eq
process.argsin
  • -A
  • -a
  • -base64
  • -d
field:"process.args" kind:in
process.argswildcard
  • *../../../*
  • *.aws/credentials*
  • *.env*
  • */.aws/config*
  • */.docker/config.json*
  • */.npmrc*
  • */secrets/kubernetes.io/serviceaccount/*
  • *ssh*
  • +s
  • +x
  • -*d*
  • -*p*
  • -*r*
  • /dev/shm/*
  • /etc/hostname
  • /etc/hosts
  • /etc/passwd
  • /etc/shadow
  • /home/*
  • /proc/self/environ
  • /run/*
  • /tmp/*
  • /var/run/*
  • /var/tmp/*
  • /var/www/*
  • 0700
  • 0755
  • 0777
  • 700
  • 755
  • 777
  • a+x
  • g+s
  • u+s
  • ~/*
field:"process.args" kind:wildcard
process.command_lineregex_match
  • .*[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}(:[0-9]{1,5})?/.*
  • .*[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.*
  • .*curl.* \-[a-zA-Z]*[oO]( .+|\-.*)?
  • .*wget.* \-[a-zA-Z]*O.*
field:"CommandLine" kind:regex_match
process.command_linewildcard
  • *curl *> /*
  • *curl *>/*
  • *curl *>> /*
  • *curl *>>/*
  • *curl* --output*
  • *curl* --remote-name*
  • *exec*
  • *file*
  • *fork*
  • *ftp*
  • *http*
  • *open*
  • *openssl*
  • *s_client*
  • *s_server*
  • *tcp*
  • *tty*
  • *udp*
  • *wget *> /*
  • *wget *>/*
  • *wget *>> /*
  • *wget *>>/*
  • *wget* --output-document*
  • *|*busybox*
  • *|*lua*
  • *|*node*
  • *|*perl*
  • *|*php*
  • *|*python*
  • *|*ruby*
  • *|*sh*
field:"CommandLine" kind:wildcard
process.executablewildcard
  • ./*
  • /bin/cat
  • /bin/chmod
  • /dev/shm/*
  • /tmp/*
  • /usr/bin/cat
  • /usr/bin/chmod
  • /usr/local/bin/cat
  • /usr/local/bin/chmod
  • /var/tmp/*
field:"Image" kind:wildcard
process.interactiveeq
  • true transforms: boolean
field:"process.interactive" kind:eq value:"true"
process.nameeq
  • openssl
  • socat
  • sudo
  • xxd
field:"process_name" kind:eq
process.namein
  • base16
  • base32
  • base64
  • base64mime
  • base64pem
  • base64plain
  • base64url
  • basenc
  • basez
  • curl
  • hostname
  • id
  • ifconfig
  • ip
  • nc
  • nc.openbsd
  • nc.traditional
  • ncat
  • netcat
  • netcat.openbsd
  • netcat.traditional
  • netstat
  • ps
  • ss
  • uname
  • wget
  • whoami
field:"process_name" kind:in
process.namewildcard
  • *.bin
  • *.lua
  • *.pl
  • *.py
  • *.rb
  • *.sh
  • .*
  • chpasswd
field:"process_name" kind:wildcard
process.parent.argswildcard
  • *-Dsolr.solr.home=*
  • *BitbucketServerLauncher*
  • *jenkins.war*
  • *quarkus-run.jar*
  • *weblogic-launcher.jar*
  • -Dcatalina.base=*
  • -Djboss.home.dir=*
  • -Djetty.home=*
  • -Dweblogic.Name=*
  • com.atlassian.jira.startup.Launcher
  • com.caucho.server.resin.Resin
  • com.google.gerrit.pgm.Daemon
  • com.ibm.ws.kernel.boot.cmdline.Bootstrap
  • com.ibm.ws.runtime.WsServer
  • com.sun.enterprise.glassfish.bootstrap.ASMain
  • io.dropwizard.cli.ServerCommand
  • io.helidon.microprofile.server.Main
  • io.helidon.webserver*
  • io.micronaut.runtime.Micronaut
  • io.quarkus.runner.GeneratedMain
  • io.vertx.core.Launcher
  • org.apache.catalina.startup.Bootstrap
  • org.apereo.cas*
  • org.eclipse.jetty.start.Main
  • org.elasticsearch.bootstrap.Elasticsearch
  • org.jboss.modules.Main
  • org.keycloak*
  • org.springframework.boot.loader.*
  • play.core.server.ProdServerStart
  • weblogic.Server
field:"process.parent.args" kind:wildcard
process.parent.command_linewildcard
  • *--port*
  • */app/*.js*
  • */apps/*/*.js*
  • */build/*.js*
  • */dist/*.js*
  • */index.js*
  • */main.js*
  • */opt/*
  • */server/*.js*
  • */srv/*
  • */var/www/*
  • *0.0.0.0*
  • *HOST=*
  • *PORT=*
  • *app.py*
  • *asgi.py*
  • *django*
  • *flask*
  • *hypercorn*
  • *n8n*
  • *next start*
  • *passenger*
  • *plackup*
  • *puma*
  • *rails*
  • *server.py*
  • *uvicorn*
  • *wsgi.py*
field:"ParentCommandLine" kind:wildcard
process.parent.interactiveeq
  • false transforms: boolean
field:"process.parent.interactive" kind:eq value:"false"
process.parent.nameeq
  • java
  • node
field:"parent_process_name" kind:eq
process.parent.namein
  • apache2
  • asterisk
  • caddy
  • daphne
  • flask
  • frankenphp
  • httpd
  • httpd.worker
  • lswsctrl
  • mongrel_rails
  • nginx
  • php-cgi
  • php-cgi.cagefs
  • php-fcgi
  • starman
  • sw-engine-fpm
  • uvicorn
  • uwsgi
  • varnishd
  • waitress-serve
field:"parent_process_name" kind:in
process.parent.namewildcard
  • *.cgi
  • *.fcgi
  • gunicorn*
  • perl*
  • php-fpm*
  • python*
  • ruby*
field:"parent_process_name" kind:wildcard