Detections

Explore public detection logic contributed by the community across SIEM and rule languages.

36 detections

Detects creation of a PHP file under a WordPress wp-content/cache directory attributed either to the mysqld process or to a web-server process (apache2) whose command line contains an INTO OUTFILE-style SQL pattern. In the wp2shell exploit chain, SQL injection reaching author__not_in can be abused to write a webshell via SQL INTO OUTFILE directly into wp-content/cache instead of the plugin-install path, bypassing plugin-directory-focused detections. Requiring database-process or INTO OUTFILE attribution reduces false positives from legitimate caching plugins that generate PHP cache files under this same directory.
avatar
Duo Tech@duotech
avatar
Detections.ai Community
3 months ago
2010
Detects PHP files and their containing directories that follow the wp2shell_<hex> naming convention under WordPress wp-content subdirectories (plugins/upgrade/uploads), as dropped by the wp2shell WordPress Core RCE chain (CVE-2026-63030 / CVE-2026-60137). Requires the strict wp-content/<plugins|upgrade|uploads>/...wp2shell_<8-hex> path structure rather than any new plugin directory creation, to avoid flagging legitimate plugin installs. Correlate with process-creation telemetry confirming a web-server process (e.g. apache2) as the creator of the matched path.
avatar
Duo Tech@duotech
avatar
Detections.ai Community
3 months ago
309
Detects creation of PHP web shell files or plugin directories under WordPress wp-content/plugins using the wp2shell_<hex> naming convention, associated with the wp2shell WordPress Core RCE exploitation chain.
avatar
Duo Tech@duotech
avatar
Detections.ai Community
3 months ago
207
Detects creation of PHP web shell files or plugin directories under WordPress wp-content/plugins using the wp2shell_<hex> naming convention, associated with the wp2shell WordPress Core RCE exploitation chain.
avatar
Duo Tech@duotech
avatar
Detections.ai Community
3 months ago
207
Detects the wp2shell post-exploitation cleanup pattern where a shell spawned by a web server process determines its current working directory, matches it against a wp-content/plugins path using the specific `case "$d" in */wp-content/plugins/*) cd / && rm -rf "$d";; esac` one-liner shape, and recursively deletes that directory to remove the deployed web shell plugin. This is tightened to require the exact case-statement/one-liner construction executed by a shell that is a child of a web server process, rather than any generic recursive delete under wp-content/plugins, which would also fire on legitimate WordPress plugin uninstall hooks that remove their own plugin directory. Absence of the plugin directory afterward should not be treated as evidence the host is clean.
avatar
Duo Tech@duotech
avatar
Detections.ai Community
3 months ago
006
Detects creation of PHP web shell files or plugin directories under WordPress wp-content/plugins using the wp2shell_<hex> naming convention, associated with the wp2shell WordPress Core RCE exploitation chain.
avatar
Duo Tech@duotech
avatar
Detections.ai Community
3 months ago
106
Detects a rapid sequence of blind boolean SQL injection probes against the author_exclude parameter using ASCII/SUBSTRING syntax and the X-WP-Total header oracle (CVE-2026-60137).
avatar
Duo Tech@duotech
avatar
Detections.ai Community
3 months ago
006
Detects a POST to the WordPress REST API batch endpoint whose request body embeds a nested /wp/v2/users call granting the administrator role, consistent with the wp2shell exploit chain where a forged customize_changeset/parse_request replay temporarily assumes an existing admin's identity to pass current_user_can('create_users') and create a new administrator account without any preceding authenticated login. To reduce false positives from legitimate onboarding of administrator accounts, this rule now requires either the absence of an authenticated WordPress session cookie on the request, or a newly created username matching the randomized/generated wp2shell naming pattern (wp2_*, w2s_*).
avatar
Duo Tech@duotech
avatar
Detections.ai Community
3 months ago
005
Detects discovery and SUID/SGID enumeration commands (whoami, hostname, id, uname, cat /etc/passwd, find -perm) executed by a shell spawned from a WordPress plugins directory by a web server process.
avatar
Duo Tech@duotech
avatar
Detections.ai Community
3 months ago
005
Detects a WordPress admin plugin ZIP upload to wp-admin/update.php?action=upload-plugin only when correlated with high-risk context: the observed wp2shell_ plugin naming convention, evidence of a just-created/unfamiliar administrator account (wp-admin/user-new.php activity in the same capture), or the upload occurring immediately after REST API batch-route/SQLi anomalies (wp-json/batch/v1, author__not_in) tied to CVE-2026-63030 and CVE-2026-60137. Routine plugin uploads by established administrators without these correlating indicators are excluded.
avatar
Duo Tech@duotech
avatar
Detections.ai Community
3 months ago
105
Detects the wp2shell post-exploitation cleanup pattern where a shell spawned by a web server process determines its current working directory, matches it against a wp-content/plugins path using the specific `case "$d" in */wp-content/plugins/*) cd / && rm -rf "$d";; esac` one-liner shape, and recursively deletes that directory to remove the deployed web shell plugin. This is tightened to require the exact case-statement/one-liner construction executed by a shell that is a child of a web server process, rather than any generic recursive delete under wp-content/plugins, which would also fire on legitimate WordPress plugin uninstall hooks that remove their own plugin directory. Absence of the plugin directory afterward should not be treated as evidence the host is clean.
avatar
Duo Tech@duotech
avatar
Detections.ai Community
3 months ago
104
Detects a WordPress-context web server process spawning a non-shell interpreter or downloader (curl|bash, python -c, wget/curl via sh -c) to retrieve second-stage tooling post-exploitation.
avatar
Duo Tech@duotech
avatar
Detections.ai Community
3 months ago
004
Detects a POST to the WordPress REST API batch endpoint whose request body embeds a nested /wp/v2/users call granting the administrator role, consistent with the wp2shell exploit chain where a forged customize_changeset/parse_request replay temporarily assumes an existing admin's identity to pass current_user_can('create_users') and create a new administrator account without any preceding authenticated login. To reduce false positives from legitimate onboarding of administrator accounts, this rule now requires either the absence of an authenticated WordPress session cookie on the request, or a newly created username matching the randomized/generated wp2shell naming pattern (wp2_*, w2s_*).
avatar
Duo Tech@duotech
avatar
Detections.ai Community
3 months ago
004
Detects [embed] shortcode content submitted to WordPress that references invalid or anonymous local post IDs, used in the wp2shell chain to forge oEmbed cache database rows as a render-time write primitive.
avatar
Duo Tech@duotech
avatar
Detections.ai Community
3 months ago
004
Detects [embed] shortcode content submitted to WordPress that references invalid or anonymous local post IDs, used in the wp2shell chain to forge oEmbed cache database rows as a render-time write primitive.
avatar
Duo Tech@duotech
avatar
Detections.ai Community
3 months ago
004
Detects the ZIP archive staged during the wp2shell WordPress RCE chain, identified by the embedded 'wp2shell_<hex>' directory/file naming convention later unpacked under wp-content/upgrade/ and renamed into wp-content/plugins/. Static content matching cannot distinguish a legitimate wp-admin authenticated plugin/theme upload from an attacker-staged payload landing in wp-content/uploads/ -- this rule enforces a fullword, exact 8-hex-character wp2shell_<hex> naming match and MUST be correlated with EDR/process telemetry confirming the ZIP was created by the web-server process (e.g. apache2/php-fpm) outside of an authenticated wp-admin upload session before triggering high-confidence alerting.
avatar
Duo Tech@duotech
avatar
Detections.ai Community
3 months ago
104
Detects the WordPress REST API batch-route confusion technique (CVE-2026-63030) via a malformed nested sub-request path combined with the co-occurring parse_path_failed/block_cannot_read/rest_batch_not_allowed error marker pattern.
avatar
Duo Tech@duotech
avatar
Detections.ai Community
3 months ago
004
Detects the wp2shell post-exploitation cleanup pattern where a shell spawned by a web server process determines its current working directory, matches it against a wp-content/plugins path using the specific `case "$d" in */wp-content/plugins/*) cd / && rm -rf "$d";; esac` one-liner shape, and recursively deletes that directory to remove the deployed web shell plugin. This is tightened to require the exact case-statement/one-liner construction executed by a shell that is a child of a web server process, rather than any generic recursive delete under wp-content/plugins, which would also fire on legitimate WordPress plugin uninstall hooks that remove their own plugin directory. Absence of the plugin directory afterward should not be treated as evidence the host is clean.
avatar
Duo Tech@duotech
avatar
Detections.ai Community
3 months ago
203
Detects a POST to the WordPress REST API batch endpoint whose request body embeds a nested /wp/v2/users call granting the administrator role, consistent with the wp2shell exploit chain where a forged customize_changeset/parse_request replay temporarily assumes an existing admin's identity to pass current_user_can('create_users') and create a new administrator account without any preceding authenticated login. To reduce false positives from legitimate onboarding of administrator accounts, this rule now requires either the absence of an authenticated WordPress session cookie on the request, or a newly created username matching the randomized/generated wp2shell naming pattern (wp2_*, w2s_*).
avatar
Duo Tech@duotech
avatar
Detections.ai Community
3 months ago
003
Detects a web server process (apache2/httpd/nginx/php-fpm) spawning a shell interpreter from a WordPress wp-content working directory, the durable behavioral signature of successful wp2shell exploitation regardless of entry vector.
avatar
Duo Tech@duotech
avatar
Detections.ai Community
3 months ago
103
Detects a web server process (apache2/httpd/nginx/php-fpm) spawning a shell interpreter from a WordPress wp-content working directory, the durable behavioral signature of successful wp2shell exploitation regardless of entry vector.
avatar
Duo Tech@duotech
avatar
Detections.ai Community
3 months ago
103
Page 1 of 2